RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Bus DriverDamage GoalDemolition DerbyDistance GoalDrift GoalFinish Race GoalNo-Move GoalPosition GoalQuick RaceQuick Race LoaderRace MarkersRace DebugRace Goals ManagerRace UIScenario HelperScenario EngineScenarios LoaderSpeed GoalTime Limit GoalWaypoint ActionScenario Waypoints
Attention MarkerCrawl MarkerCylinder MarkerNone MarkerOverhead MarkerRing Marker - 3D Ring Checkpoint MarkerSide Column MarkerSide Hologram MarkerSide MarkerSingle Hologram Marker

UI

Resources

BeamNG Game Engine Lua Cheat SheetGE Developer RecipesMCP Server Setup

// RLS.STUDIOS=true

Premium Mods for BeamNG.drive. Career systems, custom vehicles, and immersive gameplay experiences.

Index

HomeProjectsPatreon

Socials

DiscordPatreon (RLS)Patreon (Vehicles)

© 2026 RLS Studios. All rights reserved.

Modding since 2024

API ReferenceGE ExtensionsscenarioraceMarkers

Side Marker

A three-object checkpoint marker with a curved base and two faded column pillars positioned on each side of the waypoint. Columns scale with distance for far-range visibility.

A three-object checkpoint marker with a curved base and two faded column pillars positioned on each side of the waypoint. Columns scale with distance for far-range visibility.


Class API (OOP via metatable)

MethodSignatureDescription
C:init(id)Initializes fade distances, colors, object IDs
C:update(dt, dtSim)Per-frame: distance fade, column scaling, base rotation
C:setToCheckpoint(wp)Sets position/radius/normal, positions base and columns
C:setMode(mode)Transitions mode, triggers color update
C:setVisibility(v)Shows/hides base, left, and right objects
C:createMarkers()Spawns 3 TSStatic objects (base, left column, right column)
C:clearMarkers()Deletes objects by stored IDs
C:show()Shows the marker (sets visibility to true)
C:createObject(shapeName, objectName)Creates a TSStatic object for the marker

Spawned Objects (3 total)

ObjectShapePurpose
Basecheckpoint_curve_base.daeGround-level curved base
Left columnsingle_faded_column.daeLeft side pillar
Right columnsingle_faded_column.daeRight side pillar

Mode Colors

ModeColorBase Color
default{1, 0.07, 0}{1, 1, 1}
next{0, 0, 0}{0, 0, 0}
start{0.4, 1, 0.2}{1, 1, 1}
recovery{1, 0.85, 0}{1, 1, 1}
final{0.1, 0.3, 1}{1, 1, 1}
hidden{0, 0, 0}{0, 0, 0}

How It Works

  1. Side positioning: Columns placed at pos ± side * radius, where side = normal:cross(zVec)
  2. Distance-based alpha: Fades from fadeNear (1m) to fadeFar (50m) with minAlpha of 0.25
  3. Column scaling: Radius grows with distance * 0.03, height grows via inverseLerp(60, 180, distance)
  4. Base scaling: Height clamps between radius and radius * 3 based on distance (10–40m range)
  5. Camera rotation: Base and side normal rotate to face camera when beyond radius * 1.5
  6. Column offset: Left/right columns offset by vec3(0, 0, -10) (below ground anchor point)
  7. Color lerp: 0.3s transition for both pillar color and base color

Usage Example

local createMarker = require("scenario/raceMarkers/sideMarker")
local marker = createMarker(1)
marker:createMarkers()
marker:setToCheckpoint({
  pos = vec3(100, 200, 50),
  radius = 8,
  normal = vec3(0, 1, 0),
  fadeNear = 5,
  fadeFar = 60,
  minAlpha = 0.3
})
marker:setMode('default')

Key Notes

  • Includes recovery mode (yellow) for recovery points
  • Base alpha is half of column alpha (currentColor.w * 0.5)
  • Uses pre-allocated vec3 locals for performance (playerPosition, scale, markerOffset)
  • Column position has a -10 Z offset for the marker offset below the waypoint

See Also

  • Race Marker: Attention - Floating Arrow Checkpoint Marker - Related reference
  • Race Marker: Crawl Marker - Arrow + Flag + Column Checkpoint - Related reference
  • Race Marker: Cylinder - Base + Cylinder Checkpoint Marker - Related reference
  • Scenario System Guide - Guide

Side Hologram Marker

A three-part checkpoint marker with a curved base, active side hologram, and a distant hologram that fades in at range. Blends between close and far representations based on camera distance.

Single Hologram Marker

A lightweight checkpoint marker that renders a single faded column at the waypoint center. Uses raycasting to snap to terrain and scales height with camera distance.

On this page

Class API (OOP via metatable)Spawned Objects (3 total)Mode ColorsHow It WorksUsage ExampleKey NotesSee Also