An open source GIT Unity3D editor plugin.
- Pull, Push, Merge, Fetch changes
- Remote Management
- Secure Credentials Manager
- Project View status icons
- Open Source
- Conflict resolvement
- Support for External programs like Tortoise Git
- Support for Credential Managers like Windows Credentials Manager
- (Beta) Support for Git LFS
- Multi-Threaded support
- Branch Switching and Creation
- In-Editor Diff Inspection
- Git Log Window
For more info on all the fetures and how to use them, chek out the wiki.
As of Unity 2017.3, Assembly Definition files were introduced. UniGit has an assemby definition file that that unity uses to compile a dll located in Library/ScriptAssemblies/UniGit.dll
, once the editor has compiled all the scripts.
You can create a .unitypackage by going to UniGit > Export Package
in Unity's top menu. Unity automatically updates all file paths and dependancy DLLs such as: UnityEngine.dll and UnityEditor.dll
You can build a .dll library using the provided Visual Studio 2015 project in the UniGitVs folder.
There are also build scripts provided in the UniGitVs folder called build_dev.bat
and build_release
All you need is to change the Path to Unity's DLLs. You can check Unity's Managed Plugins Documentation for more info or you can use the built-in UniGit package exporter as mentioned above.
Once you change the path of unity's DLLs, you can build the project. Visual studio will copy all necessary files into UniGitVs/bin/Debug
or UniGitVs/bin/Release
folders. These files include the UniGit icons and resources, as well as the LibGit2Sharp library and it's dependencies, so that you can quickly copy all the files and put it in your project neatly wrapped in a DLL library.
- UniGit is developed on a windows machine and has only been tested on a windows machine.
- Inbuilt Credentials Manager works on Windows only, for now.
- Pushing only works with HTTP (libgit2sharp limitation)
- Unity scene/prefab merging
- Rebasing (with inbuilt tools)