Skip to content

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 to MoveSpeed in code.
  • Using "_" converts "Move Speed" in Setup to Move_Speed in code.
  • Set to undefined to 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.

  • undefined keeps original casing from Setup and improves Setup performance at scale.
  • true forces lowercase.
  • false forces 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).