Clicker Genesis v0.4.7 Beta — resolution-change layout drift fixed at the root (Windows + macOS + Linux + Android)
The resolution bug is fixed, and it had a single real cause
UI elements shifted position whenever the screen resolution changed. It was never bad anchoring.
Every screen's CanvasScaler ran matchWidthOrHeight = 0.5 — a blend of width-matching and height-matching. On any aspect ratio other than the 16:9 reference, that changes the canvas size in both dimensions at once. On a modern phone in landscape the coordinate space ended up as much as 114 units shorter than the layouts were authored against, dragging top- and bottom-anchored elements toward each other while left/right ones spread apart.
Switching to matchWidthOrHeight = 1.0 (match height) makes the canvas exactly 1080 units tall on every device. Vertical layout is now invariant; a wider phone simply gains horizontal room that anchors absorb correctly.
Measured across seven real device aspect ratios:
| Device | Vertical drift before | After |
|---|---|---|
| 2960×1440 (Android target) | −76 units | 0 |
| Galaxy S25 Ultra | −102 units | 0 |
| Pixel 8 landscape | −114 units | 0 |
| iPhone 15 Pro landscape | −102 units | 0 |
| iPad 4:3 landscape | +167 units | 0 |
| Ultrawide 21:9 | −148 units | 0 |
Output at 16:9 is byte-identical, so nothing that already looked right has changed.
Known limit, stated rather than hidden: match-height means a screen narrower than 16:9 — a 4:3 tablet in landscape — loses horizontal units, so edge-anchored elements move inward. That is the correct failure direction, since phones and tablets in landscape are overwhelmingly wider than 16:9, but it is a real tradeoff rather than a free win.
Also in this build
- Four screens had never received the responsive controller at all — Skill Tree (both canvases), Save Slots, and New Game Setup. The Skill Tree's main canvas was still carrying a portrait reference resolution on a landscape-locked game.
- Android
versionCode1 → 2. It had never incremented across four Android releases. Google Play rejects any upload whose version code has not increased, so this would have blocked the first store submission outright. - Stripped a stray controller from the main menu's fade overlay, which it would have silently forced out of
ConstantPixelSize. - README refreshed with current screenshots and the game's new mark — and 14 MB of stale PNGs showing a previous UI removed.
Installing
These builds are not code-signed, so your OS will warn you on first run. That is expected for an independent release, not a sign anything is wrong.
- Windows — SmartScreen: click More info → Run anyway. Extract the whole folder before running the
.exe. - macOS — right-click the app → Open (a plain double-click gives you no way past Gatekeeper).
- Linux —
chmod +x ./ClickerGenesis.x86_64. - Android — allow installs from your browser, then re-tap the APK. Turn that permission back off afterwards.
Full per-platform guide: https://gaming.recontowers.com/install/
Verification
The Android build is compiled from the dedicated _ScenesAndroid scene set, verified by matching the 11 scene files inside the APK against the 11 entries in the Android build list. All four platforms were built with BuildOptions.CleanBuildCache.