RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

server/commands - Camera & Input Commandsge_utils - Game Engine Utility Functionsmain.lua - GE Lua Entry Point & Game Loopmap.lua - Navigation Graph (AI Road Map)screenshot.lua - Screenshot Systemserver/server - Level Loading & Game ServerserverConnection - Client-Server Connection Manager`setSpawnpoint` - Default Spawn Point Persistence`simTimeAuthority` - Simulation Time & Bullet Time Control`spawn` - Vehicle Spawning & Safe Placement`suspensionFrequencyTester` - Suspension Natural Frequency Analysis
Activity ManagerAudio Bank ManagerAudio Ribbon SystemBus Route ManagerCamera SystemCore Chat (IRC)Core CheckpointsCore Command HandlerCoupler Camera ModifierDevices (RGB Peripherals)Dynamic PropsEnvironmentFlowgraph ManagerForestFun StuffGame ContextGame StateGround Marker ArrowsGround MarkersHardware InfoHighscoresHotlappingInventoryJob SystemLap TimesLevelsLoad Map CommandMetricsMod ManagerMultiseatMultiseat CameraMulti SpawnOnlinePaths (Camera Paths)Quick Access (Radial Menu)Recovery PromptRemote ControllerReplayRepositoryRope Visual TestScheme Command ServerCore SnapshotCore SoundsCore TerrainTraffic SignalsTrailer RespawnVehicle Active PoolingVehicle Bridge (GE ↔ VLua Communication)Vehicle MirrorsVehicle PaintsCore VehiclesVehicle TriggersVersion UpdateWeather SystemWindows Console

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 Extensionscore

Ground Marker Arrows

Manages 3D floating arrow indicators that appear at intersections along a navigation route, guiding the player through turns. Uses a pooled TSStatic approach with smooth fade/scale transitions.

Manages 3D floating arrow indicators that appear at intersections along a navigation route, guiding the player through turns. Uses a pooled TSStatic approach with smooth fade/scale transitions.


Public API

FunctionSignatureDescription
M.createArrowPool(floatingArrowColor)Creates or resets a pool of 11 TSStatic arrow objects in a SimGroup named arrowPool.
M.updateArrows(path, pathLength)Analyzes the route path, placing arrows at intersections with >25° turns or ambiguous directions. Max 180 m ahead. Also tracks wrong-direction driving.
M.clearArrows()Deletes all arrow objects and clears tracking tables.
M.onPreRender(dt)Per-frame: smoothly updates arrow position, scale, and alpha based on proxy state.
M.onExit()Alias for clearArrows.

Arrow Proxy System

Each arrow has a proxy table tracking:

FieldTypeDescription
posvec3World position (includes 3.5 m height offset).
rotquatRotation pointing toward next waypoint.
statestring"unused", "visible", or "fadeout".
wpstringAssociated waypoint ID.
nudgeForwardSmoothersmootherAnimates forward nudge for close arrows.
nearFarScaleSmoothersmootherScales between small (3) and large (4.5) based on distance.
alphaSmoothersmootherFade in/out animation.

Arrow Placement Logic

  1. Walk the route path from index 2 onward.
  2. At each node with >2 links (intersection), compute the angle between previous and next segments.
  3. Place an arrow if the angle exceeds 25° or if the route direction isn't the smallest-angle option.
  4. Skip nodes beyond 180 m from the vehicle.

Wrong Direction Detection

  • Tracks wrongDirectionCounter based on velocity dot product with route direction.
  • Shows "Please make a U-turn" message when counter exceeds threshold.

Usage Example

-- Typically called by core_groundMarkers, not directly:
core_groundMarkerArrows.createArrowPool({0, 0.48, 0.77})
core_groundMarkerArrows.updateArrows(routePath, totalDistance)
-- Cleanup
core_groundMarkerArrows.clearArrows()

Game State

Manages the high-level game state (freeroam, campaign, etc.), loading screen lifecycle, and main menu visibility. Coordinates between Lua systems and the UI layer during level transitions.

Ground Markers

Renders navigation ground-decal arrows and floating 3D arrows along a computed route path. The primary navigation display system used by freeroam GPS and missions.

On this page

Public APIArrow Proxy SystemArrow Placement LogicWrong Direction DetectionUsage Example