Mission Editor
Main editor tool for creating, editing, and managing gameplay missions. Provides a full ImGui interface for mission properties, conditions, career setup, objectives, start triggers, and flowgraph inte
Main editor tool for creating, editing, and managing gameplay missions. Provides a full ImGui interface for mission properties, conditions, career setup, objectives, start triggers, and flowgraph integration.
Public API
| Function | Signature | Description |
|---|---|---|
M.onEditorInitialized | () | Registers editor window and preferences |
M.onEditorRegisterPreferences | (reg) | Registers mission editor preferences |
M.onEditorGui | () | Main editor GUI callback |
M.onSerialize | () → table | Saves editor state (selected mission, tab) |
M.onDeserialized | (data) | Restores editor state |
M.getMissionList | () → table | Returns the current mission list |
M.clickMission | (m) | Programmatically selects a mission |
M.show | () | Shows the mission editor window |
M.getStartTriggerWindow | () → window | Returns the start trigger sub-editor |
M.getMissionTypeWindow | () → window | Returns the mission type sub-editor |
M.setMissionById | (id, instant?) | Selects a mission by ID |
M.getCurrentEditorHelperWhenActive | () → helper? | Returns active mission type editor helper |
M.reloadMissionSystem | () | Reloads entire mission system and refreshes list |
M.getSelectedMissionId | () → mission? | Returns the currently selected mission |
M.onConsoleLog | (timer, lvl, origin, line) | Console log callback |
Sub-Windows (Tabs)
| Tab | Module | Description |
|---|---|---|
| General Info | inline | Name, description, preview image |
| Additional Info | additionalAttributes | Author, date, difficulty, grouping |
| Career Setup | careerSetup | Career/freeroam flags, rewards, skill |
| Conditions | conditions | Start/visible conditions (nested logic) |
| Dev | dev | Developer notes, dev-only flag |
| Mission Type | dynamic | Type-specific editor (race, delivery, etc.) |
Mission List Features
- Filtering: By level, procedural, career, freeroam, text search
- Grouping: By level, type, date, branch
- Sorting: Configurable sort modes
- New Mission: Create with name, ID, level, type; optional copy
Usage Example
-- Open the mission editor
editor_missionEditor.show()
-- Select a specific mission
editor_missionEditor.setMissionById("west_coast/some_race")
-- Reload after external changes
editor_missionEditor.reloadMissionSystem()Dependencies
gameplay_missions_missions- Mission data and save/loadeditor_raceEditor- Race-specific editingeditor_rallyEditor- Rally-specific editingeditor/missionStartPositionEditor- Start position editing
Module Variables
dependencies(table) -{'gameplay_missions_missions'}forceOpenTree(boolean) - Forces tree open in mission list.lastTabItemShown(string) - Tracks last visible tab.forceOpenTab(nil|string) - Forces a specific tab open.
Additional Exports
M.dependencies
See Also
- Editor AI Tests - Related reference
- Editor AI Visualization - Related reference
- Editor – Assembly Spline Tool - Related reference
- World Editor Guide - Guide
Mesh Spline Editor
Editor tool for placing static meshes along splines. Supports multiple mesh components (main + 3 aliases), start/end caps, random/round-robin distribution, jitter, vertical offset, terrain conforming,
Mission Playbook
Editor extension that provides a **Mission Playbook** - a scripted sequence of mission attempts used to batch-test career progression, rewards, and unlock chains.