Unicon
Customize Unity Editor dock icon on macOS. Change the dock icon to distinguish between multiple Unity instances running in parallel.
com.mattun.unicon Install via UPM
Add to Unity Package Manager using this URL
https://www.pkglnk.dev/atarumatsudaira-unicon.git?path=Packages/com.mattun.unicon README Markdown
Copy this to your project's README.md
## Installation
Add **Unicon** to your Unity project via Package Manager:
1. Open **Window > Package Manager**
2. Click **+** > **Add package from git URL**
3. Enter:
```
https://www.pkglnk.dev/atarumatsudaira-unicon.git?path=Packages%2Fcom.mattun.unicon
```
[](https://www.pkglnk.dev/pkg/atarumatsudaira-unicon)README
Unicon
English | ζ₯ζ¬θͺ
Customize Unity Editor dock/taskbar icon on macOS and Windows. Easily distinguish between multiple Unity instances running in parallel.
Features
- Custom Image Icon: Use any image file as your dock icon
- Color Overlay: Apply a color overlay to the Unity icon
- Auto Color Generation: Automatically generate a unique color from project name
- Badge Text: Display custom text on the icon (e.g., "Dev", "Win", "1")
- Auto Apply: Automatically applies icon on editor startup and script reload
- Preferences UI: Easy configuration via Edit > Preferences
Requirements
- Platform:
- macOS 10.13 or later
- Windows 7 or later
- Unity: 2020.3 or later
- Architecture:
- macOS: x86_64, arm64 (Apple Silicon)
- Windows: x86_64
Installation
Via OpenUPM (Recommended)
openupm add com.mattun.unicon
Or add the scoped registry manually to your Packages/manifest.json:
{
"scopedRegistries": [
{
"name": "package.openupm.com",
"url": "https://package.openupm.com",
"scopes": [
"com.mattun.unicon"
]
}
],
"dependencies": {
"com.mattun.unicon": "1.2.4"
}
}
Via Git URL (Unity Package Manager)
- Open Window > Package Manager
- Click + button and select Add package from git URL...
- Enter:
https://github.com/AtaruMatsudaira/Unicon.git?path=Packages/com.mattun.unicon
Via manifest.json
Add the following to your Packages/manifest.json:
{
"dependencies": {
"com.mattun.unicon": "https://github.com/AtaruMatsudaira/Unicon.git?path=Packages/com.mattun.unicon"
}
}
Usage
Quick Start
- Open Edit > Preferences > Unicon
- Enable "Enable Custom Dock Icon" toggle
- Customize as needed:
- Custom Image: Click "Browse" to select an image file
- Color Overlay: Disable "Use Auto Color" and pick a color
- Badge Text: Enter text to display on the icon (e.g., "Dev", "1")
Auto Color
By default, the package generates a unique color based on your project name. This is useful when you want to quickly distinguish between projects without setting custom icons.
Settings
Settings are saved in UserSettings/DockIconSettings.json and automatically excluded from version control.
How It Works
This package uses native plugins to change the dock/taskbar icon at runtime:
- macOS: Uses
UniconPlugin.bundle(Swift) that leveragesNSApplication.applicationIconImageAPI - Windows: Uses
UniconPluginForWindows.dll(C++) that leverages Windows Shell API to change the taskbar icon
Architecture
macOS
βββββββββββββββββββ
β Unity Editor β
β (C# Scripts) β
ββββββββββ¬βββββββββ
β P/Invoke
β
βββββββββββββββββββ
β DockIconPlugin β
β (Swift) β
ββββββββββ¬βββββββββ
β NSApplication API
β
βββββββββββββββββββ
β macOS Dock β
βββββββββββββββββββ
Windows
ββββββββββββββββββββββββ
β Unity Editor β
β (C# Scripts) β
ββββββββββββ¬ββββββββββββ
β P/Invoke
β
ββββββββββββββββββββββββ
β DockIconPluginFor β
β Windows (C++) β
ββββββββββββ¬ββββββββββββ
β Windows Shell API
β
ββββββββββββββββββββββββ
β Windows Taskbar β
ββββββββββββββββββββββββ
API Reference
UniconSettings
// Enable/disable custom dock icon
UniconSettings.Enabled = true;
// Set custom image path
UniconSettings.IconPath = "/path/to/icon.png";
// Enable auto color generation
UniconSettings.UseAutoColor = true;
// Set custom overlay color
UniconSettings.OverlayColor = new Color(1f, 0.5f, 0f, 0.3f);
// Set badge text
UniconSettings.BadgeText = "Dev";
UniconSettings.BadgeTextColor = Color.white;
UniconSettings.BadgeTextFontSizeMultiplier = 1.0f;
// Save settings
UniconSettings.Save();
Troubleshooting
Plugin not loading
macOS
- Check if
UniconPlugin.bundleexists inPackages/com.mattun.unicon/Plugins/Editor/macOS/ - Restart Unity Editor
- Check Console for error messages
Windows
- Check if
UniconPluginForWindows.dllexists inPackages/com.mattun.unicon/Plugins/Editor/Windows/ - Restart Unity Editor
- Check Console for error messages
Icon not changing
- This feature is currently supported on macOS and Windows only (Linux not supported)
- Make sure "Enable Custom Dock Icon" is toggled ON
- Click "Apply Current Settings" button in Preferences
Image not loading
- Only absolute paths are supported (relative paths won't work)
- Use NSImage-compatible formats: PNG, JPG, ICNS, etc.
Building the Plugins
If you need to rebuild the native plugins:
macOS Plugin
cd path/to/Plugins/macOS/UniconPlugin
xcodebuild -project UniconPlugin.xcodeproj \
-scheme UniconPlugin \
-configuration Release \
-arch x86_64 -arch arm64 \
ONLY_ACTIVE_ARCH=NO \
BUILD_DIR=./build \
clean build
# Copy to package
cp -r build/Release/UniconPlugin.bundle \
path/to/Packages/com.mattun.unicon/Plugins/Editor/macOS/
Windows Plugin
cd path/to/Plugins/Windows/UniconPlugin
mkdir build && cd build
cmake ..
cmake --build . --config Release
# Copy to package
cp Release/UniconPluginForWindows.dll \
path/to/Packages/com.mattun.unicon/Plugins/Editor/Windows/
License
MIT License
Copyright (c) 2025 mattun
No comments yet. Be the first!