Skip to content

simeonradivoev/UniGit

Repository files navigation

UniGit

An open source GIT Unity3D editor plugin.

GitHub release License: GPL v3 Donate

UniGit Icon

Contents

  • Pull, Push, Merge, Fetch changes
  • Remote Management
  • Secure Credentials Manager
  • Project View status icons
  • Open Source
  • Conflict resolvent
  • 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
  • Non Root Project Repositories
  • Animated UI

For more info on all the features and how to use them, check out the wiki.

Screenshots

History Window Diff Window
Git history window Git Diff Window
Status Overlays Diff Inspector Settings window
Project View Overlays Diff Inspector Settings window
Blame Window Sub Modules Git Log
Blame Window Sub Modules Git Log Window

Installation

In a unity project go to your Packages folder. Open manifest.json and add into the dependencies the following line:

"uni-git": "https://github.com/simeonradivoev/UniGit.git"

It should look something like this:

{
    "dependencies": {
        "com.unity.ugui": "1.0.0",
        "com.unity.modules.ui": "1.0.0",
        "com.simeonradivoev.uni-git": "https://github.com/simeonradivoev/UniGit.git",
    } 
}

Building

As of the new Unity Package system. There is no need to build UniGit into dlls. The new package system allows packages to be pulled directly from git and unity compiles all the source codes and generally keeps the package away from any project files. This is really convenient and allows for quick and easy updates. Images and resources also don't need to be packed in an assembly they can just be included in the package and be managed by unity.

Asset store

As of version 1.5 the assets store is no longer supported because of the new package system. Check out the Installation guide to see how to include Uni git in your project

It may be re-added later down the line once the asset store is more tightly integrated with the package manager. Older version can be found on the Asset Store

Notes

  • UniGit is developed on a windows machine and has only been tested on a windows machine.

Limitations:

  • Inbuilt Credentials Manager works on Windows only, for now.
  • Pushing only works with HTTP (libgit2sharp limitation)

Not implemented yet

  • Unity scene/prefab merging
  • Rebasing (with inbuilt tools)