Releases: DirtybitGames/unityctl
v0.5.0
What's Changed
Features
- Add per-request timeout override for long-running script executions (#21). This allows script execution to be used to run builds.
- Improve update command: skill updates, downgrade support, reliable bridge kill
Bug Fixes
- Fix wait command returning before editor is ready to accept commands (#20)
Improvements
- Harden WebSocket reconnection logic in Unity plugin (#22)
Documentation
- Enhance compile command description in SKILL.md
- Increase timeout for Unity script eval example in skill
Full Changelog: v0.4.2...v0.5.0
v0.4.2
What's Changed
Bug Fixes
- Fix Unity 2022.3 compatibility for package installation (#19)
- Lower minimum Unity version from
6000.0to2022.3in package.json - Convert Protocol DLL meta file to backward-compatible serializedVersion 2 format
- Lower minimum Unity version from
Full Changelog: v0.4.1...v0.4.2
v0.4.1
What's Changed
Features
Video Recording — New record command for capturing game view video via the Unity Recorder package:
unityctl record start— Start recording (manual stop)unityctl record start --duration 10— Record for a fixed duration, blocks until doneunityctl record stop— Stop recording, returns file path and durationunityctl record status— Check if a recording is in progress
Suppress safe mode dialog — Unity Editor no longer prompts for safe mode on launch via unityctl editor run
Bug Fixes
- Fix WebSocket reconnection race where old handler clobbers new connection
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's Changed
Features
- Add
waitcommand to block until Unity is connected - Add
script evalcommand for quick C# expression evaluation - Surface compilation status in asset refresh output
- Display compilation error details (file, line, column) in CLI output
Bug Fixes
- Fix bridge returning 503 during domain reload after
play.exit - Fix command timeouts evaluated at static init instead of request time
- Fix exit codes across all CLI commands for programmatic failure detection
- Fix thread safety and correctness issues across bridge and Unity plugin
- Fix
waitcommand resource leak, config lookup, and eval semicolon heuristic
Improvements
- Remove
play togglecommand - Replace polling waits with TCS-based signaling
- Lower editor plugin max reconnect backoff from 30s to 15s
- Refactor BridgeEndpoints
/rpcinto named static methods - Detect compilation via
compilation.startedinstead ofcompilation.finished
Testing & CI
- Add comprehensive test suite with FakeUnityClient infrastructure (108 tests)
- Add CI workflow to run tests on push
- Fix flaky tests and weak assertions
Documentation
- Add testing section to CLAUDE.md
- Fix incorrect command in troubleshooting docs
- Restore script execute example template in SKILL.md
Full Changelog: v0.3.6...v0.4.0
v0.3.6
What's Changed
Bug Fixes
- Fix CLI self-update failing on Windows due to locked executable
Improvements
- Move skill to .claude/skills and use PascalCase for script names
Full Changelog: v0.3.5...v0.3.6
v0.3.5
What's Changed
Features
- Add release skill for automated version releases
Improvements
- Streamline unity-editor skill for context efficiency
- Use /tmp for script execution in skill docs
Full Changelog: v0.3.4...v0.3.5
v0.3.4
New Feature: Script Arguments
Pass arguments to scripts executed via unityctl script execute using the standard -- separator:
unityctl script execute -f my-script.cs -- arg1 arg2 "arg with spaces"
Scripts can receive arguments by using the Main(string[] args) signature:
public class Script
{
public static object Main(string[] args)
{
return $"Received {args.Length} arguments";
}
}
Scripts with Main() (no parameters) continue to work unchanged.
Full Changelog: v0.3.3...v0.3.4
v0.3.3
0.3.2
New Features
CLI Onboarding Commands (resolves #8)
unityctl setup- One-command setup that auto-detects Unity projects, configures the bridge, adds the Unity package, and
installs the Claude Code skillunityctl config set/get/list- Manage CLI configurationunityctl package add/remove/update/status- Manage the UnityCtl Unity packageunityctl skill add/remove/status- Manage the Claude Code skill installationunityctl update- Self-update the CLI, bridge, and Unity package
Install Scripts
- Added install.sh for macOS/Linux one-liner installation
- Added install.ps1 for Windows one-liner installation
Bug Fixes
- Fix package URL containing git hash - Version URLs now correctly strip build metadata (e.g., +826b410a) that .NET SDK appends
Changes
- Skill now prefers
script execute -fover-cfor better reliability
PRs
Full Changelog: v0.3.1...v0.3.2
v0.3.1
Installation
Install the CLI and Bridge tools globally:
dotnet tool install -g UnityCtl.Cli --version 0.3.1
dotnet tool install -g UnityCtl.Bridge --version 0.3.1Or update existing installations:
dotnet tool update -g UnityCtl.Cli
dotnet tool update -g UnityCtl.BridgeUnity Package Installation
Add this to your Unity project's manifest.json:
{
"dependencies": {
"com.dirtybit.unityctl": "https://github.com/DirtybitGames/unityctl.git?path=UnityCtl.UnityPackage#v0.3.1"
}
}NuGet Packages
Full Changelog: v0.3.0...v0.3.1