Component Reference

ThirdPersonCamera

Shoulder follow camera with collision avoidance, mouse orbit, and scroll zoom. The most common third-person camera pattern used in action games, shooters, and open-world titles.

Property Description
Target Transform to follow
Distance Base follow distance behind the target
Distance Limits Min/max zoom range
Height Offset Vertical offset above the target
Shoulder Offset Horizontal offset (positive = right shoulder, negative = left)
Smooth Position Position lerp speed (higher = snappier)
Smooth Rotation Rotation lerp speed (higher = snappier)
Zoom Step Distance change per scroll tick
Collision Mask Layers the collision spherecast detects
Collision Radius Radius of the collision spherecast
Mouse Orbit Enable right-click orbit
Orbit Speed Horizontal and vertical orbit sensitivity
Invert Y Flip vertical orbit direction
Pitch Limits Min/max vertical look angle

VehicleChaseCamera

Forza-style spring-arm chase camera. Uses a mass-spring-damper system for weighty, smooth camera movement. Supports multiple camera presets cycled by C key or mouse scroll.

Property Description
Target Transform to follow (attach Rigidbody for velocity-based look-ahead)
Presets Array of ChasePreset — one per ChaseMode
Look Ahead How far ahead of the target the camera looks (creates sense of speed)
Max Drift Angle Maximum camera orbit angle during a drift/slide
Collision Mask Layers the collision spherecast detects
Collision Radius Radius of the collision spherecast
Speed FOV Multiplier FOV increase per unit of speed
Speed FOV Max Maximum FOV increase from speed
Next Cam Key Key to cycle to the next preset
Use Mouse Scroll Enable mouse scroll to cycle presets

ChasePreset

Property Description
Mode Close, Medium, Far, Bumper, Cockpit, DriftOrbit
Distance Follow distance behind the target
Height Height offset above the target
Look Height Offset Vertical offset for the look-at point
FOV Camera field of view for this preset
Spring Stiffness Spring-arm stiffness (higher = snappier, lower = floatier)
Spring Damping Spring-arm damping (higher = less oscillation)

ChaseModes

Mode Typical Use
Close Tight chase — shows the vehicle in detail, dramatic sense of speed
Medium Balanced chase — default driving view
Far Wide chase — maximum visibility, good for exploration
Bumper Low-to-ground front bumper view — maximum sense of speed
Cockpit First-person from inside the vehicle
DriftOrbit Camera orbits to show drifting/sliding

Drift behavior: When the target's velocity direction differs from its forward direction (drifting), the camera orbits around the target to show the slide angle. The orbit is clamped by maxDriftAngle.

Spring-arm physics: The camera doesn't snap to its target position — it uses a mass-spring-damper system. The springStiffness controls how strongly the camera pulls toward its target; springDamping controls how quickly oscillations settle. Higher stiffness + higher damping = responsive but controlled. Lower stiffness = loose, weighty feel.

Speed FOV: As the target speeds up, the camera's FOV widens by speed × speedFovMultiplier, capped at speedFovMax. This creates a natural sense of acceleration.


FreeLookCamera

Cinemachine-style free-look camera with three orbital rigs. Vertical mouse movement blends between the Top, Middle, and Bottom rigs, each with independent height and radius.

Property Description
Target Transform to orbit
Rigs Array of FreeLookRig — Top, Middle, Bottom with blend weights
Axis X Speed Horizontal orbit speed
Axis Y Speed Vertical orbit speed
Y Min Lowest pitch angle (looking down)
Y Max Highest pitch angle (looking up)
Smooth Time SmoothDamp time constant
Auto Rotate Slowly rotates the camera around the target when idle
Auto Rotate Speed Auto-rotation speed in degrees per second

FreeLookRig

Property Description
Height Camera height relative to the target
Radius Orbit radius at this rig
Blend Weight Vertical blend distribution (all weights should sum to 1)

Blend behavior: Vertical mouse input maps to a 0–1 range between Y Min and Y Max. This value is distributed across the rigs by their blendWeight values, producing smooth transitions between rig heights and radii.


FirstPersonController

Full first-person controller with mouse look, movement, sprint, crouch, jump, and head bob.

Property Description
Look
Mouse Sensitivity Look sensitivity multiplier
Invert Y Flip vertical look
Pitch Limits Min/max vertical look angle
Movement
Walk Speed Movement speed when walking
Run Speed Movement speed when sprinting (hold Shift)
Crouch Speed Movement speed when crouching (hold Ctrl)
Acceleration How quickly the player reaches full speed
Jump Force Vertical impulse for jumping
Gravity Downward acceleration
Head Bob
Bob Frequency Speed of the head bob oscillation
Bob Amplitude Intensity of the head bob
Camera Holder Transform of the camera (child of the player GameObject)
Input
Run Key KeyCode for sprinting
Crouch Key KeyCode for crouching
Jump Key KeyCode for jumping

Head bob: Sinusoidal oscillation on the camera holder's local position. Bob time resets when the player stops moving. Only active when grounded.

