debug.json

The engine initializes its debug overlay on boot. It always shows built-in FPS, Conductor info, and Flixel stats, then appends any panels defined in debug.json .

Load Order

Place a custom file at mods/<your-mod>/debug.json to override the fallback at assets/debug.json . To disable all custom panels but keep defaults, set an empty fields array.

File Structure

debug.json contains a top-level object with a fields array. Each entry is a panel represented as an array of label objects stacked vertically.

Label objects support:

Supported Line Types

text

{ "type": "text", "value": "Health: " }
    

variable

{ "type": "variable", "path": "funkin.states.PlayState", "variable": "instance.health" }
    

Runtime Behavior

Example debug.json

Create a custom panel titled "Gameplay" with dynamic labels for health and song name:

{
        "fields": [
        [
        {
        "lines": [
        { "type": "text", "value": "Gameplay" }
        ],
        "size": 18,
        "color": "#80FF80"
        },
        {
        "lines": [
        { "type": "text", "value": "Health: " },
        { "type": "variable", "path": "funkin.states.PlayState", "variable": "instance.health" }
        ]
        },
        {
        "lines": [
        { "type": "text", "value": "Song: " },
        { "type": "variable", "path": "funkin.states.PlayState", "variable": "SONG.song" }
        ],
        "offset": 6
        }
        ]
        ]
        }
    

Notes

Written by Malloy Last updated: Nov 20, 2025 Edit
ALE Psych [Rewritten] · Created by Alejo GD Official and THE VOID · Website by ImMalloy