CUDLR (Console for Unity Debugging and Logging Remotely) is a remote developer console for Unity. Instead of struggling to enter console commands on a mobile devices or having to constantly export debugging logs from a device, CUDLR lets you use your development machine to enter debug commands and see their output or any log messages or stack traces.
To do this, CUDLR starts a webserver on the target device to host static files and exposes a HTTP API for executing commands which can interface with your project.
- Supports iOS, Android, PC/Mac Standalone, and the Unity Editor
- Capture Unity log messages and stack traces
- Console runs in any browser
- Copy/paste from/to the console
- Tab completion
- Command history
- Standard text-entry shortcuts (ctrl-a, ctrl-e, etc)
- Uses standard HTML/CSS for layout
How do I use CUDLR?
- Download the unitypackage from github or the Unity Asset Store and import it in to your project.
- Create an empty GameObject in the scene and add the CUDLR->Server component.
- Set the port on the component (default value is 55055).
- Add the CUDLR.Command attribute to your code.
- Run the game and connect to http://localhost:55055 with your browser.
An example CUDLR Server GameObject prefab is located in Assets/CUDLR/Examples. Add the GameObject to the scene, run the game, and connect to the console with your browser.
An example of adding commands is available here.
Adding Additional Commands
Add a ConsoleCommand attribute to any static method. When the Command String is entered into the console the Delegate will be called passing in any additional arguments used in the console.
[CUDLR.Command(<Command String>, <Description>, <Optional: flag to run on main thread>)]
The CUDLR.Command Callback Delegate returns void and either takes void or a string of arguments.
public delegate void Callback(string args); public delegate void CallbackSimple();
Delegate functions can output data to the console by calling the CUDLR Console Log function or using Unity's built-in logging.
CUDLR.Console.Log( <Log String> );
Adding Additional Routes
Add a CUDLR Route attribute to any static method. When the route regex is matched, the Delegate will be called passing in the http context and optionally the regex result.
[CUDLR.Route(<Route Pattern>, <Optional: Method Pattern>)]
CUDLR is distributed under The MIT License (MIT), see LICENSE.