RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
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
Camera Mode: AutopointCamera Mode: AutozoomCamera Mode: Big MapCamera Mode: ChaseCamera Mode: CollisionCamera Mode: CrashCamera Mode: DriverCamera Mode: External / Fan CameraCamera Mode: FallbackCamera Mode: Free CameraCamera Mode: Game EngineCamera Mode: HandheldCamera Mode: Manual ZoomCamera Mode: NoiseCamera Mode: ObserverCamera Mode: OnboardCamera Mode: OrbitCamera Mode: Pacenote OrbitCamera Mode: PathCamera Mode: PredictorCamera Mode: RelativeCamera Mode: ShakeCamera Mode: SmoothCamera Mode: Top DownCamera Mode: TrackIRCamera Mode: TransitionCamera Mode: Unicycle

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 ExtensionscorecameraModes

Camera Mode: TrackIR

Global filter that integrates TrackIR head-tracking hardware. Translates and rotates the camera based on the player's physical head position and orientation.

Global filter that integrates TrackIR head-tracking hardware. Translates and rotates the camera based on the player's physical head position and orientation.


Overview

A hidden global filter with runningOrder = 0.5 (runs before the game engine filter). Initializes the TrackIR SDK, reads 6DOF head tracking data, and applies translation + rotation offsets to the camera. Disabled during OpenXR/VR sessions to avoid conflicts.


Class Properties

PropertyTypeDefaultDescription
isGlobalbooltrueAlways active when TrackIR is available
runningOrdernumber0.5Runs before game engine filter
isFilterbooltruePost-processes other camera output
hiddenbooltrueNot selectable by the user
workingboolfalseWhether TrackIR initialized successfully

Sensitivity Constants

ConstantValueDescription
move_sensitivity0.00005Translation scale factor
rotate_sensitivity0.01Rotation scale factor

Methods

MethodSignatureDescription
initC:init()Initialize TrackIR SDK, start recording
updateC:update(data)Read TrackIR data, apply to camera

TrackIR Data Application

-- Translation: remap TrackIR axes to BeamNG space
local trans = vec3(-t.nx, -t.nz, t.ny) * move_sensitivity
trans = data.res.rot * trans  -- rotate into camera space
data.res.pos = data.res.pos + trans

-- Rotation: apply yaw/pitch/roll
local q = rotateEuler(
  math.rad(t.yaw * rotate_sensitivity),
  math.rad(t.pitch * rotate_sensitivity) + math.pi,
  math.rad(t.roll * -rotate_sensitivity)
)
data.res.rot = q * data.res.rot

TrackIR Data Fields

FieldDescription
t.nxX translation
t.nyY translation
t.nzZ translation
t.yawHead yaw angle
t.pitchHead pitch angle
t.rollHead roll angle

Key Notes

  • Uses global TrackIR object - nil if hardware not present
  • Calls TrackIR.init() and TrackIR.start() on first load
  • If already recording (e.g., module reload), skips init
  • Disabled during OpenXR sessions to avoid tracking conflicts
  • Axis remapping: TrackIR Y→BeamNG Z, TrackIR Z→BeamNG -Y

See Also

  • Camera Mode: Autopoint - Related reference
  • Camera Mode: Autozoom - Related reference
  • Camera Mode: Big Map - Related reference
  • Core Systems Guide - Guide

Camera Mode: Top Down

Example custom camera mode providing a top-down overhead view of the vehicle. Height and look-ahead scale with vehicle speed.

Camera Mode: Transition

Global filter that smoothly interpolates between camera states during camera mode switches and vehicle changes. Prevents jarring cuts by blending position, rotation, and FOV over a configurable durati

On this page

OverviewClass PropertiesSensitivity ConstantsMethodsTrackIR Data ApplicationTrackIR Data FieldsKey NotesSee Also