Simple but powerful git integration for Unity 3D utilizing TortoiseGit (for Windows), SnailGit (for MacOS) or RabbitVCS (for Linux) user interface. A must have plugin if you use git in your project.>>> GitHub | Unity Forum | OpenUPM <<<======== Prerequisites ========Have git installed – install guide.Have git Large File Support (LFS) installed (needed for the locking features).Recommended: Have TortoiseGit(for Windows), SnailGit (for MacOS) or RabbitVCS (for Linux) installed, so the context menus work.Test if git CLI is accessible from the command line / terminal by typing "git version"======== Features ========Hooks up to Unity move and delete file operations and executes respective git commands to stay in sync.Handles meta files as well.Moving assets to unversioned folder will ask the user to add that folder meta to git as well.Moving folders / files that have conflicts will be rejected.Will work with other custom tools as long as they move / rename assets using Unity API.Provides assets context menu for manual git operations like commit, push, pull, revert etc.Show overlay git status iconsShow server changes that you need to merge (works by regularly fetching remote changes).Show locked files by you and your colleges (works via LFS locks).Show ignored icons (by ".gitignore").Displays warning in the SceneView when the current scene or edited prefab is out of date or locked.Lock prompt on modifying assets by path and type (perforce checkout like)If asset or its meta becomes modified a pop-up window will prompt the user to lock or ignore it.The window shows if modified assets are locked by others or out of date, which prevents locking them.If left unlocked, the window won't prompt again for those assets. Will prompt on editor restart.Git submodules support.Minimal performance impactSurvives assembly reloadsYou don't have to leave Unity to do git chores.Works on Windows, MacOS and Linux.Simple API to integrate with your tools.Use WiseGitIntegration.RequestSilence()and WiseGitIntegration.ClearSilence() to temporarily suppress any WiseGit pop-ups.Use WiseGitIntegration.RequestTemporaryDisable()and WiseGitIntegration.ClearTemporaryDisable() to temporarily disable any WiseGit handling of file operations and updates.Use GitContextMenusManagermethods to invoke TortoiseGit / SnailGit / RabbitVCS commands.Use WiseGitIntegration.*Async() methods to run direct git commands without any GUI (check ExampleStatusWindow).======== Usage ========Do your file operations in Unity and the plugin will handle the rest.User git operations are available in the menu (or right-click on any asset): "Assets/Git/..."WARNING: Never focus Unity while the project is updating in the background. Newly added asset guids may get corrupted in which case the Library folder needs to be deleted. Preferred workflow is to always work inside Unity - use the "Assets/Git/..." menus. "Assets/Git/Pull All" will block Unity while updating, to avoid Unity processing assets at the same time. This is an issue with how Unity works, not the plugin iteself. Unity says its by "design".