Direct every shot. Control every scene.
Vigil is the complete fixed camera system for Unity, built for developers creating Survival Horror, psychological thriller, and cinematic adventure games. Inspired by the classics — Resident Evil, Silent Hill, Dino Crisis — Vigil gives you a director's toolkit to compose deliberate camera angles, orchestrate professional transitions, and guide your player's experience with precision.
No complex scripting required. Drag-and-drop components, intelligent activation volumes, and a best-in-class editor toolset do the heavy lifting.
🎬 6 CINEMATIC TRANSITIONS
Cut — Instant switch, zero latency. The classic RE feel.
Fade — Smooth fade to black and back. Configurable duration and curve.
Blend — Positional interpolation between two camera positions.
DollyZoom — The Vertigo effect. Distance and FOV interlock to keep a focal point fixed while the background perspective shifts dramatically.
WhipPan — Front-loaded snap with 8° rotational overshoot and natural settle. Perfect for fast scene cuts.
Iris — Circular wipe that closes and opens around the new camera. No shader assets required — works with Built-in, URP, and HDRP out of the box.
📦 SMART ACTIVATION VOLUMES
Trigger volumes that activate cameras when the player enters, resolved by priority when overlapping:
- restoreOnExit — automatically restores the previous camera on exit
- CameraSelectionMode — always show the same camera (Single), rotate in order (Sequential), or pick at random (Random) on each entry
- Per-volume transition override — different transition than the manager default
- Priority system — higher priority volumes always win
🎭 FIXEDCAMERASEQUENCE — SCRIPTED CUTSCENES WITHOUT TIMELINE
Chain cameras into scripted sequences with zero external dependencies:
- Per-step hold duration, transition override, OnStepEnter / OnStepExit events
- Animated cinematic letterbox bars (2.35:1 ratio, fully configurable)
- preRollDelay / postRollDelay — breathing room between gameplay and cutscene
- Loop mode for ambient cinematic loops
- PlayFromStep(int) — jump directly to any step in the sequence from code or a UnityEvent
- Manager lock during playback — no external trigger can interrupt the sequence
🔒 CAMERABLOCKINGVOLUME — GEOGRAPHIC MANAGER LOCK
A trigger volume that locks the camera manager while the player is inside. Approaching a boss, a key prop, or a scripted moment? The camera switches to your chosen angle and stays there — immune to any other volume or event — for as long as the player remains in the zone.
🚪 REDOORINTERACTABLE — THE COMPLETE RE DOOR SEQUENCE
The iconic Resident Evil door moment, fully implemented as a reusable component:
- Door pivot animation with custom AnimationCurve
- Player auto-walk through the doorway
- Fade to black at the threshold
- Arrival on the other side at a configurable transform and camera
- All timings and curves driven by a DoorDefinition ScriptableObject — one asset controls every door in your project
- No hardcoded values, no scene dependencies
🛠️ PROFESSIONAL EDITOR TOOLSET
A suite of editor windows designed to speed up your camera design workflow:
- Top-Down Camera Map — 2D scene overview with camera frustums, volume overlays, and a coverage heatmap
- FixedCameraValidator — 18 automated checks: missing references, overlapping volumes, unregistered cameras and more
- Camera Path Planner — place waypoints in the Scene View and simulate camera coverage before Play Mode
- Volume Painter — paint activation volumes directly in the Scene View with a ghost wireframe preview
- Camera Bookmarks Window — capture, jump to, and re-apply camera positions from the editor
- FixedCameraSceneOverview — at-a-glance summary of all cameras, volumes, sequences and blocking zones
- Scene Overlay — quick-access toolbar integrated into the Unity 2021.2+ Scene View overlay system
🎵 SELF-CONTAINED ADDONS
Drop onto any FixedCamera for additional behaviour — zero external dependencies:
- CameraIdleMotion — per-camera Perlin noise idle breathing with amplitude multiplier and seed offset
- CameraAudioBridge — transitions AudioMixerSnapshot on camera activate
- CameraPostProcessBridge — enables/disables a Post Process Volume on activate/deactivate
- CameraAIStateBridge — detects nearby enemies via OverlapSphere and switches to a tension camera automatically
- CameraDoorTrigger — lightweight fade + event door trigger, decoupled from any scene loader
🔗 OPTIONAL INTEGRATIONS WITH THE NOOCTURNAL STACK
Zero compilation errors if the asset isn't installed:
- CinematicDirector — locks the manager during cinematics and restores on end
- ModularInteractableKit — trigger camera switches from interactable objects
- SceneLoaderSystem — set the entry camera on scene load