We have a requirement to clone the engine via the Perforce server, and then mirror that version, and host it on our own Github repo.
When doing this process however, the builds are failing, when using the Github repo, that was setup using the clone of Perforce + the .gitignore from githubs version of UnrealEngine 5.7.
The GenerateProjectFiles.bat complains about missing files that are there locally but missed in the .gitignore.
We are looking for guidance on how to get a proper mirror of the Perforce pull onto github.
[Attachment Removed]
Steps to Reproduce
When pulling the Perforce version of the Engine, there is no problem with building via GenerateProjectFiles.bat -> VS sln build.
Using the gitignore from github, and pushing the contents of the Perforce version, GenerateProjectFiles.bat fails with missing files cited as the cause, when using a fresh github pull.
[Attachment Removed]
The GitHub .gitignore for Unreal Engine is designed for the public GitHub distribution model, where Setup.bat downloads prebuilt binaries from Epic’s CDN (content delivery network) after cloning. Since you’re mirroring from Perforce, those binaries are already in your sync, so applying the GitHub .gitignore directly will cause GenerateProjectFiles.bat to fail because it strips files that are present in your Perforce source but expected to be “downloaded later” in the GitHub model.
For a Perforce → GitHub mirror, you have two options:
Option A - Git LFS for binaries (recommended)
Track .dll, .exe, .lib, .pdb, etc. via Git LFS. Use a minimal .gitignore that only excludes local/user artifacts (Saved/, DerivedDataCache/, .vs/). No Setup.bat needed — everything lives in the repo. Best for a self-contained internal mirror.
Option B - Replicate the CDN model internally
Strip binaries from the mirror, host them on internal Artifactory/CDN, and redirect GitDependencies.exe to point there. Keeps the repo lean but adds operational overhead.
Immediate fix for the current build failure:
Run GenerateProjectFiles.bat and note the exact missing file paths. Remove the specific .gitignore rules blocking those files, don’t apply the GitHub .gitignore wholesale to a P4-sourced repo.
[Attachment Removed]