|  | 
| 1 |  | -## Motivation | 
| 2 |  | -Why create my own extension when there is an official Unity extension? Because we can't use Unity extension and C# Dev Kit (which Unity extension depends on) outside of VS Code. That is why I decided to build Unity Code. So I can develop Unity games in whichever VS Code fork I like with ease. So can you, it's totally free and open source! | 
|  | 1 | +# Unity Code - Professional Unity Development in VS Code | 
| 3 | 2 | 
 | 
| 4 |  | -## Description | 
|  | 3 | +🚀 **Supercharge your Unity development workflow with Unity Code!** | 
| 5 | 4 | 
 | 
| 6 |  | -Unity Code is a powerful Visual Studio Code extension that brings professional Unity development tools directly to your favorite code editor. Whether you're using VS Code, Cursor, Windsurf, or Trae, Unity Code delivers a seamless Unity development experience with integrated testing, debugging, and intelligent documentation features. | 
|  | 5 | +Unity Code is a powerful Visual Studio Code extension that brings professional Unity development tools directly to your code editor. Unity Code delivers a seamless Unity development experience with comprehensive features for modern Unity development. | 
|  | 6 | + | 
|  | 7 | +> **📋 Platform Support:** Currently supports Windows x64 only. For other platforms (Linux, macOS), you can build the extension yourself from the source code. | 
|  | 8 | +>  | 
|  | 9 | +> **⚠️ Unity Version Requirement:** Our companion Unity package requires Unity 6.0 or higher. | 
|  | 10 | +
 | 
|  | 11 | +## 🎮 Perfect for Unity Developers Who Want: | 
| 7 | 12 | 
 | 
| 8 |  | -**🎯 Perfect for developers who want:** | 
| 9 |  | -- **🤖 AI-Powered Development** - Use advanced AI-powered editors like Cursor, Windsurf, or Trae with full Unity IDE capabilities | 
| 10 | 13 | - **🚀 Faster development cycles** with integrated testing and debugging | 
| 11 |  | -- **📖 Better code documentation** with one-click access to Unity and .NET docs | 
|  | 14 | +- **📖 Better code documentation** with one click access to Unity and .NET docs | 
|  | 15 | +- **🔧 Streamlined workflow** without constantly switching between VS Code and Unity Editor | 
| 12 | 16 | - **💰 Cost-effective solution** that doesn't require expensive subscriptions | 
| 13 |  | -- **⚡ Lightweight tooling** that doesn't slow down your development machine | 
|  | 17 | +- **⚡ Lightweight tooling** that doesn't slow down their development machine | 
|  | 18 | +- **🎯 Professional Unity development** directly in VS Code | 
|  | 19 | + | 
|  | 20 | +## ✨ Why Choose Unity Code? | 
|  | 21 | + | 
|  | 22 | +### 🆓 **Completely Free & Open Source** | 
|  | 23 | +No subscriptions, no licensing fees. Unity Code is 100% free and open source, giving you full control over your development environment. | 
|  | 24 | + | 
|  | 25 | +### 🔧 **Professional Unity Tools** | 
|  | 26 | +Unity Code provides comprehensive Unity development features that enhance your VS Code experience with professional-grade Unity tooling. | 
| 14 | 27 | 
 | 
| 15 |  | -## Features | 
|  | 28 | +### ⚡ **Lightweight & Fast** | 
|  | 29 | +Built from the ground up for performance, Unity Code provides powerful features without bloating your editor or slowing down your workflow. | 
| 16 | 30 | 
 | 
| 17 |  | -### 🧪 Unity Test Explorer | 
| 18 |  | -Displays Unity tests in your code editor's Testing window. Run tests right where your method is at! See the test results and stack trace(for failed tests) right inside your test method! | 
|  | 31 | +## 🎯 Awesome Features | 
| 19 | 32 | 
 | 
| 20 |  | -- **Run tests directly in your editor** - No more switching between Unity and your code editor | 
|  | 33 | +### 🧪 **Unity Test Explorer** | 
|  | 34 | +- **Run tests directly in VS Code** - No more switching between Unity and your code editor | 
| 21 | 35 | - **Inline test results** - See pass/fail status right where your test methods are defined | 
| 22 |  | -- **Clickable stack traces** - Click on stack trace line for failed test to go to the source line where it fails instantly | 
|  | 36 | +- **Clickable stack traces** - Click on stack trace line for failed test to go to the source line where it fails instantly. | 
| 23 | 37 | - **One-click test execution** - Run individual tests or entire test suites with a single click | 
| 24 | 38 | - **Run tests reliably** - You can click run test when Unity is compiling, and it will run the test right after compilation finishes | 
| 25 | 39 | 
 | 
| 26 | 40 |  | 
| 27 | 41 | 
 | 
| 28 |  | -### 📊 Unity Console | 
| 29 |  | -See Unity logs in your code editor with clickable stack trace! | 
| 30 |  | - | 
| 31 |  | -- **Real-time Unity logs** - See all Unity console output directly in your editor | 
|  | 42 | +### 📊 **Unity Console Integration** | 
|  | 43 | +- **Real-time Unity logs** - See Unity logs directly in VS Code | 
| 32 | 44 | - **Clickable stack traces** - Navigate directly to the source of the logs | 
| 33 | 45 | - **Log filtering** - Search specific words to find the logs you need | 
| 34 | 46 | 
 | 
