INDUSTRIAL DOORS
Interactive door system for first-person and third-person games.
Includes single doors, double doors (synced or independent leaves),
regular lock with jiggle feedback, code lock with on-screen keypad
UI, frozen mode for cutscene control, and editor gizmo with
color-coded state labels.
Three render pipeline variants in one package — Built-in RP, URP,
and HDRP. No separate downloads required.
INCLUDED DOOR PREFABS
- Door01 (WC) — single, residential style
- Door02 (Narrow) — single, slim profile
- DoorDouble01 — double door, synced leaves
- DoorDouble02 — single, wide industrial
DOOR MODES
- Unlocked — door opens on [E], smooth Slerp animation + handle
press
- Locked (regular) — door jiggles (rattles) on [E], plays locked
sound
- Locked by Code — pressing [E] opens on-screen keypad UI;
player enters code on screen OR clicks 3D buttons; correct code
unlocks the door
- Frozen — door ignores all interaction, stays in current state;
fires OnDoorFrozen UnityEvent for cutscene control
- Start Open — door starts open at scene load (configurable
amount 0-1)
For double doors: each leaf can have its own locked / frozen
state. Leaves can be synced (both open together) or independent
(each opens separately based on which leaf the player looks at).
VISUAL INDICATORS (EDITOR)
- Editor gizmo draws the opening arc around the door hinge
- Arc color reflects current door state:
* Green — unlocked (normal)
* Red — locked (regular lock)
* Red — code-locked (with [CODE LOCK] label)
* Orange — code-locked with empty combination code
([NO-CODE LOCK] warning label)
* Cyan — frozen
- State label floats above the hinge:
[LOCKED], [CODE LOCK], [NO-CODE LOCK], [FROZEN]
- For double doors: each leaf labeled separately
([LEAF 1], [LEAF 2] + state suffix)
- Editor preview: toggle isOpenAtStart in Inspector to preview
open/closed state directly in Scene View
UI PROMPTS (PLAY MODE)
- InteractionPrompt (white) — "Press the button [E]" for
unlocked doors
- LockedPrompt (red) — "Locked" for locked doors
- KeypadPrompt (yellow) — "Enter code..." when looking at 3D
keypad buttons
ON-SCREEN KEYPAD UI (KeypadUICanvas)
- 10 numeric buttons (0-9) + Cancel button
- Display shows entered digits (e.g. "1 2 _ _")
- Optional progress indicators (small dots showing input progress)
- Player movement locked while UI is open
- Mouse cursor visible while UI is open
- Accepts mouse clicks AND keyboard input (0-9, Numpad, Escape)
- Plays UI click sound (optional)
SCRIPTS
- IndustrialDoorController / IndustrialDoubleDoorController —
door logic, open/close animation, lock with jiggle, frozen mode,
editor gizmo
- IndustrialKeypadLockController — code validation
- IndustrialKeypadUI + IndustrialKeypadUIController — on-screen
keypad UI
- IndustrialDoorInteractor / IndustrialKeypadInteractor —
raycast + UI prompts on Main Camera
- IndustrialDoorAudioPlayer — Open / Close / Locked sounds
- IndustrialDoorControllerEditor — custom inspector (shows code
fields only when keypad lock is present)
KEY FEATURES
- Smooth Slerp-based open animation + linear close with optional
slam sound offset
- Handle press animation when door opens
- Regular lock with jiggle (rattle) feedback
- Code lock with on-screen keypad UI (mouse + keyboard input)
- Frozen mode for cutscene control
- Double door: synced OR independent leaves, per-leaf lock state
- Editor gizmo with color-coded arc + state labels
- Per-door UnityEvents (OnDoorOpen, OnDoorClose, OnDoorClosed,
OnDoorLocked, OnDoorFrozen)
- 3 render pipeline variants in one package
More stuff from me:
Abandoned concrete structures. 3d Scan
Village Furniture and Environment
P.S: I'll be very happy if you leave a review!
Or contact me: