The Engine-Generated
folder is automatically regenerated by the UnrealHeaderTool (UHT) whenever the user compiles the game with Visual Studio (or directly via UnrealBuildTool (UBT) of course).
The Content/SkookumScript
folder is automatically generated whenever a user runs the SkookumIDE (and UE4 launches the IDE whenever it launches which will recompile all scripts).
So neither of these folders should be checked in as long as a user works with both the SkookumIDE and Visual Studio.
The workflow should be as follows:
-
SkookumIDE: Users get latest from Perforce, then press
F7
or pick Compile Project (if stale)
from the menu. This will regenerate the Content/SkookumScript
folder.
-
Visual Studio: Users get latest from Perforce and/or GitHub, then build the game as usual which will also regenerate the
Engine-Generated
folder if necessary. There is one caveat right now which is if anything changed in the SkookumScriptGenerator
module it is not detected by the build system. So you might get the occasional
engine binding related error that you have to remedy by first Clean
ing UnrealHeaderTool
then building your game once more.
There might be users on a team that do not normally use Visual Studio (e.g. artists, scripters, level designers).
One solution for these might be to have a button on the desktop that they click after the sync from P4 that runs UnrealBuildTool
and builds the executable plus regenerates the Engine-Generated
script folder. Easy enough to do and keeps the code pipeline simple. That button might even both sync to P4 and rebuild the game in one step. A typical command line for this would be call Engine\Build\BatchFiles\Build.bat UE4Editor Win64 Development
.
You could also check the executable plus the Engine-Generated
folder into P4 but map it only for artists and for the build engineer. Coders would not have it mapped to not disrupt their workflow.
Btw we are planning to make the Engine-Generated
folder that currently contains thousands of files just one packed file since it is not meant to be edited anyway. This will make it faster to load, parse and easier to keep track of in P4.