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).
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
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
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.