Prerequisites
Before using the plugin, ensure you have:- Unity 6 (6000.0.0f1) or later
- Diversion Desktop app installed, running, and signed in (Quickstart)
- Your Unity project initialized as a Diversion repository (via Desktop app or CLI)
Installation
Closed Beta
The Unity plugin is currently in closed beta. Join our Discord server to get early access and provide feedback.
1
Download the plugin
Download the plugin package from the link provided in Discord.
2
Open Package Manager
In Unity, go to
Window > Package Management > Package Manager.3
Add package from tarball
Click the
+ button in the top-left corner and select Add package from tarball....Navigate to your downloaded file and select it.4
Wait for installation
Unity will install the plugin automatically.
Configuration
After installing the plugin, configure it to use Diversion as your version control provider.1
Open Version Control settings
Go to
Edit > Project Settings > Version Control.2
Select Diversion as provider
From the
Mode dropdown, select Diversion.3
Verify connection
Expand the
Diversion section under Version Control to view the Diversion settings panel. It shows your connection status:- Connected - Ready to use
- Agent Not Running - Start the Diversion Desktop app
- Not a Workspace - Initialize your project as a Diversion repository via the Desktop app or CLI
The Diversion Window
Access the main Diversion window viaWindow > Diversion. This is your central hub for version control operations.
Header Bar
The header displays:- Branch - The active branch name
- Status - Sync state (Synced, Syncing, or Paused)
- Refresh button - Manually refresh the connection and file status
- Settings button - Opens Version Control settings
Changes List
The changes section shows all modified files in your workspace:- Select All toggle - Quickly select or deselect all files
- File count - Total number of changed files
- View in Desktop - Open Diversion Desktop to view detailed diffs
- Reset All - Discard all uncommitted changes
Commit Panel
At the bottom of the window:- Commit Message - Enter a description of your changes
- Reset Selected - Discard changes for selected files only
- Commit - Commit the selected files with your message
File Status Icons
Files in both the Diversion window and the Project window show status icons:- Green circle (+) - Added file
- Orange circle - Modified file
- Red circle (-) - Deleted file
- Yellow circle (!) - Potential conflict with another user’s changes
Conflict Prevention
Diversion helps prevent merge conflicts by alerting you when teammates are editing the same files.Opening Files
When you double-click to open an asset that another team member is currently editing, a warning dialog appears showing:- Who is editing the file
- Which branch they’re working on
- When they last modified it
Saving Files
When saving files with potential conflicts, you’ll see a dialog with three options:- Save Anyway - Save all files regardless of conflicts
- Cancel - Don’t save any files
- Skip Conflicted - Save only files without conflicts
Disabling Warnings
If you prefer not to see conflict warnings, you can disable them in the settings:- Go to
Edit > Project Settings > Version Control - Expand the
Diversionsection - Uncheck Show Conflict Warnings
Note
Even with warnings disabled, the yellow conflict icons (!) still appear in the Project window to help you identify files being edited by others.
Auto-Reload Behavior
When external changes are detected (such as switching branches, resetting files from the Desktop app, or incoming commits from teammates) the plugin automatically refreshes Unity’s Asset Database and reloads open scenes. This ensures your Unity Editor stays in sync with the latest files without manual intervention.Note
If you have unsaved changes in your scenes, Unity will prompt you to save before reloading. Your unsaved work will not be lost.
Play Mode Sync
The plugin automatically pauses sync when entering Play Mode and resumes when exiting. This prevents file changes from teammates from disrupting your testing session. When you exit Play Mode, sync resumes automatically and any changes that arrived while paused will be applied.Settings
Configure the plugin viaEdit > Project Settings > Version Control > Diversion.
| Setting | Default | Description |
|---|---|---|
| Auto-Refresh State | On | Periodically refresh connection and file status |
| Auto-Reload Scenes | On | Reload open scenes when external changes are detected |
| Show Conflict Warnings | On | Show dialogs when opening or saving files with potential conflicts |
Quick Actions
The settings panel also provides buttons for common actions:- Open Diversion Window - Opens the main plugin window
- Open Diversion Desktop - Launches the Diversion Desktop app
- Refresh Connection - Manually refresh the agent connection
- Documentation - Opens this documentation
Troubleshooting
Agent Not Running
Problem: The plugin shows “Agent Not Running” status. Solution:- Start the Diversion Desktop app
- Make sure you’re logged in
- Click Refresh Connection in the plugin settings
Not a Workspace
Problem: The plugin shows “Not a Workspace” status. Solution:- Open the Diversion Desktop app
- Create a new repository from your Unity project folder, or clone an existing repository
- The plugin will automatically detect the workspace
Files Not Showing in Changes List
Problem: Modified files don’t appear in the Diversion window. Solution:- Make sure files are saved (
Ctrl+S/Cmd+S) - Click the Refresh button in the Diversion window
- Check that the files aren’t excluded by your
.dvignorefile
Scene Not Reloading After External Changes
Problem: Unity doesn’t reload scenes after teammates’ changes arrive. Solution:- Check that Auto-Reload Scenes is enabled in settings
- If you have unsaved changes, Unity waits for you to save first
- Try clicking Refresh Connection manually

