# 5. Blends, Custom Blends, Cut vs Ease
Part of [[Cinemachine 3]]. Prev: [[4.Impulse Noise and Extensions]]. Next: [[6.Worked Example Third-Person and Cutaway]].
**Docs:** [Cinemachine Blender Settings](https://docs.unity3d.com/Packages/
[email protected]/manual/CinemachineBlending.html) · [CinemachineBrain](https://docs.unity3d.com/Packages/
[email protected]/manual/CinemachineBrain.html) · [[Timeline Basics]]
## 5.1 How a transition is chosen
When the live camera changes:
1. Brain looks in the **Custom Blends** asset for a matching **From → To** (name-based, not object references).
2. Strongest specificity wins (`CamA→CamB` beats `CamA→ANY CAMERA`).
3. If none match → **Default Blend** on the Brain.
4. Equal specificity → first matching entry applies.
Reserved name: **`ANY CAMERA`**.
## 5.2 Blend styles (docs)
| Style | Feel |
|---|---|
| **Cut** | Zero-length; instant. |
| **Ease In Out** | S-curve; gentle. |
| **Ease In** | Linear out, ease into incoming. |
| **Ease Out** | Ease out of outgoing, linear into incoming. |
| **Hard In** | Ease out, accelerate into incoming. |
| **Hard Out** | Accelerate out, ease into incoming. |
| **Linear** | Mechanical linear. |
| **Custom** | Draw your own curve. |
**Time** = duration in seconds (ignored meaningfully for Cut).
## 5.3 Author a Custom Blends asset
1. Create a **Cinemachine Blender Settings** asset (Package / Create menus — name it e.g. `CameraBlends`).
2. On **Cinemachine Brain → Custom Blends**, assign it.
3. Add rows:
| From | To | Style | Time |
|---|---|---|---|
| `CM_Gameplay` | `CM_Cutaway` | Ease In Out | 0.6 |
| `CM_Cutaway` | `CM_Gameplay` | Ease Out | 0.4 |
| `CM_Gameplay` | `CM_ADS` | Cut | 0 |
| `ANY CAMERA` | `CM_Death` | Ease In | 1.2 |
**Names must match GameObject / camera names** used by Cinemachine. Yellow field = no match in current scene (still OK if spawned later).
## 5.4 Script: force a cutaway with Priority
```csharp
using System.Collections;
using UnityEngine;
using Unity.Cinemachine;
/// <summary>
/// Raise Priority on a cutaway camera, wait, restore.
/// Blend style comes from Brain Custom Blends / Default Blend.
/// NOT compiled in Unity.
/// </summary>
public sealed class CmCutawayTrigger : MonoBehaviour
{
[SerializeField] CinemachineCamera gameplay;
[SerializeField] CinemachineCamera cutaway;
[SerializeField] int cutawayPriority = 30;
[SerializeField] float holdSeconds = 2f;
int _gameplayPriority;
Coroutine _routine;
void Awake()
{
if (gameplay != null) _gameplayPriority = gameplay.Priority;
if (cutaway != null)
{
cutaway.Priority = 0;
cutaway.enabled = false;
}
}
public void PlayCutaway()
{
if (_routine != null) StopCoroutine(_routine);
_routine = StartCoroutine(Run());
}
IEnumerator Run()
{
cutaway.enabled = true;
cutaway.Priority = cutawayPriority;
yield return new WaitForSeconds(holdSeconds);
cutaway.Priority = 0;
cutaway.enabled = false;
if (gameplay != null) gameplay.Priority = _gameplayPriority;
_routine = null;
}
}
```
## 5.5 Timeline coexistence
[[Timeline Basics]] already covers Cinemachine tracks for sequenced shots. Rules of thumb:
- **Gameplay FreeLook** Priority mid; Timeline-activated shot cams Priority high while the clip is active.
- Prefer **Custom Blends** for gameplay↔gameplay; let Timeline own cinematic clip blends when using the Cinemachine track.
- Do not fight the Brain: avoid manually lerping the Unity Camera transform while Brain is enabled.
## 5.6 Cut vs Ease design notes ([[Level Up! (Review)]])
- **Cut** for impact, combat confirms, UI mode switches.
- **Short Ease (0.2–0.5s)** for ADS / interact focus.
- **Longer Ease** for story beat reveals; avoid soft blends during precision platforming (players need spatial certainty).
## Unverified
- Exact Create-menu path string for Blender Settings asset in your Editor skin.
- Timeline package track field names beyond [[Timeline Basics]].