UnityREPL is a REPL (Read, Eval, Print, Loop) tool based on Miguel’s CSharpRepl but for Unity.
What’s a REPL? See the Wikipedia article. or the demo videos on the Wiki.
Please note that this requires UnityGUIExtensions. The .unitypackage includes everything you need
- Grab the .unitypackage from the downloads page.
- Open your project.
- Click “Assets” → “Import Package…” from the menu, and select the file.
You must have External Version Control enabled to use these instructions. If not, please download the .unitypackage and use that.
cd myproject/
mkdir -p Assets/Editor/
git clone git://github.com/MrJoy/UnityREPL.git Assets/Editor/UnityREPL
git clone git://github.com/MrJoy/UnityGUIExtensions.git Assets/UnityGUIExtensions
By setting up this way, you can track updates using “git pull”.
You must have External Version Control enabled to use these instructions. If not, please download the .unitypackage and use that.
cd myproject/
mkdir -p Assets/Editor
git submodule add git://github.com/MrJoy/UnityREPL.git Assets/Editor/UnityREPL
git submodule add git://github.com/MrJoy/UnityGUIExtensions.git Assets/UnityGUIExtensions
git submodule init
git submodule update
- Click “Window” → “C# Shell”
- Dock the new tab wherever you wish, and enjoy!
From this window you can enter C# code and run it. You should have access to all classes you’ve defined in C#, JavaScript, or Boo in your project.
Tested on Unity 5.2.2, but may work on slightly earlier versions.
Will definitely not work on older versions of Unity (4.x and below).
Full documentation is available from within UnityREPL by clicking the ‘?’ button on the toolbar.
All original/novel code is Copyright © 2009-2015 Jon Frisby. All other code is the property of the respective authors.
Dual licensed under the terms of the MIT X11 or GNU GPL, as per the original code.
The included Mono.CSharp.dll is a completely unmodified copy from Mono 2.4., please see the Mono Project for details on obtaining source to it.
- Undo functionality.
- Editing history support (Bash style).
- Smooth out some hiccups with assembly reloads.
- Local vars getting blown away.
- Make sure we’re not leaking references to things.
- Add things to UnityBaseClass to help with Unity workflows.
- Lots of other little things; see the source code for more info.