Skip to main content

Racing Game Template

The Racing Game template gives you a ready-to-play multiplayer racing experience. It includes a checkpoint system, lap tracking, vehicle selection, and a leaderboard -- everything you need to host races or use as a foundation for a bigger racing game.

What's Included

  • Sample race track -- A complete circuit with banked turns, straights, and scenery
  • Checkpoint system -- Trigger volumes that track player progress through the course
  • Lap counter -- Configurable number of laps per race
  • Vehicle selection -- Pre-race lobby where players pick from a set of vehicles
  • Leaderboard -- Real-time standings during the race and a results screen at the end
  • Race HUD -- Speedometer, position indicator, lap counter, and checkpoint markers
  • Countdown start -- Synchronized race start with a 3-2-1 countdown

How the Checkpoint System Works

The track is built from an ordered list of checkpoint zones. When a player's vehicle enters a checkpoint, the system records it and updates their progress. Checkpoints must be hit in order -- skipping one won't count.

// Checkpoints are placed as Trigger Box actors in the world.
// The RaceManager Blueprint handles overlap events and tracks
// each player's current checkpoint index.

Lap System

The finish line is the first checkpoint in the list. Each time a player crosses it after completing all other checkpoints, their lap counter increments. Once they hit the configured number of laps, they finish the race and their final time is recorded.

The lap system handles edge cases like players going backwards or cutting corners -- only sequential checkpoint completion counts toward progress.

Vehicle Selection

Before a race starts, players enter a lobby phase where they can pick a vehicle from the available roster. Vehicles are defined in the race config:

RaceConfig.Vehicles = {
{ asset = "sports-car-a", label = "Vortex GT", topSpeed = 220 },
{ asset = "sports-car-b", label = "Phantom RS", topSpeed = 235 },
{ asset = "muscle-car-a", label = "Thunderbolt V8", topSpeed = 200 },
{ asset = "supercar-a", label = "Apex Turismo", topSpeed = 260 },
}

You can add or remove vehicles by editing this table. Each vehicle uses a HELIX vehicle asset that you can swap with your own custom models.

Customizing the Template

Creating a New Track

  1. Open the world in HELIX Studio
  2. Design your road layout using terrain tools, splines, or static meshes
  3. Place Trigger Box actors along the route for checkpoints
  4. Update RaceConfig.Checkpoints with the positions of your triggers
  5. Set the first checkpoint at your desired start/finish line

Adjusting Race Settings

All race parameters live in the config file:

RaceConfig.Laps = 5                    -- number of laps
RaceConfig.MaxPlayers = 16 -- max racers
RaceConfig.CountdownSeconds = 5 -- pre-race countdown
RaceConfig.DNFTimeout = 120 -- seconds after winner to end race

Next Steps

  • Customize the track layout in HELIX Studio
  • Add more vehicles to the roster
  • Integrate LIX rewards for race winners via the economy system
  • Add spectator mode for players who finish or don't join a race