In-Engine Cutscene Creation
In-engine cutscene is not just "cheaper than prerendered." It is live content: characters in cutscene use same shaders and lighting as in gameplay, react to player's equipment, wear what player equipped. Prerendered video can't do this. But in-engine cinematics requires separate pipeline — random "launch Timeline and capture" gives shaky cameras, wooden animations, breaks between gameplay and cutscene.
Stack: Timeline + Cinemachine
In Unity center of cinematics — Timeline. It's sequencer with tracks: Animation Track for characters, Cinemachine Track for cameras, Audio Track for music and voice-over, Signal Track for events (start effect, change gameplay state), Activation Track for enabling/disabling objects.
Each character in cutscene gets Animation Track with animation keys. Important: animations in Timeline work in Apply Root Motion mode or via Override Transform — choice affects if character moves in world space or stays in place. Mixing modes in one cutscene — source of character "jumps" when leaving Timeline back to Animator.
Cinemachine Virtual Camera for each shot. Transitions between cameras via CinemachineBrain on Main Camera with Default Blend setting or individual CinemachineBlend between camera pairs. Cut vs Ease In/Out vs Custom Curve — transition type choice depends on scene's emotional rhythm: sharp cut for action moment, smooth ease for emotional reveal.
Typical mistake: all cameras in Cinemachine Track have same priority, and switching between virtual cameras causes random mixing. Correct: active camera during Timeline playback controlled by Cinemachine Track, other virtual cameras have Priority = 0 and don't affect CinemachineBrain.
Transitions between gameplay and cutscene
Most complex in in-engine cinematics is not making beautiful scene but seamless transition from gameplay to cutscene and back.
On cutscene entry: disable player control (Input System — disable action map), freeze gameplay Animator (not StopPlayback — set speed = 0 or disable Component), pass camera control to Cinemachine Track. On exit: reverse order. If character at cutscene end stands at position different from start, need smooth blend back via Animator.
On one project with boss-intro cutscene player position at Timeline end differed from position in gameplay by 2 units — on exit player "teleported." Solution: final Timeline frame covered by load screen for 0.5 seconds with simultaneous player repositioning. Simple but invisible.
Subtitles and dialogues. Sync subtitles with audio-track — via Signal Track with custom SignalReceiver that shows/hides subtitles by time marks. Alternative: Yarn Spinner or Ink integration with Timeline — for games with branched dialogues inside cutscenes.
In-engine cutscene optimization
Timeline is not free performance-wise. On mobile 5+ characters with Skinned Mesh Renderer animated simultaneously + complex lighting — fps drop to 20–30.
Optimization approaches:
- LOD during cutscene — force switch to LOD0 for main characters, LOD1 for background
- Occlusion Culling — enable in Timeline camera settings
- Pre-bake lighting — for cutscene with fixed light positions use Baked Lighting instead of Real-time
- Recordable — for strict-limit platforms (Nintendo Switch) consider prerendered + transition masking via loading screen
Cutscene production stages
- Storyboarding — shot sequence, timing, key moments. Before opening Unity
- Layout — object placement, rough cameras in Cinemachine, Timeline timing without final animations
- Animation pass — character animations in Animation Track, Motion Capture data or keyframe manually
- Camera polish — final shots, lens settings in Cinemachine (Field of View, Dutch angle, noise profiles for handheld-camera)
- Sound + VFX — audio in Audio Track, VFX via Activation Track
- Polish — Post-processing, colour grading via Volume in cutscene
- Transitions — debug entry/exit to gameplay
| Scale | Duration |
|---|---|
| Short cutscene (15–30 sec, 2–3 cameras) | 3–7 days |
| Dramatic scene (1–2 minutes, dialogue, VFX) | 2–4 weeks |
| Final/intro cutscene AAA-quality | 4–8 weeks |
Cost determined by duration, animation complexity, and character count in scene.





