Which project folders are important?

So, some more learnings:

The keystore file for signing android goes into Build. This is not documented in the Android documentation, but in the tooltip help for the android project settings panel (!) Thus, after nuking the Build directory, I have to re-copy the keystore into its safe home. Additionally, this keystore is copied into the Intermediate directory during the build process, and if it’s not in the Build directory, there’s no error referring to that location; only a very late error in the Android packaging process where it fails to find the Intermediate key store.

The visual studio projects need to be re-generated. There’s no good way to do this from the command line for a project; I have to dig up the project file in Explorer and right-click and select a context menu option to do this.
These project files are generated into the Intermediate directory.

Various generated files also go into the Build directory. For example, FileOpenOrder\EditorOpenOrder.log, Android\proguard-project.txt, Android\res, etc.
Thus, while it may be that the idea is “Build contains user-defined build information, and Intermediate contains generated information that can be nuked for a clean build,” that rule is not actually followed correctly, and generated versus source data intermingle.

For those who don’t understand why this matters, consider that, if I want to “git add .” my project (managing it from outside the Unreal editor,) I need a .gitignore that excludes any generated files. Unfortunately, this rule is not simply “exclude the Intermediate directory.”

3 Likes