Creating a Game Level
Documents the passes a level would have
First Pass - Level Geometry & Scripting Setup
This pass should yield a playable level, complete with HostMachine spawn points setup and level geometry fully functional, free of collider and placeholder visual issues
Add
_GameManager
prefab and override settings if neededAdd HM spawn points and make sure no clipping through objects would result
Place
TimeMachine
,Exit Gate
, and player spawn point.Exit Gate
should be near spawn point.Validate all door and interactable layers
Object AudioSource audio should be consistent level and quality
Bake NavMesh with MADKEV->Validations->Game Scene Validator.
Validate HM spawn points placement with MADKEV->Validations->Validate Waypoints on Graph
Only bake NavMesh graph with the Game Scene Validator
tool; do not manually bake on the A Star Path
component as the tool handles temporarily disabling doors so NavMesh can path through them.
Second Pass - Content Lock & Lighting
This pass focuses on visual fidelity; things like surface reflection, light probe, reflection probe, and volumetric lighting should be finalized and baked.
Finalize all lighting, make sure they are Mixed mode to allow dynamic objects like doors to receive realtime shadows
Finalize all reflection brokes
Finalize all light-probes, can use MagicLightProbes or manual placement
Validate lighting with MADKEV->Validations->Validate Overlapping Shadow-casting Lights
Bake lighting
Deferred lighting limitation: up to 4 exclusion layers only! Most environmental lighting are pre-computed/baked and should respond to all layers (Everything)
Run MADKEV->Validations->Game Scene Validator to validate light setup (checks for more than 4 overlapping), bake specular setup, and use the tool to bake NavMesh (Recast Graph).

Third Pass - Audio & Detail Touchup
This pass focuses on improving details of the level that would enhance play experience
Footsteps for all walkable areas (floors, desks, objects that player can step onto)
The footstep surface mesh should have
Batching Static
unchecked, as combined mesh breaks lookup, and having static batching for non widely used mesh is not performant.
Place ReverbZones in areas of the map such as hallways, staircase, large rooms, halls, etc
Important: Do not remove Drawer_Closet_BaseColor from _Footsteps Database prefab. HideSpot closets use it.

Last updated