Navigation
Wheel Rush is built on a set of modular, performance-oriented systems. Each system handles a specific part of the game loop, allowing you to extend or replace components without breaking the core framework.
Below is a high-level overview of every major system included in the project:
The first script executed in the game.
Initializes all core managers, loads save data, prepares persistent systems, and transitions to the MAIN scene.
Tracks and updates the race position of every car in real time.
Ensures accurate ranking based on distance, progress, and race state.
Handles the in-game economy:
All coin-related logic is centralized here.
Controls global game states and manages transitions between scenes (MAIN → GAME → MAIN).
Acts as the central coordinator during the game loop.
Loads or generates the current level based on saved data.
Levels are not stored permanently—they are recreated dynamically from a seed and level data each time.
Manages spawning and pooling of particle systems to avoid runtime overhead and repeatedly instantiating new effects.
Handles all logic related to ending the race, detecting finishing conditions, and transitioning to the appropriate end state.
Maintains race flow and states (Countdown → Racing → Finished).
Provides helper functions used throughout the game to control race events.
Responsible for spawning all cars on the track and preparing them for the start of the race.
A critical gameplay system.
Dynamically adjusts AI behavior to keep the race competitive, making sure the player is always challenged without feeling unfairly punished.
Handles all saving and loading of persistent data, including:
Uses an optimized and safe serialization workflow.
Controls all music and sound effects.
Provides easy methods for playing UI sounds, race sounds, and environment sounds.
A performance optimization tool that replaces Unity’s standard Update() calls with a centralized ticking system.
Reduces overhead and improves consistency across scripts.
Generates the track using the seed-based weighted procedural system.
Responsible for selecting track pieces, aligning them, and building a continuous racing path.
A modular UI framework where each UI “Screen” is registered and managed centrally.
Screens can be shown or hidden from any script without tightly coupling UI to gameplay logic.
Extracts waypoints and AI lanes from the generated track and distributes that data to systems requiring navigation information (AI, ranking, rubberband, etc.).