Right way to distribute custom built Engine to team members
I know that this question has been asked multiple times, but honestly I haven't found a decent solution. Here's my scenario:
yesterday) C++ game project, multiple team members. Until now we've used the official engine release from Epic. Programmers distribute the binaries of the game (UE4Editor-gamename.dll and other modules) via SVN. Artists update their local copy of the game project, they get the new game binaries checked in by programmers and everything works fine.
today) We are forced to build our own version of the engine. Firstly because certain plugins cannot be used in c++ without compiling the engine from source (ie. FMOD) and secondly because the documentation of UE is so lacking on certain aspects that the only solution to understand how something is supposed to be done is by debugging the engine itself (inspecting call stack etc.). The problem is that now distributing the game binary to artists doesn't work anymore. Since they are still using the official release when they open the project they get the infamous "the following modules are missing or built with a different engine version" dialog.
In my understanding the only possible solution is to distribute the custom built engine to the artists but how precisely this is supposed to be done is very unclear. All the proposed solutions found on answerhub are vague and look very "unconfortable" to me (sharing 20gb of engine via perforce to artists?). Also which files should be shared? What version of the engine should be shared? (shipping, development editor, development...) I can't believe that there isn't a clear step by step guide on how to do this...it's almost easier to install Visual Studio on every machine and let them build their own version...
Is it possible to have an official and clear guide on this topic? I think it would be beneficial to many people.
asked Feb 19 '15 at 10:23 AM in C++ Programming
The best way is to put everything on a source control server as you've said. However artists don't need any Source folders as they won't be compiling code. This can be done through your source control's form of permission control. Perforce is great at this.
They won't need every binary, but they'll need every binary that isn't prefixed with UE4Editor except for anything that is Debug or Shipping. You only need Development UE4Editor binaries for your artists to work without issue, and Development binaries aren't tagged with any name.
You also don't need any Saved or Intermediate folders at all. You don't even need the Visual Studio project files as your programmers can generate them.
I kind of made a long-winded tutorial for setting up Perforce, if that helps.
After Part 2 was made, Epic released a Perforce equivalent of .gitignore which you might find useful as well here: https://docs.unrealengine.com/latest/INT/Engine/Basics/SourceControl/Perforce/index.html
My custom engine build is about ~6.5GB on my Perforce server
See this thread on how to package a custom from-source UnrealEditor build for your team: https://forums.unrealengine.com/showthread.php?69744-Distributing-custom-build-to-team
answered Sep 09 '15 at 10:48 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here