Skip to content

Commit 228dace

Browse files
committed
Removed first time setup, check if junction is correct
1 parent 939ad79 commit 228dace

File tree

9 files changed

+546
-720
lines changed

9 files changed

+546
-720
lines changed

PROJECT_SUMMARY.md

Lines changed: 0 additions & 132 deletions
This file was deleted.

README.md

Lines changed: 74 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -1,156 +1,113 @@
11
# UE Git Plugin Manager
22

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+
![screenshot](./assets/screenshot.png)
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.
418

519
## Features
620

721
- **One-click setup** for multiple Unreal Engine versions
822
- **Automatic plugin linking** using Windows junctions
923
- **Update management** with commit tracking and browser integration
1024
- **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
1327

1428
## Requirements
1529

1630
- Windows 10/11
1731
- 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
2034

2135
## Installation
2236

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
5963

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
7165

72-
### Updating Plugins
66+
The tool creates a streamlined setup by:
7367

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
7773

78-
### Managing Engines
74+
This approach ensures each engine gets a properly built plugin while sharing the same source code and updates.
7975

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
8377

84-
## How It Works
78+
The tool automatically checks for updates:
8579

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
8784

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".
9286

93-
## Configuration
87+
## Managing Multiple Engines
9488

95-
Configuration is stored in `config.json` next to the executable:
89+
You can set up the plugin for multiple Unreal Engine versions:
9690

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
10895

10996
## Troubleshooting
11097

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
11499

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
118101

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
123103

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
127105

128-
## Project Structure
106+
## Credits
129107

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
140110

141111
## License
142112

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.

assets/screenshot.png

29.5 KB
Loading

build.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ if not exist "dist" mkdir dist
3737
REM Check if UE-Git-Plugin-Manager.exe is running and stop it
3838
tasklist /FI "IMAGENAME eq UE-Git-Plugin-Manager.exe" 2>NUL | find /I /N "UE-Git-Plugin-Manager.exe">NUL
3939
if "%ERRORLEVEL%"=="0" (
40-
echo ⚠️ UE-Git-Plugin-Manager.exe is currently running. Stopping it...
40+
echo UE-Git-Plugin-Manager.exe is currently running. Stopping it...
4141
taskkill /F /IM UE-Git-Plugin-Manager.exe >NUL 2>&1
4242
timeout /t 2 >NUL
4343
)

internal/config/config.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ func getUserConfigDir() string {
5858
}
5959

6060
// Use the user's config directory
61-
// On Windows: %APPDATA%\ue-git-plugin-manager\unreal_source_control
62-
// On Linux/macOS: ~/.config/ue-git-plugin-manager/unreal_source_control
63-
configDir := filepath.Join(usr.HomeDir, "AppData", "Roaming", "ue-git-plugin-manager", "unreal_source_control")
61+
// On Windows: %APPDATA%\ue-git-plugin-manager
62+
// On Linux/macOS: ~/.config/ue-git-plugin-manager
63+
configDir := filepath.Join(usr.HomeDir, "AppData", "Roaming", "ue-git-plugin-manager")
6464

6565
// Create the directory if it doesn't exist
6666
os.MkdirAll(configDir, 0755)

0 commit comments

Comments
 (0)