Cursor lock: Press ESC to toggle cursor lock. The controller starts with the cursor locked.

CharacterController: Auto-added to the GameObject if not present. Height is adjusted dynamically when crouching (50% of base height).


RTSCamera

Real-time strategy camera with edge-scroll panning, zoom, and rotation.

Property Description
Move Speed Base camera pan speed
Sprint Multiplier Speed multiplier when holding sprint key
Zoom Speed Zoom sensitivity per scroll tick
Rotate Speed Rotation speed in degrees per second
Edge Scroll Margin Pixels from screen edge to trigger panning
Edge Scroll Enabled Toggle edge-scroll behavior
Zoom Limits Min/max camera height
Sprint Key KeyCode for sprinting
Rotate Left Key KeyCode for rotating left
Rotate Right Key KeyCode for rotating right

Edge scrolling: When the mouse cursor is within edgeScrollMargin pixels of any screen edge, the camera pans in that direction. Edge scrolling can be disabled while keeping WASD movement.


TopDownCamera

Top-down or isometric camera that follows a target from above.

Property Description
Target Transform to follow
Height Base height above the target
Angle Camera pitch angle (45 = typical isometric, 90 = straight down)
Zoom Limits Min/max height range
Zoom Speed Height change per scroll tick
Smooth Follow Position lerp speed
Rotate With Target Camera rotation matches target's yaw
Orthographic Toggle orthographic projection (auto-sets orthographic size)

Orthographic mode: When enabled, the camera switches to orthographic projection. The orthographicSize is automatically set to height × 0.5.


SideScrollCamera

2D side-scrolling camera with deadzone-based horizontal follow and vertical tracking toggle.

