Developer Console for Unity with easy integration to existing projects.
Forked to support development of Scorching Engines.
No compatibility with other Unity versions than the one used for SE's development will be tested, and may not be supported.
Development will cater to SE's requirement first and foremost, so might not cater to others needs.
Features not needed for SE might be stripped.
- Development cheats
- Debug assistance
- In game cheat codes, change settings easily etc
- Download and import DeveloperConsole package into your project
- Drag & drop DeveloperConsole prefab into your scene
- Add
[ConsoleCommand()]attribute to your methods like below. See ConsoleExamples.cs for all examples. - Make sure your script is attached to a gameobject in the scene. As monobehaviour scripts not attached to a gameobject won't be picked up.
- Play your scene and press
§to toggle Developer Console
using UnityEngine;
public class ExampleScript : MonoBehaviour {
[ConsoleCommand("test")]
private void Test() {
Debug.Log("Called 'test' from Console!");
}
[ConsoleCommand("test_int")]
private void TestInt(int i) {
// single parameter allowed types:
// int, float, string, bool, double, char, string[], Vector2, Vector3, Vector4, Quaternion
Debug.Log(string.Format("Called 'test_int' with value: {0} from Console!", i));
}
[ConsoleCommand("test_multi")]
private void TestMulti(int i, float f) {
// multi parameter allowed types:
// int, float, string, bool, double, char
Debug.Log(string.Format("Called 'test_multi' with value: {0} and {1} from Console!", i, f));
}
}- Call static, non-static and Unity Coroutines methods (both public and private) (Use [Preserve] if Unity is stripping your methods)
- No parameter and optional parameter(s) support
- Single parameter support with following types:
- int, float, string, bool, double, char, string[], Vector2, Vector3, Vector4, Quaternion
- Multi parameter support with following types:
- int, float, string, bool, double, char
- Easy drag & drop setup
- Mono and IL2CPP support
- Desktop and WebGL support
- Domain/Scene reload support (Enter Play Mode)
- Simple static runtime API
- 2 GUI styles: Large and Minimal
- Draggable & resizable window (Large GUI only)
- Log messages into Console Window (
Console.Log,Debug.LogandDebug.LogError) - Input predictions
- Settings to tweak
- GUI themes (Dark, Darker, Red or Custom)
- Documentation and example scenes
Developer Console comes with few commands by default.
help- Print list of available commandsquit- Quit the applicationclose- Close Consoleclear- Clear all Console messagesreset- Reset Console window to default size and position (Large GUI only)max_fps (int)- Set Application.TargetFrameRateconsole_style- Toggle GUI style between Large and Minimal
Editor and Development build only:
scene_loadindex (int)- Load scene asynchronously by build indexscene_addloadindex (int)- Load scene asynchronously additively by build indexscene_loadname (string)- Load scene asynchronously by scene namescene_unloadindex (int)- Unload scene asynchronously by build indexscene_unloadname (string)- Unload scene asynchronously by scene namescene_information- Print Scene count and namesempty- Log empty line to consoledebug_renderinfo- Print rendering information: High and Avg FPS, highest draw call, batches, triangle and vertices count. This command is editor only.log_to_file- Log all current messages to .txt file. This command is Editor only.
Console.Log("hello") to output directly into Developer Console window.
Console.Log("hello", Color.red) with color.
Console.Log("<color=red>hello</color>") with Rich Text color.
By default Unity Debug.Log() or Debug.LogError() messages will also output to Developer Console.
- Requires
Unity 2019 or laterUnity 6.1 currently. Support with other versions than whats used for SE is not guaranteed - Uses old Unity input system
- Uses Gameobject based UI
- Uses TextMeshPro