AI agents specialized in Unity 6000.3 LTS development. Built on OpenCode with an orchestrator + specialized sub-agents architecture.
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/Ulysses-Alv/Unity-Agent-Expert/main/scripts/install.sh | bash# Windows PowerShell
irm https://raw.githubusercontent.com/Ulysses-Alv/Unity-Agent-Expert/main/install.ps1 | iexThis installs the unity-agent-expert CLI to ~/.local/bin (Linux/macOS) or %LOCALAPPDATA%\unity-agent-expert\bin (Windows).
After installation, add the binary to your PATH:
Linux/macOS:
export PATH="$PATH:$HOME/.local/bin"
# Add to ~/.bashrc or ~/.zshrc to persistWindows PowerShell:
[Environment]::SetEnvironmentVariable('PATH', $env:PATH + ';$env:LOCALAPPDATA\unity-agent-expert\bin', 'User')unity-agent-expert --helpInstalls Unity agents, prompts, and skills into the OpenCode configuration.
unity-agent-expert install --provider gpt # Install with GPT models
unity-agent-expert install --provider claude # Install with Claude models
unity-agent-expert install --dry-run # Preview changes
unity-agent-expert install --force # Overwrite existingIdempotently re-applies configuration (updates model assignments, etc.).
unity-agent-expert sync # Re-apply last provider
unity-agent-expert sync --provider claude # Change to Claude modelsChecks installation health.
unity-agent-expert doctorShows version information.
unity-agent-expert version| Provider | Models Used |
|---|---|
opencode |
MiniMax M2.7 for general tasks; MiMo-V2-Pro for graphics/animation/VFX |
claude |
Claude Sonnet 4 for all agents |
gpt |
GPT-4o for complex tasks; GPT-4o-mini for lighter tasks |
gemini |
Gemini 2.5 Pro for complex tasks; Gemini 2.5 Flash for faster responses |
custom |
User-defined models in presets.json |
.
├── unity-expert/ # Go CLI source
│ ├── cmd/unity-expert/ # Main entry point
│ ├── internal/ # Internal packages
│ │ ├── cli/ # CLI commands (install, sync, doctor)
│ │ ├── config/ # OpenCode config handling
│ │ ├── install/ # Install pipeline
│ │ ├── backup/ # Backup system (tar.gz)
│ │ └── embed/ # Embedded assets
│ ├── prompts/ # Embedded prompts
│ ├── skills/ # Embedded skills
│ └── .goreleaser.yaml # Multi-platform build config
│
├── install.ps1 # Bootstrapper installer (root)
├── scripts/
│ ├── install.sh # Linux/macOS bootstrapper
│ ├── install.ps1 # Legacy installer (full logic)
│ └── install-legacy.ps1 # Legacy installer (full logic, backup)
│
├── opencode/ # OpenCode configuration
│ ├── config/
│ │ └── agents.json # Agent definitions
│ └── prompts/unity/ # Prompts for each agent
│
└── skills/ # Knowledge skills
├── unity-3d-graphics/ # URP, shaders, lighting
├── unity-2d/ # Sprites, tilemaps, 2D physics
├── unity-physics/ # Colliders, joints, rigidbody
├── unity-scripting/ # MonoBehaviour, C#, Jobs
├── unity-animation/ # Animator, Timeline, Playables
├── unity-audio/ # AudioSource, AudioMixer
├── unity-editor/ # EditorWindow, Custom Inspectors
├── unity-performance/ # Profiling, optimization
├── unity-build-deploy/ # BuildPlayerOptions, IL2CPP
├── unity-vfx/ # Particle Systems, VFX Graph
├── unity-input/ # Input System (not legacy)
├── unity-xr/ # AR Foundation, VR
├── unity-ui-* # UI Toolkit (UXML, USS, C#)
├── unity-cinemachine/ # Virtual cameras, Timeline
├── unity-addressables/ # Async loading, AssetBundles
├── unity-packages/ # Package Manager
└── unity-shadergraph/ # Shader Graph, nodes, Master Stack
The system uses a bootstrapper + CLI architecture:
┌─────────────────────────────────────────────────────────────┐
│ install.ps1 / install.sh (bootstrapper) │
│ Downloads unity-agent-expert binary │
│ Installs to ~/.local/bin or %LOCALAPPDATA%\ │
└──────────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ unity-agent-expert (CLI) │
│ ├── install → Installs agents, prompts, skills │
│ ├── sync → Idempotent re-apply │
│ ├── doctor → Health checks │
│ └── version → Version info │
└──────────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ ~/.config/opencode/ │
│ ├── opencode.json # Modified with Unity agents │
│ ├── prompts/unity/ # Copied prompts │
│ └── skills/unity-6000/ # Copied skills │
└─────────────────────────────────────────────────────────────┘
# Update the CLI
unity-agent-expert update
# Or re-run the bootstrapper
irm https://raw.githubusercontent.com/Ulysses-Alv/Unity-Agent-Expert/main/scripts/install.ps1 | iexEvery install automatically creates a backup:
- Location:
~/.unity-expert/backups/ - Format:
tar.gzwithmanifest.json - Auto-prune: keeps 5 most recent
To rollback, use the restore command or restore from a specific backup.
- OpenCode installed
- PowerShell 5.1+ (Windows) or bash (Linux/macOS)
- Access to
~/.config/opencode/
Contributions are welcome! Here's how you can help:
- Report bugs — Open an issue with reproduction steps
- Suggest features — Open an issue with your proposal
- Improve documentation — Skills, prompts, or README improvements
- Add new skills — Extend Unity domain coverage
- Submit code — PRs for bug fixes or new features
# Clone the repo
git clone https://github.com/Ulysses-Alv/Unity-Agent-Expert.git
cd Unity-Agent-Expert
# Prerequisites
- Go 1.21+
- goreleaser (for releases)
# Build locally
cd unity-expert
go build -ldflags "-X main.version=1.0.0" -o unity-agent-expert.exe ./cmd/unity-expert
# Run tests
go test ./...
# Build release
goreleaser build --cleanReleases are automated with goreleaser. To create a release:
# Ensure GITHUB_TOKEN is set
export GITHUB_TOKEN="your-github-token"
# Create and push version tag
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
# Run goreleaser
cd unity-expert
goreleaser release --clean- Write clear commit messages (conventional commits preferred)
- Add tests for new functionality
- Run
go fmtbefore committing - Update this README if you add new features
MIT License
This project was built quickly (in ~2 days), heavily relying on AI.
I used this as an experiment: to see how far I could go building something I don’t fully know how to do, by leaning on AI for speed and exploration. Many of these things I could have learned “properly” — but that would have taken weeks.
Because of that:
- Some architectural decisions might be wrong
- There are probably inconsistencies or rough edges
- Parts of the system were left to AI judgment rather than deep expertise
And that’s kind of the point.
Ship fast, learn faster.
This project prioritizes momentum over perfection. It exists because it works — not because it’s clean.
If you want to contribute, I encorauge you to do the same:
- Use AI to explore and build
- Question the results
- Improve what’s already here
Recommended reading:
- gentle-ai/gentle-ai — inspiration for the bootstrapper + CLI architecture
- SDD Workflow — how to use AI agents for software development