https://github.com/projectborealis/ueversionator
ueversionator is a tool to download custom UE engine builds, extract and register them for use.
https://github.com/projectborealis/ueversionator
ue4 unreal unreal-engine-4
Last synced: about 1 year ago
JSON representation
ueversionator is a tool to download custom UE engine builds, extract and register them for use.
- Host: GitHub
- URL: https://github.com/projectborealis/ueversionator
- Owner: ProjectBorealis
- License: mit
- Created: 2019-02-06T17:27:39.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2022-06-22T16:44:55.000Z (almost 4 years ago)
- Last Synced: 2025-04-08T18:21:19.332Z (about 1 year ago)
- Topics: ue4, unreal, unreal-engine-4
- Language: Go
- Homepage:
- Size: 88.9 KB
- Stars: 46
- Watchers: 5
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ueversionator
ueversionator is a tool to download custom engine builds based on a uproject's
`EngineAssociation` key. Once downloaded, the engine is extracted to a user specified
base folder and registered for use.
Builds are expected to be archived with 7zip, and both an engine and symbols
archive are supported.
ueversionator is expected to be at the root level of your game project, i.e. with the `.uproject` file.
## Usage examples
Examples on how to use/run ueversionator are provided in the `examples/` folder.
## Command line options
```
Usage of ueversionator:
-assume-valid
assumes current archive is valid, if present
-basedir string
base directory to download engine bundles in (default "ue4")
-bundle string
request UE build bundle (default "editor")
-config string
ueversionator config file (default ".ueversionator")
-ue5
UE5 build compat
-user-config string
ueversionator user config file (default ".uev-user")
-virgin
ask configuration options like the first time
-with-symbols
include UE engine debug symbols
```
## Configuring ueversionator
### uproject association
A UE uproject file's `EngineAssociation` key needs to be modified with a
`uev:` prefix, followed by the version of the custom build.
```
{
"FileVersion": 3,
"EngineAssociation": "uev:4.24-custom",
"Category": "",
"Description": "",
"Modules": [
...
],
...
}
```
### ueversionator config
A simple configuration file is used to tell ueversionator where to fetch builds
from.
```
[ueversionator]
baseurl = https://downloads.example.com/builds
```
ueversionator expects builds to be found under this location, with the
filename `bundlename-.7z`, where the version matches the
`EngineAssociation` key without the `uev:` prefix. So for the
uproject example above, the build would be expected to be found at
`https://downloads.example.com/builds/engine-4.24-custom.7z`.
If `--with-symbols` is used, a debugging symbols archive is expected to be
found with the filename `bundlename-symbols-.7z`.
#### Example engine build
We create our custom builds and archive them with the following commands:
```
# Build Unreal Engine
.\Engine\Build\BatchFiles\RunUAT.bat BuildGraph -Target="Make Installed Build Win64" -Script="Engine/Build/InstalledEngineBuild.xml" -Set:WithDDC=true -Set:HostPlatformEditorOnly=true -Set:WithFeaturePacks=false
# Create archive without debugging symbols
7za.exe a -bsp1 -mx9 -md512m -mfb273 -mlc4 -mmt4 "editor-%VERSION%.7z" "Engine\" "-xr!*.pdb"
# Create archive with debugging symbols
7za.exe a -bsp1 -mx9 -md512m -mfb273 -mlc4 -mmt8 "editor-symbols-%VERSION%.7z" "Engine\**\*.pdb" -r
```