Setup Guide

Quick Start (30 Seconds)

All camera components in Simple Camera Toolkit are self-contained. No managers, no setup scripts, no prerequisites.

1. Add a Camera Component

  1. Select a Camera in your scene (or create one: GameObject > Camera)
  2. In the Inspector, click Add Component
  3. Search for the camera type you want (e.g., ThirdPersonCamera, VehicleChaseCamera, FlyCam)
  4. The component is ready — no additional setup required

2. Assign the Target

Most follow/orbit cameras need a target transform:

  1. Drag the GameObject the camera should follow into the Target field
  2. Adjust position offsets (distance, height, shoulder) as needed
  3. Hit Play

3. That's It

Each camera works immediately with sensible defaults. Tweak exposed properties in the Inspector while in Play Mode to dial in the feel.


Per-Component Setup

ThirdPersonCamera

Step Action
1 Add ThirdPersonCamera to your Camera
2 Assign Target (the character or vehicle to follow)
3 Adjust Distance, Height Offset, Shoulder Offset
4 Right-click + drag to orbit, scroll to zoom

Collision avoidance is on by default (spherecast against Everything). Set Collision Mask to exclude specific layers.

VehicleChaseCamera (Forza-Style)

Step Action
1 Add VehicleChaseCamera to your Camera
2 Assign Target (the vehicle root with optional Rigidbody)
3 Configure Presets — each ChaseMode gets its own distance/height/FOV/spring tuning
4 Press C in Play Mode to cycle camera views

Preset tuning tips:

Setting Effect
Spring Stiffness Higher = camera follows bumps more tightly (snappier). Lower = more floaty, weighty feel.
Spring Damping Higher = less oscillation. Critical damping at ~2× sqrt(stiffness).
FOV Per-preset field of view. Cockpit: 80–90, Chase: 60–75, Bumper: 90–100.
Drift Angle Camera orbits around the vehicle to show slides. Controlled by Max Drift Angle.
Speed FOV FOV widens at speed. Tune Speed FOV Multiplier and Speed FOV Max.

FreeLookCamera

Step Action
1 Add FreeLookCamera to your Camera
2 Assign Target
3 Configure Rigs — Top (high/far), Middle (mid), Bottom (low/close)
4 Move mouse to orbit around the target

Rig blend weights control vertical sensitivity. Move your mouse up/down to blend between rigs — the blend is weighted by each rig's blendWeight value.

FirstPersonController

Step Action
1 Add FirstPersonController to a GameObject with a Camera child
2 Assign the Camera's transform to Camera Holder
3 A CharacterController is auto-added if none exists
4 In Play Mode, click the Game view and press ESC if cursor is not locked

Note: This requires a CharacterController on the same GameObject. If one isn't present, it's added automatically.

RTSCamera

Step Action
1 Add RTSCamera to your Camera
2 Position the camera above the scene
3 WASD or move mouse to screen edges to pan
4 Scroll to zoom, Q/E or middle-mouse to rotate

Edge scrolling is enabled by default with a 10px margin. Adjust Edge Scroll Margin or disable via Edge Scroll Enabled.


DollyTrack

Step Action
1 Add DollyTrack to your Camera
2 Create empty GameObjects as waypoints and position them in the scene
3 Assign them to the Waypoints array
4 Set Speed and hit Play to watch the camera follow the path

Look modes:

  • PathDirection — camera looks ahead along the path
  • Target — camera always faces the Look Target transform

DollyTrack

Step Action
1 Add DollyTrack to your Camera
2 Create empty GameObjects as waypoints and position them in the scene
3 Assign them to the Waypoints array
4 Set Speed and hit Play to watch the camera follow the path

Look modes:

  • PathDirection — camera looks ahead along the path
  • Target — camera always faces the Look Target transform

CameraShake

Step Action
1 Add CameraShake to your Camera
2 Configure the Default Profile (amplitude, frequency, duration, decay curve)
3 Call GetComponent<CameraShake>().Shake() from any script to trigger

You can also call Shake(amplitude, frequency, duration) for one-off shakes with custom values.

CameraManager

Step Action
1 Add CameraManager to any GameObject in your scene
2 Assign the Target Camera (defaults to Camera.main)
3 From code, register states: CameraManager.Instance.RegisterState("Follow", followCamera)
4 Blend: CameraManager.Instance.BlendTo("Follow")

The CameraManager is a singleton — only one instance per scene.


Scene Setup

For scenes with multiple cameras:

Camera Stacking

  1. Add multiple Cameras to the scene with different components
  2. Disable all but one by unchecking their GameObject
  3. Use the CameraManager to switch between them with blends

Using with Unity's New Input System

The FirstPersonController uses Unity's legacy input by default. To use the New Input System:

  1. Install com.unity.inputsystem via Package Manager
  2. Create an Input Actions asset with movement and look bindings
  3. Modify the FirstPersonController to read from InputAction references instead of Input.GetAxis

Project Browser Layout

Assets/
└── SimpleCameraToolkit/
    ├── Scripts/              — Camera components
    │   ├── Editor/           — Custom inspectors
    │   └── Events/           — CameraEvent type
    ├── Documentation/        — This guide and component reference
    │   └── Images/           — Screenshots
    └── Samples/              — Example scenes for most camera types

Recommendation: Create a _Scenes folder in your project for your own scenes. Reference the Samples for setup patterns, then swap in your own models and targets.