Quick answer: Canvas Scaler → UI Scale Mode = Scale With Screen Size. Reference Resolution = your design size. Match = 0.5.

UI looks great on the test phone. Tester sends a screenshot from a phone with different DPI. Buttons tiny or huge. Constant Pixel Size doesn’t adapt.

The Fix

Canvas Scaler:
  UI Scale Mode:           Scale With Screen Size
  Reference Resolution:    (1080, 1920)   // portrait design
  Screen Match Mode:       Match Width Or Height
  Match:                   0.5
  Reference Pixels Per Unit: 100

Reference Resolution is the size your designers worked at. Canvas scales the rendered UI proportionally on every device. Match = 0.5 protects both axes from extreme distortion.

Per-Orientation Switch

if (Screen.orientation == ScreenOrientation.LandscapeLeft) {
    scaler.referenceResolution = new(1920, 1080);
} else {
    scaler.referenceResolution = new(1080, 1920);
}

Verifying

Test on multiple aspect ratios in Game view. UI scales sensibly across iPhone SE, iPad, Android tall.

“Scale With Screen Size. Match 0.5. UI feels right.”

Related Issues

For TMP InputField, see caret keys. For UI Toolkit, see UXML binding.

Reference resolution. Match 0.5. UI fits.