U.R.S.T. comes with a basic but fully functional UI system right out of the box. This includes a Main Menu that tracks player progression, Options Menu that automatically saves the player's preferences, Pause Menu that you can use it to exit or edit options mid game, and finally a Universal Audio Node that handle all the UI sfx easily within it.

💡Note: If you’re looking for a dedicated Menus template with more features, I highly recommend https://github.com/Maaack/Godot-Menus-Template


♻ The Splash Screen

The SplashScreen.tscn is the MAIN scene and a very crucial scene that spawns all the particles at once and play their audio in a very low volume in front of a 3D camera so the system build their cache. This is so the game doesn't freeze for a second when the particle spawn for the first time (This is a common issue known as "shader stutter"). The scene also shows logos to hide the background effects.

It rapidly spawns every particle effect in the Vfx to load array, waits 2.5 seconds (hard-coded) to make sure the shaders compile, and then instantly deletes them. By the time the player get to the Main Menu, all the visual effects or particles are cached and will spawn instantly without any lag. The template already preloads the already built-in particles and VFX, but if you create new custom particles, you will want to add them to this scene array list.

image.png

Adding Your Custom VFX, Particles, and the Next Scene:

To add a new particle effect to the preloader cache:

💡 Note 2: This scene should be your main scene. It not just for showing logos, it’s ensures all the heavy lifting is done without the player notice it.


🖥️ The Main Menu

The MainMenu.tscn handles starting a new game, loading saved progress, and opening the settings. It also includes the VFXPreloader to ensure all the VFX and particles are cached into GPU so no lag or stutter will happens when they spawn for the first time mid-game.

Setting Up Your Campaign Levels: To connect your game's maps to the menu, select the MainMenu root node. You will see an array called All Levels. This is your game's playlist. Simply drag and drop your completed .tscn level files into this array. The map in slot [0] will be the one that loads when the player clicks Start. As the player completes levels (using the RetroExit.tscn zone), the template saves their progress. The Continue button will automatically unlock and display their current level, loading the correct map from this array when clicked.

image.png