Type-safe commands, generated UI, Blueprint registration. QA tests without a programmer.
Built a runtime debugging console that took a balance tweak from a half-hour recompile cycle down to about thirty seconds, and let QA and design test features without pulling a programmer in.
Role: Dev tools engineer. Team: solo. Duration: 3 weeks. Platform: Unreal Engine 5. Tools: C++ · UMG · Blueprints.
Problem: Iteration was bottlenecked by 10 to 15 second C++ recompiles for a single variable tweak, and QA could not test an edge case without pulling a programmer off their own work to do it for them.
Approach: A runtime console where a command declares its parameters and the console builds its own interface from them, so adding a command is a class, not a class plus a widget plus a binding.
Result: The tune-test loop went from around half an hour to about thirty seconds. QA tested god mode, talent grants and checkpoint teleports without me.
The parameters build the UI. The thing that kills most in-house consoles is that every command needs its own widget wiring, so nobody adds commands. Here a command declares its parameter types and reflection maps each type to the right input widget. There is no hand-written binding anywhere, which means the marginal cost of a new command is close to zero, and that is the only reason the command list grew past the handful I wrote in week one.
Declaring a command. A command is one class. It names itself, lists its parameters, and implements Execute. Extraction is type-checked on the way out, so a float field cannot deliver a string and a missing parameter fails loudly rather than silently defaulting to zero.
The fast path stays fast. A single-parameter command fires the moment you pick it. A multi-parameter command opens a modal for structured entry. That split matters more than it sounds: the commands QA runs fifty times a session are the one-parameter ones, and making those cost an extra confirmation dialogue would have quietly killed adoption.
None of it ships. Commands are stripped by preprocessor definition, so the shipping build has no console, no command registry and no way to reach either. This was a hard requirement rather than a nicety: the command list on Slime Slinger includes Delete All SaveFiles and God Mode, and neither belongs anywhere near a player.