|
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