NOTE: UI is always a pain in the @#$@%@ to get right. It’s not uncommon to realize you went down a dead end and have to redo a lot of stuff, especially when just starting out.
Here’s some UI setup notes, including how to make it work with many different sized / shaped screens:
Here are the official docs on how to make your UI handle various resolutions and aspect ratios cleanly:
Here are some notes on UI Anchoring, Scaling, CanvasScaler, etc:
Usually you need to choose a suitable ScaleMode and MatchMode in the Canvas Scaler and stick with it 100%. Generally if you change those settings you will often need to redo your UI entirely.
I also use this CanvasScalerOrientationDriver utility to make sharing UI for Landscape / Portrait easier. Read what it does carefully.