RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Editor AI TestsEditor AI VisualizationEditor – Assembly Spline ToolAsset BrowserAsset DeduplicatorAsset Management ToolSFX Previewer (Audio Events List)Audio Ribbon EditorAutoSaveBarriers EditorBiome ToolBuilding EditorBulk RenameCamera BookmarksCamera TransformCamera Path EditorCEF HelperCo-Simulation Signal EditorCrawl Data EditorCreate Object ToolDataBlock EditorDecal EditorDecal Spline EditorDocumentation HelperDrag Race EditorDrift Data EditorDrive Path EditorDynamic Decals Tool (Vehicle Livery Creator)Engine Audio DebugExtensions DebugExtensions EditorFFI Pointer Leak TestFile DialogFlowgraph EditorForest EditorForest ViewEditor Gizmo HelperEditor Ground Model Debug HelperEditor Headless Editor TestEditor Icon OverviewEditor ImGui C DemoEditor InspectorEditor Layout ManagerEditor Level SettingsEditor Level ValidatorEditor LoggerEditor Log HelperEditor MainEditor Main MenuEditor Main ToolbarEditor Main UpdateMap Sensor EditorMaster Spline EditorMaterial EditorMeasures Inspector HeaderMesh Editor (Base)Mesh Road EditorMesh Spline EditorMission EditorMission PlaybookMission Start Position EditorMulti Spawn Manager (Vehicle Groups)Navigation Mesh EditorEditor News MessageObject Tool (Object Select Edit Mode)Object To Spline EditorParticle EditorPerformance Profiler / Camera RecorderPhysics ReloaderPrefab Instance EditorEditor PreferencesRace / Path EditorRally EditorRaycast Test Editor ToolRenderer Components Editor ToolRender Test Editor ToolResource Checker Editor ToolRiver EditorRoad Architect EditorRoad DecorationsRoad Editor (Decal Road)Road Network ExporterRoad River Cache HandlerRoad River GUIRoad Spline EditorRoad Template EditorRoad UtilitiesScene TreeScene ViewScreenshot Creator BootstrapScript AI EditorScript AI ManagerSensor Configuration EditorSensor DebuggerShape EditorShortcut LegendSidewalk Spline EditorSites EditorSlot Traffic EditorSuspension Audio DebugTech Server ManagerTerraform ToolTerrain And Road ImporterTerrain EditorTerrain Materials EditorText EditorTool ManagerTool ShortcutsTraffic DebugTraffic ManagerTraffic Signals EditorUndo History ViewerVehicle Bridge TestVehicle Detail ViewerVehicle Editor MainEditor - VisualizationEditor Viz HelperEditor Water Object HelperEditor Windows Manager
Crawl Editor - BoundariesCrawl Editor InputCrawl Editor Mission Port ToolCrawl Editor PathsCrawl Editor PresetsCrawl Editor Starting PositionsCrawl Editor TrailsCrawl Editor Waypoints

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 ExtensionseditorcrawlEditor

Crawl Editor Presets

Class-based preset and component management for the Crawl Editor. Handles save/load/delete of trails, boundaries, and pathnode presets, plus component-level persistence via `gameplay_crawl_saveSystem`

Class-based preset and component management for the Crawl Editor. Handles save/load/delete of trails, boundaries, and pathnode presets, plus component-level persistence via gameplay_crawl_saveSystem.


Constructor

local Presets = require('editor/crawlEditor/presets')
local presetMgr = Presets()

Preset Categories

ConstantValueDescription
PRESET_CATEGORIES.TRAILS"trails"Complete trail presets
PRESET_CATEGORIES.BOUNDARIES"boundaries"Zone boundary presets
PRESET_CATEGORIES.PATHNODES"pathnodes"Path node presets

Key Methods

MethodSignatureDescription
C:loadPresets()Loads presets from JSON file
C:savePresets()→ bool, stringSaves all presets to JSON
C:saveBoundaryPreset(name, boundary)→ bool, stringSerialize and store a boundary preset
C:savePathnodePreset(name, path)→ bool, stringSerialize and store a pathnode preset
C:saveTrailPreset(name, trail)→ bool, stringSerialize and store a trail preset
C:loadBoundaryPreset(name)→ boundary, stringDeserialize a boundary preset
C:loadPathnodePreset(name)→ path, stringDeserialize a pathnode preset
C:loadTrailPreset(name)→ trail, stringDeserialize a trail preset
C:deleteBoundaryPreset(name)→ bool, stringRemove a boundary preset
C:deletePathnodePreset(name)→ bool, stringRemove a pathnode preset
C:deleteTrailPreset(name)→ bool, stringRemove a trail preset
C:getBoundaryPresets()→ tableList all boundary presets
C:getPathnodePresets()→ tableList all pathnode presets
C:getTrailPresets()→ tableList all trail presets
C:exportPreset(category, name, filepath)→ bool, stringExport single preset to file
C:importPreset(filepath, category)→ bool, stringImport preset from file

