|
1 | | -# Unity Code Pro - Professional Unity Development in VS Code |
| 1 | +## A word from author |
| 2 | +The Unity extension is not too bad but not that good either, and what's worse, it is not available in VS Code forks. That is why I built Unity Code Pro. So VS Code and any fork can become a real Unity IDE. |
2 | 3 |
|
3 | | -🚀 **Supercharge your Unity development workflow with Unity Code Pro!** |
| 4 | +**⚠️ About the name:** Sorry for the Pro at the end of the name that sounds like a paid extension, I intended to call it Unity Code, but vs marketplace doesn't allow extensions with the same name, and the name is already taken by an extension named Unity Code which was abandoned the day it was published years ago. So I had to change the name to Unity Code Pro, but it is still totally free and open source. |
4 | 5 |
|
5 | | -Unity Code Pro is a powerful Visual Studio Code extension that brings professional Unity development tools directly to your code editor. Unity Code Pro delivers a seamless Unity development experience with comprehensive features for modern Unity development. |
| 6 | +## Description |
6 | 7 |
|
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 | | -> **⚠️ About the name:** Sorry for the Pro at the end of the name that sounds like a paid extension, I intended to call it Unity Code, but vs marketplace doesn't allow extensions with the same name, and the name Unity Code is already taken. So Pro it is, but it is still totally free and open source! |
12 | | -
|
13 | | -## 🎮 Perfect for Unity Developers Who Want: |
| 8 | +Unity Code Pro 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 Pro delivers a seamless Unity development experience with integrated testing, debugging, and intelligent documentation features. |
14 | 9 |
|
| 10 | +**🎯 Perfect for developers who want:** |
| 11 | +- **🤖 AI-Powered Development** - Use advanced AI-powered editors like Cursor, Windsurf, or Trae with full Unity IDE capabilities |
15 | 12 | - **🚀 Faster development cycles** with integrated testing and debugging |
16 | | -- **📖 Better code documentation** with one click access to Unity and .NET docs |
17 | | -- **🔧 Streamlined workflow** without constantly switching between VS Code and Unity Editor |
| 13 | +- **📖 Better code documentation** with one-click access to Unity and .NET docs |
18 | 14 | - **💰 Cost-effective solution** that doesn't require expensive subscriptions |
19 | | -- **⚡ Lightweight tooling** that doesn't slow down their development machine |
20 | | -- **🎯 Professional Unity development** directly in VS Code |
21 | | - |
22 | | -## ✨ Why Choose Unity Code Pro? |
23 | | - |
24 | | -### 🆓 **Completely Free & Open Source** |
25 | | -No subscriptions, no licensing fees. Unity Code Pro is 100% free and open source, giving you full control over your development environment. |
| 15 | +- **⚡ Lightweight tooling** that doesn't slow down your development machine |
26 | 16 |
|
27 | | -### 🔧 **Professional Unity Tools** |
28 | | -Unity Code Pro provides comprehensive Unity development features that enhance your VS Code experience with professional-grade Unity tooling. |
| 17 | +## Features |
29 | 18 |
|
30 | | -### ⚡ **Lightweight & Fast** |
31 | | -Built from the ground up for performance, Unity Code Pro provides powerful features without bloating your editor or slowing down your workflow. |
| 19 | +### 🧪 Unity Test Explorer |
| 20 | +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! |
32 | 21 |
|
33 | | -## 🎯 Awesome Features |
34 | | - |
35 | | -### 🧪 **Unity Test Explorer** |
36 | | -- **Run tests directly in VS Code** - No more switching between Unity and your code editor |
| 22 | +- **Run tests directly in your editor** - No more switching between Unity and your code editor |
37 | 23 | - **Inline test results** - See pass/fail status right where your test methods are defined |
38 | | -- **Clickable stack traces** - Click on stack trace line for failed test to go to the source line where it fails instantly. |
| 24 | +- **Clickable stack traces** - Click on stack trace line for failed test to go to the source line where it fails instantly |
39 | 25 | - **One-click test execution** - Run individual tests or entire test suites with a single click |
40 | 26 | - **Run tests reliably** - You can click run test when Unity is compiling, and it will run the test right after compilation finishes |
41 | 27 |
|
42 | 28 |  |
43 | 29 |
|
44 | | -### 📊 **Unity Console Integration** |
45 | | -- **Real-time Unity logs** - See Unity logs directly in VS Code |
| 30 | +### 📊 Unity Console |
| 31 | +See Unity logs in your code editor with clickable stack trace! |
| 32 | + |
| 33 | +- **Real-time Unity logs** - See all Unity console output directly in your editor |
46 | 34 | - **Clickable stack traces** - Navigate directly to the source of the logs |
47 | 35 | - **Log filtering** - Search specific words to find the logs you need |
48 | 36 |
|
49 | 37 |  |
50 | 38 |
|
51 | | -### 🐛 **Integrated Unity Debugger** |
| 39 | +### 🐛 Unity Debugger |
| 40 | +Attach to Unity Editor from your code editor using the integrated MonoDebugger and crush the bugs! |
| 41 | + |
52 | 42 | - **Seamless debugging experience** - Attach to Unity Editor with one click |
53 | 43 | - **Full breakpoint support** - Set breakpoints, inspect variables, and step through code |
54 | 44 | - **MonoDebugger integration** - Professional-grade debugging capabilities |
55 | | -- **No external tools required** - Everything you need built right into VS Code |
| 45 | +- **No external tools required** - Everything you need built right into your editor |
56 | 46 |
|
57 | 47 |  |
58 | 48 |
|
59 | | -### 📚 **Intelligent Documentation** |
| 49 | +### 📚 Intelligent Documentation |
| 50 | +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. |
| 51 | + |
60 | 52 | - **Hover documentation** - Show links for C# documentation on mouse hover |
61 | 53 | - **Unity API links** - Direct links to official Unity Scripting API documentation |
62 | | -- **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. |
| 54 | +- **Smart context awareness** - Know which Unity package and version this class is from and show you the link to docs |
63 | 55 |
|
64 | 56 |  |
65 | 57 |
|
66 | | - |
67 | | -### 🔍 **Advanced Code Analysis** |
| 58 | +### 🔍 Advanced Code Analysis |
68 | 59 | - **Roslyn-powered static analysis** - Unity-specific code analysis that understands Unity patterns and best practices |
69 | | -- **Real-time problem detection** - See issues, warnings, and suggestions directly in VS Code as you type |
| 60 | +- **Real-time problem detection** - See issues, warnings, and suggestions directly in your editor as you type |
70 | 61 | - **Unity-aware diagnostics** - Specialized analyzers for Unity-specific code patterns and performance optimizations |
71 | 62 | - **Instant feedback** - No need to compile or switch to Unity to see code issues |
72 | 63 |
|
73 | 64 |  |
74 | 65 |
|
75 | | -### 🔄 **Smart Asset Management** |
76 | | -- **Automatic meta file handling** - Unity `.meta` files are automatically renamed or moved when you rename or move files |
| 66 | +### 🔄 Smart Asset Management |
| 67 | +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. |
| 68 | + |
| 69 | +- **Automatic meta file handling** - Unity `.meta` files are automatically renamed when you rename or move files |
77 | 70 | - **Asset database refresh** - Automatic Unity recompilation when you save C# scripts |
78 | | -- **Seamless file operations** - Move, rename, and delete assets with confidence |
79 | | -- **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 |
| 71 | +- **Smart Unity awareness** - Knows about whether you're in play mode, whether Unity maybe compiling, and whether you are running Hot Reload for Unity |
80 | 72 |
|
81 | 73 |  |
82 | 74 |
|
83 | | -## 🌟 What Unity Developers Are Saying: |
84 | | - |
85 | | -*"Finally, a Unity extension that just works!"* |
86 | | - |
87 | | -*"The integrated test runner is a game-changer. I can run my Unity tests without leaving VS Code."* |
88 | | - |
89 | | -*"The hover documentation links saves me so much time."* |
90 | | - |
91 | | -## 🚀 Get Started in Minutes |
92 | | - |
93 | | -1. **Install Unity Code Pro** from marketplace in your code editor |
94 | | -2. **Install the companion Unity package in your Unity project** - [Visual Studio Code Editor](https://github.com/hackerzhuli/com.hackerzhuli.code) |
95 | | -3. **Start coding!** - All features work automatically once installed |
96 | | - |
97 | | -## 🎯 Ready to Transform Your Unity Development? |
98 | | - |
99 | | -Join Unity developers who have already upgraded their workflow with Unity Code Pro. Experience the power of integrated tools and the joy of efficient Unity development directly in VS Code. |
100 | | - |
101 | | ---- |
102 | | - |
103 | | -*Unity Code Pro - Professional Unity Development in VS Code* 🎮✨ |
| 75 | +## Dependencies |
| 76 | +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). |
| 77 | + |
| 78 | +## Installation |
| 79 | +You can install this extension inside your code editor in the integrated marketplace or use the release binary here in this repo. |
| 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 as your own extension to share your build with the community. Your extension will be able to work with my Unity package without issues(mostly). |
| 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(you can also get it from NuGet). |
| 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 | +``` |
0 commit comments