Engine Options Reference
Engine options are loaded from two files at startup:
./Engine/Options.xml— engine defaults, shipped with the engine. Never overwritten by the engine at runtime../Data/Options.xml— user overrides. Optional; if absent, engine defaults are used as-is. Values here take precedence over any matching entry in the engine defaults file.
Each option is a <Parameter> entry with a Description (the option name), a Value, and a valueType. Options are global and persist across levels and sessions; they can also be read and modified at runtime through the API (get_options / save_options).
Calling save_options() / saveOptions() writes the current in-memory options to ./Data/Options.xml only — engine defaults are never touched. This means custom values survive engine restarts without risk of corrupting the shipped defaults.
The values below are the defaults shipped with the engine. Unless noted, changing an option takes effect the next time the engine starts; audio channel volumes are applied live.
Note
valueType values map to: Long (integer), Double (floating point),
Boolean (True/False), String (text), Vec4 (X/Y/Z[/W]
coordinate), LongArray / FloatArray (comma-separated lists).
General
Option |
Type |
Default |
Description |
|---|---|---|---|
|
String |
|
Root directory the engine loads game data and assets from. |
|
String |
|
Graphics backend library to load (e.g. OpenGL or OpenGL ES). |
|
String |
|
Render pipeline definition loaded at startup. |
Display
Option |
Type |
Default |
Description |
|---|---|---|---|
|
Long |
|
Game window width in pixels. |
|
Long |
|
Game window height in pixels. |
|
Boolean |
|
Launch in fullscreen. |
|
String |
|
Texture filtering mode: |
Audio
Audio is mixed on five channels (buses). The effective gain of a sound is
per-sound gain × channel volume × master volume. These options are the channel
volumes; see Audio Channels in the Python API
reference. Changes are applied to the mixer immediately.
Option |
Type |
Default |
Description |
|---|---|---|---|
|
Double |
|
Master channel volume, normalized 0.0..1.0. Multiplies every sound. |
|
Double |
|
Music channel volume, normalized 0.0..1.0. |
|
Double |
|
Sound-effects channel volume, normalized 0.0..1.0. |
|
Double |
|
Speech/dialogue channel volume, normalized 0.0..1.0. |
|
Double |
|
Ambient/environmental sound channel volume, normalized 0.0..1.0. |
Player Movement
Option |
Type |
Default |
Description |
|---|---|---|---|
|
Vec4 |
|
Player walk speed. |
|
Vec4 |
|
Player run speed. |
|
Vec4 |
|
General movement speed. |
|
Vec4 |
|
Free-camera (editor / debug) movement speed. |
|
Double |
|
Look sensitivity. Applies equally to mouse and gamepad stick (both normalised to the same unit). See Look Speed and Analog Alignment. |
|
Double |
|
Gamepad analog axis dead zone. Stick values with absolute magnitude below this threshold produce no output. |
|
Double |
|
Jump impulse factor. |
Lighting and Shadows
Option |
Type |
Default |
Description |
|---|---|---|---|
|
Long |
|
Maximum number of simultaneous dynamic lights. |
|
Long |
|
Directional light shadow map resolution. |
|
Long |
|
Point light shadow map width. |
|
Long |
|
Point light shadow map height. |
|
Long |
|
PCF sample count for point light shadows. |
|
Long |
|
PCF sample count for directional light shadows. |
|
Long |
|
Number of cascaded shadow map cascades. |
|
FloatArray |
|
View-space distance splits between shadow cascades. |
|
LongArray |
|
Per-cascade frame offset for staggered shadow updates (cascade 0 updates every frame). |
|
LongArray |
|
Per-cascade update interval in frames. Larger values improve framerate but delay shadow updates. |
|
Double |
|
Back-off distance for the directional light orthographic projection. |
|
Double |
|
Near plane for point light shadow projection. |
|
Double |
|
Far plane for point light shadow projection. |
Ambient Occlusion (SSAO)
Option |
Type |
Default |
Description |
|---|---|---|---|
|
Long |
|
SSAO buffer width. |
|
Long |
|
SSAO buffer height. |
|
Long |
|
SSAO kernel sample count. |
|
Long |
|
SSAO blur radius. |
Culling, LOD and Occlusion
Option |
Type |
Default |
Description |
|---|---|---|---|
|
Boolean |
|
Run visibility culling on worker threads. |
|
LongArray |
|
Distance thresholds selecting LOD level (3 LODs are generated per model, so 4 levels). |
|
Double |
|
Distance at which the engine may start skipping rendering of an object (with |
|
Double |
|
On-screen size (fraction) below which distant objects past |
|
Double |
|
On-screen size above which an object is never skipped (avoids jarring wall/ground pop). |
|
Boolean |
|
Enable software occlusion culling for the player camera. Can be toggled at runtime from the editor. |
|
Long |
|
Models with more meshes than this get occlusion tested per mesh instead of per model. |
|
Long |
|
Software-rasterized depth buffer width (must be a multiple of 8). |
|
Long |
|
Software-rasterized depth buffer height (must be a multiple of 8). |
|
Double |
|
On-screen size threshold for an object to be treated as an occluder for perspective cameras (1 = full coverage). |
|
Double |
|
Same threshold for orthographic (shadow) cameras; optimal value is much lower than for perspective. |
Debugging and Profiling
Option |
Type |
Default |
Description |
|---|---|---|---|
|
Boolean |
|
Show the on-screen logger overlay and tris/lines/FPS counters. |
|
Boolean |
|
Draw debug lines. |
|
Long |
|
Vertex buffer size for debug line drawing. |
|
Boolean |
|
Enable the built-in profiler server. |
|
Boolean |
|
Dump the software-rasterized depth buffer to a PPM file (debug only). |
|
Long |
|
How often (in frames) to dump the software depth buffer when dumping is enabled. |