To keep U.R.S.T. organized and prevent custom assets from interfering with core mechanics, the template relies on specific Godot Project Settings. If you are migrating this template into an existing project (which is not actually recommended because this Template focus on being standalone. But do whatever you want, I’m not your dad), you will need to ensure these settings match.


💥 Collision Layers & Masks

In Godot, Layers define what an object is, and Masks define what an object can interact with. The template uses a strictly organized collision matrix to manage Trigger zones, bullets, enemies, player and so on. You can check these collision layers and masks on whatever scene you want in the template to get idea of how it works (for example if you want to make a custom enemy, you need to see how RetroEnemy.tscn layers collision and masks). Here is the standard U.R.S.T collision matrix, which you can configure under Project > Project Settings > Layer Names > 3D Physics.

Layer Name Description
Layer 1 Environment Static geometry like floors, walls, and ceilings.
Layer 2 Player Assigned exclusively to the Player character body.
Layer 3 Enemies Assigned to all hostile NPCs and monster hitboxes.
Layer 4 Projectiles Physical bullets, rockets, and throwables.
Layer 5 Interactables Doors, Platforms, Switches, Pickups, and so on.
Layer 6 Triggers Invisible zones like Checkpoints, Hazards, and Exits.

🌠 Autoloads (Singletons)

The template relies on background scripts to handle global game states, saving, and UI overlays. You can view these under Project > Project Settings > Autoload.

image.png


🔧 Physics & Rendering

There is not much here, but here some information to know: