Try the live WebGL demos: https://demo.goehlerstudios.com/orbitalcam
Drop the OrbitalCam prefab into your scene, set your world bounds, and you're up and running in a minute.
Drag the ground to pan. Drag with another button to orbit and tilt around the focus point. Scroll to zoom. Mouse, keyboard, touch, and UI buttons all do the same things, with sensible defaults you can rebind.
Every feature toggles on or off independently. Speeds, limits, tilt range, snap angles—all configurable in the Inspector, with tooltips on each field.
The public API drives the camera from gameplay code. Use it for tutorials, cutscenes, minimap clicks, or in-game events like a fire in the city or an approaching army. Every public method is documented online and in the included PDF.
I've included four example scenes, each with its own configured camera prefab:
- Island City Builder - a perspective camera with full mouse and keyboard rotation, exponential zoom for the large world, and terrain-height following over an island town.
- Life Simulator - an orthographic camera with 90° stepped rotation and a fixed tilt, plus a multi-level house you raise the camera focus through from script.
- All Input Methods - every input switched on at once: mouse, keyboard, UI buttons, touch, and edge scrolling. Comes in Legacy Input Manager and New Input System variants.
- Scripting Demo - a button for every public API method, so you can see exactly what each one does.
Open them up and play around.
Features
Setup
- Drop-in prefab, configurable in the Inspector
- Four example scenes (city builder, life sim, all-input showcase, and scripting reference)
- Bounding box for playable area
- Auto-adjusts height to terrain (configurable layer mask)
- Orthographic or perspective projection
- Public API for tutorials, cutscenes, minimap clicks, and scripted events
Mouse
- Drag the ground to pan with any mouse button (default: right)
- Orbit and tilt around focus point with any mouse button (default: middle)
- Edge scrolling (default: off, toggleable)
- Scroll-wheel zoom
Keyboard (defaults shown; all keys remappable in the Inspector)
- WASD and arrow keys for panning
- Q/E for rotation, with optional snap-to-step (default: 90°)
- F/C for tilt
- Z/X for zoom
- Variable speeds per axis
Touch (defaults shown; all remappable)
- One-finger drag to pan
- Two-finger twist to rotate and tilt
- Pinch to zoom
UI buttons
- Hook any UI button to any camera action via UnityEvents
Customization
- Every feature independently toggleable
- All speeds, limits, and angles exposed and tooltipped
- Full public API, fully documented (online and PDF)
Compatibility
- Unity 2021 LTS
- Unity 2022 LTS
- Unity 6.0 LTS
- Unity 6.3 LTS
- Unity 6.4
- Built-in Render Pipeline
- URP
- HDRP
- Legacy Input Manager
- New Input System