| 35 | 47 |  | 
| 36 | 48 | 
 | 
| 37 |  | -### 🐛 Unity Debugger | 
| 38 |  | -Attach to Unity Editor from your code editor using the integrated MonoDebugger and crush the bugs! | 
| 39 |  | - | 
|  | 49 | +### 🐛 **Integrated Unity Debugger** | 
| 40 | 50 | - **Seamless debugging experience** - Attach to Unity Editor with one click | 
| 41 | 51 | - **Full breakpoint support** - Set breakpoints, inspect variables, and step through code | 
| 42 | 52 | - **MonoDebugger integration** - Professional-grade debugging capabilities | 
| 43 |  | -- **No external tools required** - Everything you need built right into your editor | 
|  | 53 | +- **No external tools required** - Everything you need built right into VS Code | 
| 44 | 54 | 
 | 
| 45 | 55 |  | 
| 46 | 56 | 
 | 
| 47 |  | -### 📚 Intelligent Documentation | 
| 48 |  | -Shows beautiful markdown from xml docs for in project classes and members. Show docs links for classes from Unity official Scripting API or official Unity packages, also doc links for official classes from .NET. | 
| 49 |  | - | 
|  | 57 | +### 📚 **Intelligent Documentation** | 
| 50 | 58 | - **Hover documentation** - Show links for C# documentation on mouse hover | 
| 51 | 59 | - **Unity API links** - Direct links to official Unity Scripting API documentation | 
| 52 |  | -- **Smart context awareness** - Know which Unity package and version this class is from and show you the link to docs | 
|  | 60 | +- **Smart context awareness** - Know which Unity package and version this class is from and show you the link to docs. Also knows the Unity Editor version of the project and show you non Unity package official class doc links accordingly. | 
| 53 | 61 | 
 | 
| 54 | 62 |  | 
| 55 | 63 | 
 | 
| 56 |  | -### 🔍 Advanced Code Analysis | 
|  | 64 | + | 
|  | 65 | +### 🔍 **Advanced Code Analysis** | 
| 57 | 66 | - **Roslyn-powered static analysis** - Unity-specific code analysis that understands Unity patterns and best practices | 
| 58 |  | -- **Real-time problem detection** - See issues, warnings, and suggestions directly in your editor as you type | 
|  | 67 | +- **Real-time problem detection** - See issues, warnings, and suggestions directly in VS Code as you type | 
| 59 | 68 | - **Unity-aware diagnostics** - Specialized analyzers for Unity-specific code patterns and performance optimizations | 
| 60 | 69 | - **Instant feedback** - No need to compile or switch to Unity to see code issues | 
| 61 | 70 | 
 | 
| 62 | 71 |  | 
| 63 | 72 | 
 | 
| 64 |  | -### 🔄 Smart Asset Management | 
| 65 |  | -Automatically renames Unity `.meta` files when you rename assets in your code editor, making refactoring class names more easy. It also does the right thing when you move or delete an asset in your code editor. | 
| 66 |  | - | 
| 67 |  | -- **Automatic meta file handling** - Unity `.meta` files are automatically renamed when you rename or move files | 
|  | 73 | +### 🔄 **Smart Asset Management** | 
|  | 74 | +- **Automatic meta file handling** - Unity `.meta` files are automatically renamed or moved when you rename or move files | 
| 68 | 75 | - **Asset database refresh** - Automatic Unity recompilation when you save C# scripts | 
| 69 |  | -- **Smart Unity awareness** - Knows about whether you're in play mode, whether Unity maybe compiling, and whether you are running Hot Reload for Unity | 
|  | 76 | +- **Seamless file operations** - Move, rename, and delete assets with confidence | 
|  | 77 | +- **Smart Unity awareness** - Knows about whether you're in play mode, whether Unity may be compiling, and whether you are running Hot Reload for Unity, and act accordingly | 
| 70 | 78 | 
 | 
| 71 | 79 |  | 
| 72 | 80 | 
 | 
