|  | 
| 1 | 1 | # UE Git Plugin Manager | 
| 2 | 2 | 
 | 
| 3 |  | -A Windows CLI tool for managing the UEGitPlugin across multiple Unreal Engine installations. | 
|  | 3 | +> A Windows CLI tool that automates the setup and management of the [UEGitPlugin](https://github.com/ProjectBorealis/UEGitPlugin) across multiple Unreal Engine installations. | 
|  | 4 | +
 | 
|  | 5 | + | 
|  | 6 | + | 
|  | 7 | +## Why Use This Tool? | 
|  | 8 | + | 
|  | 9 | +Setting up Git source control in Unreal Engine manually is complex and error-prone. It involves: | 
|  | 10 | + | 
|  | 11 | +- Cloning the UEGitPlugin repository | 
|  | 12 | +- Building the plugin against each UE version | 
|  | 13 | +- Creating Windows junctions to link the plugin into engine directories | 
|  | 14 | +- Managing conflicts with the stock Git plugin | 
|  | 15 | +- Keeping everything updated across multiple engine versions | 
|  | 16 | + | 
|  | 17 | +This tool automates all of these steps, saving time and reducing errors for teams working with multiple Unreal Engine versions. | 
| 4 | 18 | 
 | 
| 5 | 19 | ## Features | 
| 6 | 20 | 
 | 
| 7 | 21 | - **One-click setup** for multiple Unreal Engine versions | 
| 8 | 22 | - **Automatic plugin linking** using Windows junctions | 
| 9 | 23 | - **Update management** with commit tracking and browser integration | 
| 10 | 24 | - **Collision detection** and resolution for stock Git plugins | 
| 11 |  | -- **Relocation support** when moving the executable | 
| 12 |  | -- **Comprehensive diagnostics** and error handling | 
|  | 25 | +- **Per-engine configuration** and management | 
|  | 26 | +- **Silent operation** - no annoying beeps or sounds | 
| 13 | 27 | 
 | 
| 14 | 28 | ## Requirements | 
| 15 | 29 | 
 | 
| 16 | 30 | - Windows 10/11 | 
| 17 | 31 | - Git for Windows (must be in PATH) | 
| 18 |  | -- Administrator privileges (for plugin installation) | 
| 19 |  | -- Unreal Engine 5.3+ installations | 
|  | 32 | +- Unreal Engine 5.3+ (one or more installations) | 
|  | 33 | +- No administrator privileges required on modern Windows | 
| 20 | 34 | 
 | 
| 21 | 35 | ## Installation | 
| 22 | 36 | 
 | 
| 23 |  | -1. Download the latest release or build from source | 
| 24 |  | -2. Extract `UE-Git-Plugin-Manager.exe` to a permanent location | 
| 25 |  | -3. **Right-click `UE-Git-Plugin-Manager.exe` and select "Run as administrator"** | 
| 26 |  | - - This is required for creating junctions in Unreal Engine directories | 
| 27 |  | - | 
| 28 |  | -## Building from Source | 
| 29 |  | - | 
| 30 |  | -### Prerequisites | 
| 31 |  | -1. **Install Go 1.21+**: Download from https://golang.org/dl/ | 
| 32 |  | -2. **Install Git for Windows**: Download from https://git-scm.com/download/win | 
| 33 |  | -3. **Restart Command Prompt** after installing Go | 
| 34 |  | - | 
| 35 |  | -### Build Options | 
| 36 |  | - | 
| 37 |  | -#### Option 1: Automated Build (Recommended) | 
| 38 |  | -```cmd | 
| 39 |  | -build.bat | 
| 40 |  | -``` | 
| 41 |  | - | 
| 42 |  | -#### Option 2: PowerShell Build | 
| 43 |  | -```powershell | 
| 44 |  | -.\build.ps1 | 
| 45 |  | -``` | 
| 46 |  | - | 
| 47 |  | -#### Option 3: Manual Build | 
| 48 |  | -```cmd | 
| 49 |  | -go mod init ue-git-plugin-manager | 
| 50 |  | -go mod tidy | 
| 51 |  | -go build -o UE-Git-Plugin-Manager.exe . | 
| 52 |  | -``` | 
| 53 |  | - | 
| 54 |  | -### Troubleshooting | 
| 55 |  | -- **"Go not recognized"**: Install Go and restart Command Prompt | 
| 56 |  | -- **"missing go.sum entry"**: Run `go mod tidy` | 
| 57 |  | -- **"git: command not found"**: Install Git for Windows | 
| 58 |  | -- **Build fails**: Try running as Administrator | 
|  | 37 | +1. Download the latest release from [GitHub Releases](https://github.com/benjavides/ue-git-plugin-manager/releases) | 
|  | 38 | +2. Extract `UE-Git-Plugin-Manager.exe` to any location | 
|  | 39 | +3. Run the executable | 
|  | 40 | + | 
|  | 41 | +## Quick Start | 
|  | 42 | + | 
|  | 43 | +1. **Run the tool** | 
|  | 44 | + ```cmd | 
|  | 45 | + UE-Git-Plugin-Manager.exe | 
|  | 46 | + ``` | 
|  | 47 | + | 
|  | 48 | +2. **Set up an engine** | 
|  | 49 | + - Select "Edit Setup" | 
|  | 50 | + - Choose an engine version from the list | 
|  | 51 | + - Click "Install Setup" | 
|  | 52 | + - The tool handles everything automatically: | 
|  | 53 | + - Clones the UEGitPlugin repository | 
|  | 54 | + - Creates a worktree for the engine version | 
|  | 55 | + - Builds the plugin against the engine | 
|  | 56 | + - Creates a junction to link the plugin | 
|  | 57 | + - Disables the stock Git plugin (recommended) | 
|  | 58 | + | 
|  | 59 | +3. **Use Git in Unreal Engine** | 
|  | 60 | + - Open your project in Unreal Engine | 
|  | 61 | + - The Git source control should now be available | 
|  | 62 | + - You can commit, push, pull, and manage branches directly in the editor | 
| 59 | 63 | 
 | 
| 60 |  | -See [SETUP_INSTRUCTIONS.md](SETUP_INSTRUCTIONS.md) for detailed troubleshooting. | 
| 61 |  | - | 
| 62 |  | -## Usage | 
| 63 |  | - | 
| 64 |  | -### First Time Setup | 
| 65 |  | - | 
| 66 |  | -1. Run `UE-Git-Manager.exe` | 
| 67 |  | -2. The tool will detect your Unreal Engine installations | 
| 68 |  | -3. Select which engines to set up | 
| 69 |  | -4. The tool will clone the UEGitPlugin repository and create worktrees | 
| 70 |  | -5. Plugin junctions will be created automatically | 
|  | 64 | +## How It Works | 
| 71 | 65 | 
 | 
| 72 |  | -### Updating Plugins | 
|  | 66 | +The tool creates a streamlined setup by: | 
| 73 | 67 | 
 | 
| 74 |  | -1. Run the tool and select "Update" | 
| 75 |  | -2. View available updates with commit information | 
| 76 |  | -3. Click "Update now" to apply updates | 
|  | 68 | +1. **Repository Management**: Clones the UEGitPlugin repository once to a central location | 
|  | 69 | +2. **Worktrees**: Creates separate working directories for each UE version (all using the same codebase) | 
|  | 70 | +3. **Plugin Building**: Builds the plugin against each specific Unreal Engine version | 
|  | 71 | +4. **Junction Linking**: Creates Windows junctions to link the built plugin into each engine's plugin directory | 
|  | 72 | +5. **Conflict Resolution**: Automatically detects and resolves conflicts with the stock Git plugin | 
| 77 | 73 | 
 | 
| 78 |  | -### Managing Engines | 
|  | 74 | +This approach ensures each engine gets a properly built plugin while sharing the same source code and updates. | 
| 79 | 75 | 
 | 
| 80 |  | -- **Set up a new engine version**: Add support for newly installed engines | 
| 81 |  | -- **Uninstall**: Remove all plugin links and worktrees | 
| 82 |  | -- **Advanced**: Configure scan roots, change tracked branch, run diagnostics | 
|  | 76 | +## Updating | 
| 83 | 77 | 
 | 
| 84 |  | -## How It Works | 
|  | 78 | +The tool automatically checks for updates: | 
| 85 | 79 | 
 | 
| 86 |  | -The tool uses a sophisticated Git worktree system: | 
|  | 80 | +- Shows how many commits behind your setup is | 
|  | 81 | +- Displays local and remote commit SHAs | 
|  | 82 | +- Provides a GitHub compare URL to see what's changed | 
|  | 83 | +- Only rebuilds when updates are actually available | 
| 87 | 84 | 
 | 
| 88 |  | -1. **Origin Repository**: Single clone of the UEGitPlugin repository | 
| 89 |  | -2. **Worktrees**: Separate working directories for each engine version | 
| 90 |  | -3. **Junctions**: Windows symbolic links connecting engines to worktrees | 
| 91 |  | -4. **Branch Management**: Each engine gets its own branch tracking the remote | 
|  | 85 | +To update, go to "Edit Setup" → Select an engine → "Update Setup". | 
| 92 | 86 | 
 | 
| 93 |  | -## Configuration | 
|  | 87 | +## Managing Multiple Engines | 
| 94 | 88 | 
 | 
| 95 |  | -Configuration is stored in `config.json` next to the executable: | 
|  | 89 | +You can set up the plugin for multiple Unreal Engine versions: | 
| 96 | 90 | 
 | 
| 97 |  | -```json | 
| 98 |  | -{ | 
| 99 |  | - "version": 1, | 
| 100 |  | - "base_dir": ".", | 
| 101 |  | - "origin_dir": "repo-origin", | 
| 102 |  | - "worktrees_dir": "worktrees", | 
| 103 |  | - "default_remote_branch": "dev", | 
| 104 |  | - "engines": [...], | 
| 105 |  | - "custom_engine_roots": [...] | 
| 106 |  | -} | 
| 107 |  | -``` | 
|  | 91 | +- Each version gets its own worktree and build | 
|  | 92 | +- All versions share the same source code and updates | 
|  | 93 | +- Manage each engine independently | 
|  | 94 | +- Easy to add or remove engines as needed | 
| 108 | 95 | 
 | 
| 109 | 96 | ## Troubleshooting | 
| 110 | 97 | 
 | 
| 111 |  | -### Git Not Found | 
| 112 |  | -- Install Git for Windows from https://git-scm.com/download/win | 
| 113 |  | -- Ensure Git is in your system PATH | 
|  | 98 | +**"Git not found"**: Install Git for Windows and ensure it's in your PATH | 
| 114 | 99 | 
 | 
| 115 |  | -### Permission Denied | 
| 116 |  | -- Run the tool as Administrator | 
| 117 |  | -- Check that Unreal Engine directories are writable | 
|  | 100 | +**"No engines found"**: The tool looks in standard UE installation paths. Add custom paths in Settings if needed | 
| 118 | 101 | 
 | 
| 119 |  | -### Plugin Not Loading | 
| 120 |  | -- Check the Diagnostics menu | 
| 121 |  | -- Verify junctions are pointing to correct worktrees | 
| 122 |  | -- Ensure no plugin name collisions | 
|  | 102 | +**Plugin not working**: Check that the junction was created correctly and the stock Git plugin is disabled | 
| 123 | 103 | 
 | 
| 124 |  | -### Relocation Issues | 
| 125 |  | -- If you move the executable, use the Relocate option | 
| 126 |  | -- This will update all paths and junctions automatically | 
|  | 104 | +**Build errors**: Ensure you have the correct Visual Studio components installed for your UE version | 
| 127 | 105 | 
 | 
| 128 |  | -## Project Structure | 
|  | 106 | +## Credits | 
| 129 | 107 | 
 | 
| 130 |  | -``` | 
| 131 |  | -UE-Git-Manager.exe | 
| 132 |  | -config.json | 
| 133 |  | -logs/ | 
| 134 |  | -repo-origin/ # Git repository | 
| 135 |  | -worktrees/ | 
| 136 |  | - UE_5.3/ # Worktree for UE 5.3 | 
| 137 |  | - UE_5.4/ # Worktree for UE 5.4 | 
| 138 |  | - UE_5.5/ # Worktree for UE 5.5 | 
| 139 |  | -``` | 
|  | 108 | +- [Project Borealis](https://github.com/ProjectBorealis/UEGitPlugin) for the UEGitPlugin | 
|  | 109 | +- Built with Go and [promptui](https://github.com/manifoldco/promptui) for the CLI interface | 
| 140 | 110 | 
 | 
| 141 | 111 | ## License | 
| 142 | 112 | 
 | 
| 143 |  | -This project is licensed under the MIT License - see the LICENSE file for details. | 
| 144 |  | - | 
| 145 |  | -## Contributing | 
| 146 |  | - | 
| 147 |  | -1. Fork the repository | 
| 148 |  | -2. Create a feature branch | 
| 149 |  | -3. Make your changes | 
| 150 |  | -4. Test thoroughly on Windows | 
| 151 |  | -5. Submit a pull request | 
| 152 |  | - | 
| 153 |  | -## Acknowledgments | 
| 154 |  | - | 
| 155 |  | -- [Project Borealis](https://github.com/ProjectBorealis/UEGitPlugin) for the UEGitPlugin | 
| 156 |  | -- The Unreal Engine community for feedback and testing | 
|  | 113 | +This project is open source. See the repository for license details. | 
0 commit comments