I’d like to distribute custom-built editor binaries to our team through perforce. We’re already used to a workflow where non-programmers get the latest source from perforce and recompile from inside the editor (we have fast computers but remote and sometimes slow internet connections, so build time is preferable to sync time for changes to the game project which are frequent). We’ve been using engine builds from the launcher up until this point, but I’d like to start incorporating some custom engine changes.
I have the UE4 source included in our perforce depot and am attempting to add the built engine binaries (I’m fine with the sync time for engine changes since we expect them to be infrequent). I’m doing a local build with the BuildEditorAndTool build graph script with the “Copy to Staging Directory” target, and when I copy those binaries into a freshly synced test copy of the depot, I can open the editor successfully with our changes. When I try to open our game project though, I get the error: “Engine modules are out of date, and cannot be compiled while the engine is running. Please build through your IDE.” Looking at build logs it seems that triggering a rebuild of the project is also attempting to rebuild the entire engine.
This seems like a versioning issue to me, so I’ve confirmed that the BuildEditorAndTool script is successfully updating Build.version & MetaData.cs with the current p4 changelist (and marking it as a licensee and promoted build, which seems correct from what I’ve read), and that all of the .module and .version files in my test directory have matching changelist info. I’ve read the docs on versioning and distributing the editor (and the very helpful response https://answers.unrealengine.com/questions/517755/view.html), but I’m at a loss at this point. Is it expected that any game project rebuild would also require rebuilt editor binaries to match?