Phones walk AND look with the engine's own controls. Pairs the auto-projected touch draft (stick, buttons, tap, pinch) with the one camera declaration that lets a finger drag actually turn the view — plus a creator tab that audits both halves and repairs them in one tap.
Get opens your newest game with this mod ready to add.
Games
Used in 6 games
Version
1.1.3
Updated
Versions
1.1.3
The Touch tab scrolls. The checks, the projected-controls readout and the opt-in list now live in a scrollable body (data-interactive + touch-action:pan-y + a wheel handler), so a tab taller than the screen can be dragged on a phone and wheeled on a PC. MAKE IT DEFAULT and LOG THE CHECKS stay pinned below it.
1.1.2
Says what it holds back. On load, look-owner.js logs the opt-in list — pointer lock, overruling a camera that declares script-owned angles, and replacing an authored touch layout — each with its live state and the exact way to turn it on. The 📱 Touch tab prints the same list under "opt-in only", and `NT.optIns(api)` / `NT.OPT_INS` expose it as data. Doc gained the matching table. None of these is the frozen-view cure: engine-owned angles on an undeclared camera still happen by themselves.
1.1.1
Doc now matches the code: the Looking section teaches `api.patchCamera({ orientation: { source: "look" } })` alone — no `pointerLock: true`, which 1.1.0 stopped writing. Added the pointer-lock note (engine-owned look works with the pointer free; `NT.declare(api, { pointerLock: true })` is the explicit opt-in) and spelled out that `declare()` stands down on a camera that declares `orientation.source: "script"`, with `{ force: true }` / MAKE IT DEFAULT as the deliberate override. Ships alongside the current god.js / look-owner.js / panel.js / lib/native-touch.js and the Touch tab.
1.1.0
Consent, not seizure. The camera behavior no longer flips look ownership on every spawn: a camera that declares orientation.source "script" — a fixed isometric view, a lock-on cam, a rail shot — is left exactly as it is, and the reason is logged. The flip now happens only where a creator asked for it: MAKE IT DEFAULT in the Touch tab (repair() forces it), or an undeclared camera that has no opinion yet. Also dropped the forced pointerLock — it is opt-in now and never written unless asked for.
First cut: the engine's touch draft (stick, buttons, tap, pinch) paired with the one camera declaration that lets a finger drag turn the view, a state mirror so existing scripts keep reading camera yaw, a 📱 Touch creator tab that audits both halves, one-tap repair, and the skill carrying the hard rules.