Component Methods (Level-Based)

MethodDescription
C:getAllTrailComponents()Lists trail components in current level
C:getAllBoundaryComponents()Lists boundary components in current level
C:getAllPathnodeComponents()Lists pathnode components in current level
C:saveTrailComponent(name, trail)Saves trail via save system
C:saveBoundaryComponent(name, boundary)Saves boundary via save system
C:savePathnodeComponent(name, path)Saves pathnode via save system

UI Methods

MethodDescription
C:drawMenu(crawlData, trails, waypoints)Renders component load/save menus
C:drawDialogs()Renders save-name input dialogs and component manager

Notes

  • Presets file stored at /levels/<level>/crawls/presets.json
  • Components use gameplay_crawl_saveSystem for level-scoped persistence
  • Validates preset data before save/load with category-specific validators
  • Boundary deserialization uses gameplay/sites/zone

All Class Methods

MethodSignatureDescription
C:init()Initialize presets state, load from file
C:loadPresets()Load presets from JSON file
C:savePresets()→ bool, stringSave all presets to JSON
C:saveBoundaryPreset(name, boundary)→ bool, stringSerialize and store boundary preset
C:savePathnodePreset(name, path)→ bool, stringSerialize and store pathnode preset
C:saveTrailPreset(name, trail)→ bool, stringSerialize and store trail preset
C:loadBoundaryPreset(name)→ boundary/nil, string/nilDeserialize boundary preset
C:loadPathnodePreset(name)→ path/nil, string/nilDeserialize pathnode preset
C:loadTrailPreset(name)→ trail/nil, string/nilDeserialize trail preset
C:deleteBoundaryPreset(name)→ bool, string/nilRemove boundary preset
C:deletePathnodePreset(name)→ bool, string/nilRemove pathnode preset
C:deleteTrailPreset(name)→ bool, string/nilRemove trail preset
C:getBoundaryPresets()→ tableList all boundary presets
C:getPathnodePresets()→ tableList all pathnode presets
C:getTrailPresets()→ tableList all trail presets
C:getAllTrailComponents()→ tableList trail components in current level
C:getAllBoundaryComponents()→ tableList boundary components in current level
C:getAllPathnodeComponents()→ tableList pathnode components in current level
C:loadTrailComponent(id)→ tableLoad trail component by ID
C:loadBoundaryComponent(id)→ tableLoad boundary component by ID
C:loadPathnodeComponent(id)→ tableLoad pathnode component by ID
C:saveTrailComponent(name, trail)→ bool, string/nilSave trail via save system
C:saveBoundaryComponent(name, boundary)→ bool, string/nilSave boundary via save system
C:savePathnodeComponent(name, path)→ bool, string/nilSave pathnode via save system
C:deleteTrailComponent(id)→ resultDelete trail component
C:deleteBoundaryComponent(id)→ resultDelete boundary component
C:deletePathnodeComponent(id)→ resultDelete pathnode component
C:exportPreset(category, name, filepath)→ bool, string/nilExport preset to file
C:importPreset(filepath, category)→ bool, string/nilImport preset from file
C:getShowSaveBoundaryDialog()→ boolGet boundary save dialog visibility
C:setShowSaveBoundaryDialog(show)Set boundary save dialog visibility
C:getShowSavePathnodeDialog()→ boolGet pathnode save dialog visibility
C:setShowSavePathnodeDialog(show)Set pathnode save dialog visibility
C:getShowSaveTrailDialog()→ boolGet trail save dialog visibility
C:setShowSaveTrailDialog(show)Set trail save dialog visibility
C:getShowPresetManager()→ boolGet preset manager visibility
C:setShowPresetManager(show)Set preset manager visibility
C:getShowPresetManagerPtr()→ ImBoolPtrGet preset manager ImGui bool pointer
C:getBoundaryPresetName()→ ImArrayCharGet boundary preset name buffer
C:getPathnodePresetName()→ ImArrayCharGet pathnode preset name buffer
C:getTrailPresetName()→ ImArrayCharGet trail preset name buffer
C:drawMenu(crawlData, trails, waypoints)Render component load/save menus
C:drawDialogs()Render save-name dialogs and component manager

See Also

  • Crawl Editor - Boundaries - Related reference
  • Crawl Editor Input - Related reference
  • Crawl Editor Mission Port Tool - Related reference
  • World Editor Guide - Guide

Crawl Editor Paths

Class-based path and pathnode editor for the Crawl Editor. Manages path creation, node selection, gizmo manipulation, and the ImGui detail panel.

Crawl Editor Starting Positions

Class-based starting position editor for the Crawl Editor. Manages area transform (position, rotation, radius), icon position, and placement with Ctrl-drag rotation.

On this page

ConstructorPreset CategoriesKey MethodsComponent Methods (Level-Based)UI MethodsNotesAll Class MethodsSee Also