Configuration
This page provides an overview of all Figgy configuration macros. These settings control how the Interface is built, how config files are saved and loaded, and how various Widgets behave at runtime.
General
FIGGY_DEBUG
Default:
true.
Whether to show debug messages in the Output window (true) or not (false).
FIGGY_SHOW_DEBUG_OVERLAY
Default:
undefined.
Controls when the Debug Overlay is shown on game startup.
undefined: Show the Debug Overlay if at least one Figgy Window is visible.true: Always show the Debug Overlay.false: Never show the Debug Overlay.
FIGGY_BUILD_INTERFACE
Default:
__FIGGY_IN_IDE(when running from IDE).
Whether to build the Figgy debug interface (true) or not (false). By default, this is enabled when running the game from IDE and disabled when running from EXE, using the __FIGGY_IN_IDE status macro.
FIGGY_SPACE_REPLACER
Default:
"".
Symbol used to replace spaces in variable names when generating config fields.
- Using
""converts"Move Speed"in Setup toMoveSpeedin code. - Using
"_"converts"Move Speed"in Setup toMove_Speedin code. - Set to
undefinedto disable replacement when not needed. Improves Setup performance at scale.
WARNING
Changing this mid-project will invalidate existing saved configs. Decide on this early.
FIGGY_LOWERCASE
Default:
undefined.
Determines casing for generated config fields.
undefinedkeeps original casing from Setup and improves Setup performance at scale.trueforces lowercase.falseforces UPPERCASE.
File
FIGGY_FILE_NAME
Default:
"config".
The config file name.
TIP
Read about file handling in Persistence.
FIGGY_FILE_EXT
Default:
".figgy".
The config file extension.
TIP
Read about file handling in Persistence.
FIGGY_FILE_DELTA
Default:
true.
Delta input/output mode. When enabled (true), only variables that differ from their default values are saved. When disabled (false), all variables are saved regardless of whether they match defaults. Useful for inspecting or exporting the full config state.
WARNING
Setting this to false may reduce input/output performance at scale.
TIP
Read about file handling in Persistence.
FIGGY_FILE_PRETTIFY
Default:
true.
Whether to format the config file for readability by prettifying the output JSON (true) or keep it compact (false).
TIP
Read about file handling in Persistence.
FIGGY_FILE_OBFUSCATE
Default:
false.
Whether to obfuscate (base64 encode and compress) the config file (true) or not (false). Set to true to make the config file unreadable to users.
TIP
Read about file handling in Persistence.
Controls
FIGGY_CONTROLS_NAME
Default:
"[CONTROLS]".
The name of the Controls Section.
FIGGY_CONTROLS_OPEN
Default:
true.
Whether the Controls Section starts open (true) or not (false).
FIGGY_CONTROLS_IN_EVERY_WINDOW
Default:
true.
Whether to include the Controls Section in every window (true) or not (false). If set to false, the Controls Section will only be included in the first window.
Scope Widgets
FIGGY_WINDOW_NAME
Default:
"Figgy".
- The name of the default window that's created if no .Window() calls are made.
- The prefix used for custom Windows (e.g.
"Figgy: Player").
FIGGY_WINDOW_DEFAULT_START_VISIBLE
Default:
false.
Whether Figgy Windows start visible by default (true) or not (false).
FIGGY_WINDOW_DEFAULT_X
Default:
8.
Default X position of Figgy Windows.
FIGGY_WINDOW_DEFAULT_Y
Default:
27.
Default Y position of Figgy Windows.
FIGGY_WINDOW_DEFAULT_WIDTH
Default:
400.
Default width of Figgy Windows.
FIGGY_WINDOW_DEFAULT_HEIGHT
Default:
600.
Default height of Figgy Windows.
FIGGY_SECTION_DEFAULT_OPEN
Default:
true.
Whether Sections are open by default (true) or not (false).
FIGGY_GROUP_DEFAULT_ALIGN
Default:
0.
Default Group text alignment. 0 is left, 1 is center, 2 is right.
FIGGY_UNSCOPED_NAME_FORMAT
Default:
"{0}".
The custom String Format for unscoped Section and Group names (with .NoScope() called beforehand).
TIP
You may want to set this to something like "[{0}]" or "[-{0}-]" for extra interface clarity.
Value Widgets
FIGGY_SLIDER_BUTTONS
Default:
false.
Whether to include -/+ cycling buttons for .Int() and .Float() Value Widgets (true) or not (false).
WARNING
If true, might slow down Setup at scale.
FIGGY_INT_DEFAULT_STEP
Default:
1.
Default step increment for .Int() Value Widgets.
FIGGY_FLOAT_DEFAULT_STEP
Default:
0.1.
Default step increment for .Float() Value Widgets.
FIGGY_REAL_BUTTONS
Default:
false.
Whether to include -/+ cycling buttons for .Real() Value Widgets (true) or not (false).
WARNING
If true, might slow down Setup at scale.
FIGGY_DROPDOWN_BUTTONS
Default:
true.
Whether to include -/+ cycling buttons for .Any(), .Curve(), and .Asset() Value Widgets (true) or not (false).
WARNING
If true, might slow down Setup at scale.
Decor Widgets
FIGGY_BUTTON_DEFAULT_SAME_LINE
Default:
false.
Whether Buttons should be placed on the same line with the last widget by default (true) or not (false).
FIGGY_COMMENT_DEFAULT_SAME_LINE
Default:
false.
Whether Comments should be placed on the same line with the last widget by default (true) or not (false).
FIGGY_SEPARATOR_DEFAULT_ALIGN
Default:
0.
Default Separator text alignment. 0 is left, 1 is center, 2 is right.
Changes
FIGGY_CHANGES_ENABLED
Default:
__FIGGY_IN_IDE(when running from IDE).
Whether to enable the Changes tracking system (true) or not (false).
By default, this is enabled when running the game from IDE and disabled when running from EXE, using the __FIGGY_IN_IDE status macro.
WARNING
Set this to false to improve performance at scale.
FIGGY_CHANGES_DEFAULT_CALLBACK
Default:
undefined.
The default function to call when a Value Widget value is changed. undefined stands for "no function".
Arguments passed to the callback: (newValue, oldValue, variableName).