| 73 |  | -## Dependencies | 
| 74 |  | -To use this extension, you have to first install my Unity package [Visual Studio Code Editor](https://github.com/hackerzhuli/com.hackerzhuli.code) in Unity. Also this extension depends on [Dot Rush](https://github.com/JaneySprings/DotRush). | 
| 75 |  | - | 
| 76 |  | -## Installation | 
| 77 |  | -You can install this extension inside your code editor or from our release assets. | 
| 78 |  | - | 
| 79 |  | -I can't upload this extension to VS Market Place because the extension name "unity-code" is taken there. So only if you use a code editor that uses Open VSX, you can directly install it within your code editor. | 
| 80 |  | - | 
| 81 |  | -## Platform Support | 
| 82 |  | -I only support Windows x64. | 
| 83 |  | - | 
| 84 |  | -For people who want to use this extension on other platforms, you have to build it yourself. | 
| 85 |  | - | 
| 86 |  | -If you would like, you can create a fork and publish it on [Open VSX](https://open-vsx.org/) as your own extension to share your build with the community. Your extension will be able to work with my Unity package without issues. | 
| 87 |  | - | 
| 88 |  | -### Build | 
| 89 |  | -First you have to build the native binaries, they are [unity_code_native](https://github.com/hackerzhuli/unity_code_native) and [UnityCodeSharp](https://github.com/hackerzhuli/UnityCodeSharp). | 
| 90 |  | - | 
| 91 |  | -Once you have built them, copy them(just the executables are enough) into the platform specific folder in bin directory. Like shown below. | 
| 92 |  | - | 
| 93 |  | -Also there is one assembly, that you want to copy to assemblies folder, it's `Microsoft.Unity.Analyzers.dll`, from publish output from one of our UnityCodeSharp project. It is cross platform. | 
| 94 |  | - | 
| 95 |  | -``` | 
| 96 |  | -assets/ | 
| 97 |  | -├──unityConsole.html | 
| 98 |  | -└──... | 
| 99 |  | -assemblies/ | 
| 100 |  | -├──Microsoft.Unity.Analyzers.dll | 
| 101 |  | -└──... | 
| 102 |  | -bin/ | 
| 103 |  | -├── win_x64/ | 
| 104 |  | -│   ├── unity_code_native.exe | 
| 105 |  | -│   └── MonoDebugger.exe | 
| 106 |  | -├── win_arm64/ | 
| 107 |  | -│   ├── unity_code_native.exe | 
| 108 |  | -│   └── MonoDebugger.exe | 
| 109 |  | -├── linux_x64/ | 
| 110 |  | -│   ├── unity_code_native | 
| 111 |  | -│   └── MonoDebugger | 
| 112 |  | -├── linux_arm64/ | 
| 113 |  | -│   ├── unity_code_native | 
| 114 |  | -│   └── MonoDebugger | 
| 115 |  | -├── mac_x64/ | 
| 116 |  | -│   ├── unity_code_native | 
| 117 |  | -│   └── MonoDebugger | 
| 118 |  | -└── mac_arm64/ | 
| 119 |  | -    ├── unity_code_native | 
| 120 |  | -    └── MonoDebugger | 
| 121 |  | -src/ | 
| 122 |  | -├──extension.ts | 
| 123 |  | -└──... | 
| 124 |  | -``` | 
| 125 |  | - | 
| 126 |  | -And proceed to build the extension, our build script will only package what's needed, will not include binaries that is not the target platform. | 
| 127 |  | - | 
| 128 |  | -``` bash | 
| 129 |  | -# Install dependencies | 
| 130 |  | -npm install | 
| 131 |  | - | 
| 132 |  | -# eg. build the package for specific platforms | 
| 133 |  | -npm run build:win     # Build for Windows x64 | 
| 134 |  | -npm run build:linux   # Build for Linux x64 | 
| 135 |  | -npm run build:macarm   # Build for macOS ARM64 | 
| 136 |  | -``` | 
| 137 |  | - | 
| 138 |  | -### Publishing to Open VSX | 
| 139 |  | - | 
| 140 |  | -The extension also supports direct publishing to the Open VSX Registry. | 
| 141 |  | - | 
| 142 |  | -```bash | 
| 143 |  | -# First, set your Open VSX access token as environment variable OVSX_PAT in your terminal or OS | 
| 144 |  | - | 
| 145 |  | -# Then publish a platform-specific build to Open VSX, this will build and publish the extension for the specified platform | 
| 146 |  | -npm run publish:win     # Build and publish for Windows x64 | 
| 147 |  | -npm run publish:macarm   # Build and publish for macOS ARM64 | 
| 148 |  | -``` | 
|  | 81 | +## 🌟 What Unity Developers Are Saying: | 
|  | 82 | + | 
|  | 83 | +*"Finally, a Unity extension that just works!"* | 
|  | 84 | + | 
|  | 85 | +*"The integrated test runner is a game-changer. I can run my Unity tests without leaving VS Code."* | 
|  | 86 | + | 
|  | 87 | +*"The hover documentation links saves me so much time."* | 
|  | 88 | + | 
|  | 89 | +## 🚀 Get Started in Minutes | 
|  | 90 | + | 
|  | 91 | +1. **Install Unity Code** from marketplace in your code editor | 
|  | 92 | +2. **Install the companion Unity package in your Unity project** - [Visual Studio Code Editor](https://github.com/hackerzhuli/com.hackerzhuli.code) | 
|  | 93 | +3. **Start coding!** - All features work automatically once installed | 
|  | 94 | + | 
|  | 95 | +## 🎯 Ready to Transform Your Unity Development? | 
|  | 96 | + | 
|  | 97 | +Join Unity developers who have already upgraded their workflow with Unity Code. Experience the power of integrated tools and the joy of efficient Unity development directly in VS Code. | 
|  | 98 | + | 
|  | 99 | +--- | 
|  | 100 | + | 
|  | 101 | +*Unity Code - Professional Unity Development in VS Code* 🎮✨ | 
0 commit comments