Property Description
Target Transform to follow
Look Ahead How far ahead of the target the camera looks (based on target's forward)
Deadzone Width Horizontal deadzone — camera only moves when the target exits this zone
Deadzone Height Vertical deadzone height
Smooth X Horizontal follow smooth speed
Smooth Y Vertical follow smooth speed
Vertical Offset Fixed vertical offset from the target
X Bounds Horizontal confinement limits
Y Bounds Vertical confinement limits
Enable Bounds Toggle boundary confinement
Lock Z Lock camera Z position
Z Position Z position when locked
Track Vertical When disabled, camera ignores vertical movement

Deadzone behavior: The camera doesn't track the target's every pixel — it allows the target to move within a deadzone box before the camera follows. The look-ahead shifts the deadzone center in the direction the target is facing.


DollyTrack

Spline path camera that moves along a series of waypoints.

Property Description
Waypoints Array of Transform positions defining the path
Speed Movement speed along the path (units per second)
Look Ahead How far ahead on the path the camera looks
Look Mode PathDirection (look along the path) or Target (look at Look Target)
Look Target Transform to face when Look Mode is Target
Loop When enabled, path restarts from the beginning
Auto Play When enabled, camera moves automatically
Speed Curve AnimationCurve that scales speed along the path (1 = full speed)
Manual Position Slider (0–1) for manual position when Auto Play is off

Events:

  • onWaypointReached(GameObject) — triggered when passing each waypoint
  • onPathComplete(GameObject) — triggered when the path ends (non-looping)

Control methods:

  • Play() — start auto-play from the beginning
  • Pause() — pause auto-play
  • Stop() — stop and reset to position 0

CameraShake

Perlin-noise-based camera shake with configurable profiles.

Property Description
Default Profile ShakeProfile used when calling Shake() without arguments

ShakeProfile

Property Description
Amplitude Shake intensity
Frequency Speed of shake oscillation
Duration Shake length in seconds
Decay AnimationCurve that scales amplitude over the shake duration

Events:

  • onShakeStart(GameObject) — triggered when a shake begins
  • onShakeComplete(GameObject) — triggered when a shake ends (or when Stop() is called)

Shake methods:

  • Shake() — use the default profile
  • Shake(ShakeProfile profile) — use a custom profile
  • Shake(float amplitude, float frequency, float duration) — one-off shake
  • Stop() — immediately stop all shaking

Shake is applied to the camera's localPosition, so it works independently of the camera's world position. Supports 3D shake (X/Y with full amplitude, Z with half amplitude).


ObjectInspector

Drag-to-rotate inspection camera for examining objects. Left-click drag to orbit, scroll to zoom.

Property Description
Target Transform to inspect
Default Distance Starting distance from the target
Distance Limits Min/max zoom range
Orbit Speed Mouse orbit sensitivity
Zoom Speed Scroll zoom sensitivity
Smooth Damp SmoothDamp time constant for position
Auto Rotate Speed Degrees per second when not interacting (0 = no auto-rotate)
Invert Y Flip vertical orbit direction

Methods:

  • FocusOn(Transform newTarget) — switch the inspection target

CameraManager

Singleton system for managing multiple cameras and blending between them.

Property Description
Target Camera The Camera this manager controls (defaults to Camera.main)
Default Blend Cut (instant) or Lerp (smooth interpolation)
Blend Duration Time in seconds for Lerp transitions

Events:

  • onBlendStart(GameObject) — triggered when a blend begins
  • onBlendComplete(GameObject) — triggered when a blend finishes

CameraState

Property Description
Name Identifier for lookup
Camera Component The MonoBehaviour component to enable/disable
Priority Priority value (for future sorting)

Methods:

  • RegisterState(string name, MonoBehaviour component, int priority) — add a camera state
  • UnregisterState(CameraState state) — remove a camera state
  • BlendTo(CameraState state, float? duration) — smooth blend to a state
  • BlendTo(string stateName) — blend by name
  • CutTo(CameraState state) — instant switch to a state
  • CutTo(string stateName) — instant switch by name
  • GetState(string name) — find a state by name

Usage pattern:

CameraManager.Instance.RegisterState("Follow", thirdPersonCamera);
CameraManager.Instance.RegisterState("Free", flyCam);
CameraManager.Instance.BlendTo("Follow", 2f);

CameraCollisionHandler

Standalone collision avoidance module. Attach to any camera to prevent it from passing through walls.

Property Description
Origin Transform to cast from (usually the player/vehicle)
Collision Radius Radius of the spherecast
Smooth Return How quickly the camera slides forward when obstructed
Collision Mask Layers detected by the spherecast

Works with any camera component — simply add it as a child component and assign the origin.


ConfinerCamera

Confines the camera within box or sphere bounds.

Property Description
Shape Box (axis-aligned) or Sphere
Bounds Box boundary (center + size)
Sphere Radius Sphere boundary radius
Smooth Time SmoothDamp time constant for return
Confine X / Y / Z Per-axis confinement toggle

Event:

  • onConfined(GameObject) — triggered when the camera is pushed back inside the bounds

Methods:

  • SetBounds(Bounds newBounds) — update the confinement box
  • SetSphereRadius(float radius) — update the sphere radius

Legacy Components (v1.1)

MouseOrbit

Property Description
Target Transform to orbit
Distance Orbit distance from target
Limit Distance Clamp zoom range
Distance Limits Min/max zoom
Axis Speed Orbit sensitivity (horizontal, vertical)
Invert Flip orbit direction
Mouse Scroll Zoom Enable scroll zoom
Zoom Step Zoom per scroll tick
Limit Height Clamp vertical angle
Height Limits Min/max vertical angle
Limit Orbit Clamp horizontal angle
Orbit Limits Min/max horizontal angle
Smooth Damp Overall smooth interpolation
Smooth Zoom Smooth zoom interpolation
Smooth Zoom Step Zoom interpolation speed
Trigger AlwaysOn, LeftClick, or RightClick

MouseLook

Property Description
Mouse Sensitivity Look sensitivity multiplier

FlyCam

Property Description
Forward / Backwards / Left / Right KeyCode bindings for movement
Move Speed Movement speed
Mouse Sensitivity Look sensitivity

FollowTarget

Property Description
Target Transform to follow
Distance Follow distance
Height Height offset
Smooth Damp SmoothDamp time constant

LookatTracking

Property Description
Target Transform to face

AutoOrbit

Property Description
Target Transform to orbit
Look At Target Face the target while orbiting
Speed Orbit speed in degrees per second

AutoFrameTracker

Property Description
Is Enabled Toggle auto-framing
Smooth Speed Camera movement smoothing
Show Trackers Display tracking gizmos
Tracking Color Gizmo color
Track Objects List of objects with screen-position targets (percentage-based X/Y)

WaypointFollow

Property Description
Move Speed Movement speed between waypoints
Look Speed Rotation speed toward the look target
Mode Forward (stop at end), PingPong, Loop
Look Mode NextWaypoint or Target
Look Target Transform to face when Look Mode is Target
Waypoints Array of Transform positions

Events:

  • onWaypointReached(GameObject) — triggered when reaching each waypoint

FOVController

Property Description
Target FOV FOV to zoom to
Adjust Step FOV change speed
Trigger LeftClick, RightClick, Unbind
Type Hold (while button held) or Toggle (press on/off)

WobbleCamera

Property Description
Wobble Speed Frequency of the projection matrix oscillation

ProximityHide

Property Description
Radius Detection sphere radius
Only Affect Tag Filter by tag
Tag To Compare Tag to filter

Events:

  • onHideCollider(GameObject) — triggered when a collider is hidden
  • onShowCollider(GameObject) — triggered when a collider is shown

CompositionTools

Property Description
Draw Action Safe Toggle action-safe zone overlay
Draw Title Safe Toggle title-safe zone overlay
Draw Center Mark Toggle center crosshair
Action Safe Margin Margin in pixels
Title Safe Margin Margin in pixels
Action Safe Color Gizmo color
Title Safe Color Gizmo color
Center Mark Color Gizmo color
Draw Placement Grid Toggle composition grid
Layout Thirds, Fourths, Fifths, Sixths, Sevenths, Eighths, Ninths, Custom
Layout Color Grid line color
Custom W / H Custom grid dimensions
Draw Grid Labels Show pixel measurements
Reverse Labels Flip label orientation