In-Engine Cutscenes (Cinematics)
Creating In-Engine Cutscenes (Cinematics)
An in-engine cutscene is not just "cheaper than prerendered". It's living content: characters in the cutscene use the same shaders and lighting as in gameplay, react to the player's hardware, and wear what the player put on. Prerendered videos cannot do that. In our practice, we develop in-engine cutscenes that solve this: seamlessly integrate into gameplay and do not break immersion. But in-engine cinematics require a separate pipeline — randomly running Timeline and recording yields shaky cameras, rigid animations, and gaps between gameplay and cutscene.
How Timeline works in cutscenes
In Unity, the center of cinematics is Timeline. It is a sequencer with tracks: Animation Track for characters, Cinemachine Track for cameras, Audio Track for music and voiceover, Signal Track for events (trigger effects, switch gameplay state), Activation Track for enabling/disabling objects.
Each character in the cutscene gets an Animation Track with animation keys. Important: animations in Timeline work in Apply Root Motion or Override Transform mode — the choice affects whether the character moves in world space or stays in place. Mixing modes in one cutscene causes character "jumps" when exiting Timeline back to Animator.
Why Cinemachine is critical
Cinemachine provides a set of virtual cameras for each angle. Camera transitions are handled via CinemachineBrain on the Main Camera with Default Blend settings or individual CinemachineBlend between camera pairs. Cut vs Ease In/Out vs Custom Curve — the transition type depends on the emotional rhythm of the scene: sharp cut for action moments, smooth ease for emotional reveal.
Typical mistake: all cameras in Cinemachine Track have the same priority, causing random blending when switching between virtual cameras. Correct: the active camera during Timeline playback is controlled via Cinemachine Track, other virtual cameras have Priority = 0 and do not affect CinemachineBrain. According to official Cinemachine documentation, this approach guarantees correct camera priority.
How to achieve seamless transition between gameplay and cutscene
The hardest part of in-engine cinematics is not making a beautiful scene, but making a seamless transition from gameplay to cutscene and back.
Upon entering a cutscene: disable player input (Input System — disable action map), freeze gameplay Animator (not StopPlayback — set speed = 0 or disable the Component), transfer camera control to Cinemachine Track. Upon exit: reverse order. If the character stands at a position different from the start at the end of the cutscene, a smooth blend back via Animator is needed.
On one project with a boss-intro cutscene, the player's position at the end of Timeline differed from the gameplay position by 2 units — upon exit the player "teleported". Solution: the final frame of Timeline was covered by a loading screen for 0.5 seconds with simultaneous character repositioning. Simple but invisible.
Subtitles and dialogues. Synchronizing subtitles with the audio track is done via Signal Track with a custom SignalReceiver that shows/hides subtitles based on time stamps. Alternative: Yarn Spinner or Ink integration with Timeline — for games with branching dialogues inside cutscenes.
Optimizing in-engine cutscenes
Timeline is not free in terms of performance. On mobile platforms, 5+ characters with Skinned Mesh Renderer animated simultaneously, plus complex lighting — drop to 20–30 fps.
Optimization approaches:
- LOD during cutscene — force switch to LOD0 for main characters, LOD1 for background
- Occlusion Culling — enable in camera settings for Timeline
- Pre-bake lighting — for cutscenes with fixed light positions, use Baked Lighting instead of Real-time
- Recording — for platforms with strict limitations (Nintendo Switch), consider prerendered + transition masking via loading screen
| Error | Consequence | Solution |
|---|---|---|
| Same Cinemachine camera priority | Random camera blending | Active camera via Cinemachine Track, others Priority=0 |
| Root Motion in Timeline without considering initial position | Character teleportation on exit | Use Override Transform or loading screen |
| No LOD during cutscene | FPS drop on mobile | Force LOD for main characters |
Cutscene production stages
- Storyboard — sequence of angles, timing, key moments. Before opening Unity.
- Layout — object placement, rough cameras in Cinemachine, timing in Timeline without final animations.
- Animation pass — character animations in Animation Track, motion capture data or manual keyframe.
- Camera polish — final angles, 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 through Volume in the cutscene.
- Transitions — debug entry/exit into gameplay.
Details of cutscene pipeline
Each stage requires expertise in animation, sound design, and optimization. We use Agile methodology for fast iteration and minimal revisions.What is included in the work
- Storyboard and script with timing
- Timeline and Cinemachine setup (all cameras, transitions, signals)
- Character animation (keyframe or mocap with cleanup)
- Dialogue and subtitle integration
- Optimization for target platform (LOD, culling, baked lighting)
- Testing seamless transitions on actual gameplay
- Integration documentation and support during implementation
Our team has 5+ years of experience in cutscene development, having delivered over 70 projects for mobile and PC platforms. We guarantee adherence to deadlines and budget.
| Scale | Timeline |
|---|---|
| Short cutscene (15–30 sec, 2–3 cameras) | 3–7 days |
| Dramatic scene (1–2 min, dialogue, VFX) | 2–4 weeks |
| Final/intro cutscene AAA quality | 4–8 weeks |
Cost is determined by timing, animation complexity, and number of characters in the scene. On average, the client saves up to 40% of budget by choosing in-engine over prerendered. Get a preliminary estimate for your project — contact us.





