Home

Awesome

Deprecated

This project is no longer maintained. If you are interested in taking over the project, email hi-eng@proletariat.com.


CUDLR

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.

We wrote CUDLR to use in Proletariat's upcoming game, World Zombination. For more info on why we wrote it and other tools we've released, check out our blog.

Features

How do I use CUDLR?

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>)]

License

CUDLR is distributed under The MIT License (MIT), see LICENSE.