Hey, I made a video about small video games and decided to include your game into it. I enjoyed playing it. I had some difficulties there, though. For example, the character usually did not want to jump; nothing told me that I could shoot; I could not see what was below me; UI elements were positioned in unusual/uncomfortable spots. This message is just feedback to improve. I am not complaining. I still enjoyed playing your game. If you want me to cut your game from the video, let me know. However, I still hope that you like it because I make such videos every day. I will be pleased if you subscribe.
Viewing post in Think It jam comments
Some solutions to UI scaling problems:
You can anchor UI elements to its borders or get the UNITY AUTOMATIC UI ANCHORING plugin to fix UI problems.
Additionally, Unity has an option to let people choose the resolution before starting. It has to be somewhere in the project management section, so I would prefer the resolution you planned players to use. To test UI scaling, you can change aspect ratios during the play mode in the Unity Editor.
I personally use this C# code to fix my anchors through the code:
rectTransform = objectDragInstance.GetComponent<RectTransform>(); RectTransform parentRectTransform = null; if (rectTransform.transform.parent) parentRectTransform = rectTransform.transform.parent.GetComponent<RectTransform>(); if (!parentRectTransform) return; Undo.RecordObject(rectTransform, "Anchor UI Object"); Rect parentRect = parentRectTransform.rect; rectTransform.anchorMin = new Vector2(rectTransform.anchorMin.x + (rectTransform.offsetMin.x / parentRect.width), rectTransform.anchorMin.y + (rectTransform.offsetMin.y / parentRect.height)); rectTransform.anchorMax = new Vector2(rectTransform.anchorMax.x + (rectTransform.offsetMax.x / parentRect.width), rectTransform.anchorMax.y + (rectTransform.offsetMax.y / parentRect.height)); rectTransform.offsetMin = Vector2.zero; rectTransform.offsetMax = Vector2.zero; rectTransform.pivot = new Vector2(0.5f, 0.5f); rectTransform.pivot = new Vector2(0.5f, 0.5f);