# 1. Package Install and Mental Model Part of [[Cinemachine 3]]. Next: [[2.Body Aim Noise and Priorities]]. **Docs:** [Manual package page 6000.5](https://docs.unity3d.com/Manual/com.unity.cinemachine.html) · [What's new in Cinemachine 3 (3.1.7)](https://docs.unity3d.com/Packages/[email protected]/manual/whats-new.html) · [CinemachineCamera](https://docs.unity3d.com/Packages/[email protected]/manual/CinemachineCamera.html) · [CinemachineBrain](https://docs.unity3d.com/Packages/[email protected]/manual/CinemachineBrain.html) ## 1.1 Install 1. **Window → Package Manager → Unity Registry**. 2. Search **Cinemachine** → Install. Package id: **`com.unity.cinemachine`**. 3. Confirm version **3.1.x** (Manual for Editor **6000.5** lists released **3.1.7**). Do not invent a pin; use what Package Manager resolves. 4. After install, **GameObject → Cinemachine** menus appear (FreeLook Camera, etc.). > **Unity 6.6 note (context only):** upgrade guides for **6000.6** describe `com.unity.cinemachine` becoming a core Editor package. This tutorial targets **6000.5+**; on 6000.5 you still install via Package Manager as above. If you later upgrade past 6000.5, re-read that Editor's upgrade guide. ## 1.2 Mental model (CM3) | Concept | Role | |---|---| | **Unity Camera** | The actual rendering camera. Owns **Cinemachine Brain**. | | **CinemachineCamera** | A *virtual* camera recipe (position/rotation/noise/extensions). Many can exist; Brain picks which is live. | | **Priority** | Higher Priority wins when multiple cams are enabled. | | **Tracking Target** | Default single target to follow *and* look at. Optional separate Look At when framing differs. | | **Channels** | CM3 replaces "filter by Unity layer / culling mask" with **Cinemachine Channels**. Brain has a channel mask. | | **Blends** | When live cam changes, Brain cuts or eases per Default Blend / Custom Blends. | **CM2 → CM3 rename map (not aliases — new types; old types deprecated):** | CM2 | CM3 | |---|---| | `Cinemachine` namespace | `Unity.Cinemachine` | | `CinemachineVirtualCamera` | `CinemachineCamera` | | `CinemachineFreeLook` | `CinemachineCamera` + Orbital Follow / Rotation Composer (+ Input Axis Controller) | | Hidden `cm` child pipeline | Components on the **same** GameObject; use `GetComponent<T>()` | | `CinemachineTransposer` | `CinemachineFollow` | | `CinemachineOrbitalTransposer` | `CinemachineOrbitalFollow` | | `CinemachineFramingTransposer` | `CinemachinePositionComposer` | | `CinemachineComposer` | `CinemachineRotationComposer` | | `Cinemachine3rdPersonFollow` | `CinemachineThirdPersonFollow` | | `CinemachineCollider` | `CinemachineDeoccluder` | | Unity layers for Brain filter | **Cinemachine Channels** | There is **no** type named `CmCamera` in the 3.1 docs — the public component is **`CinemachineCamera`**. ## 1.3 First camera in 60 seconds 1. Select **Main Camera**. Ensure it has **Cinemachine Brain** (added automatically when you create a Cinemachine Camera from the menu). 2. **GameObject → Cinemachine → FreeLook Camera** (or a plain Cinemachine Camera). 3. Assign a **Tracking Target** (your player root or a dedicated camera-follow transform at chest/head height — see [[Level Up! (Review)]] framing). 4. Press Play. Orbit input depends on the **Input Axis Controller** (part 3 / [[Input System]]). ## 1.4 Enable / Priority from script ```csharp using UnityEngine; using Unity.Cinemachine; /// <summary> /// Toggle a CinemachineCamera and bump Priority so the Brain blends to it. /// NOT compiled in Unity — verify against Cinemachine 3.1.x in your Editor. /// </summary> public sealed class CmCameraActivator : MonoBehaviour { [SerializeField] CinemachineCamera cam; [SerializeField] int livePriority = 20; [SerializeField] int idlePriority = 0; public void GoLive() { if (cam == null) return; cam.Priority = livePriority; cam.enabled = true; // Enabling / raising Priority is enough for Brain to consider this camera. } public void GoIdle() { if (cam == null) return; cam.Priority = idlePriority; // Optionally disable to remove it from consideration entirely: // cam.enabled = false; } } ``` ## 1.5 Brain basics On the Unity Camera's **Cinemachine Brain**: - **Default Blend** — style + time when no custom entry matches. - **Custom Blends** — optional Blender Settings asset (part 5). - **Channel Filter / mask** — which Cinemachine Channels this Brain accepts (split-screen / multi-brain). - **Lens Mode Override** — whether virtual cams may change perspective / ortho / physical lens mode. Events in CM3 are primarily global via `CinemachineCore`, with optional **Cinemachine Brain Events** / **Cinemachine Camera Events** behaviours for scoped listeners (see What's New). Prefer those over inventing CM2-style per-vcam UnityEvents without checking the 3.1 API. ## Unverified - Exact Inspector label strings across 3.1.0–3.1.7 patches. - Whether your project already embeds Timeline Cinemachine track samples from [[Timeline Basics]].