ReflexCLI
Welcome to the user documentation for ReflexCLI - a reflection-based Command Line Interface for debugging in the Unity Game Engine. The goal of the tool is to provide an in-game debugging tool that is powerful and highly extensible, while requiring minimal setup and minimal modifications to game code.
What Does it Do?
In short, you can tag methods in your code with a [ConsoleCommand]
attribute, and these will then become available in the Reflex Console, for easy debugging. As a trivial example:
using ReflexCLI.Attributes; class ConsoleTest { [ConsoleCommand] static int MultiplyAndFloor(float a, float b) }
would become a console command, called ConsoleTest.MultiplyAndFloor
, that takes two floating point parameters and prints an integer return value to the console.
Key Features
- Simple setup and integration.
- Intuitive command console with suggestions, history and autocomplete.
- Turn almost any method, field or parameter into a command line command.
- Handles custom commands with arbitrary parameter lists.
- Allows you to easily extend the console to support custom types as parameters
- All code excluded from Release builds (editor/development builds only).
Limitations
ReflexCLI will support all versions of Unity 2018.4 and newer. Right now it is limited to the old Input Manager (UnityEngine.Input
)system. I am looking into support for the new Input System (UnityEngine.InputSystem
). The new system does not support UI text InputFields
and there is minimal documentation for the new system, it will take a while to figure out how to implement the text input and package the system with support for both. This is the highest priority feature on the roadmap though.
Get Started
Reflex is available on the Asset Store. Download the package into your Unity project and you should be good to go. Check out the Installation Instructions for details on how to verify the console is working correctly.