The UVKBuildTool is a command line utility used to generate source files, build system files, production builds and asset bundling. Much of the user-friendliness of the engine and its API comes as a result of it.


There are a lot of editor interfaces for the BuildTool and most users will only use the --install and --generate arguments


You can go to UVKBuildTool/build/ and run --help to see all the available commands

--generate <project path>
--install <project path>
--build <project path>
--scriptable-object <name> <add or remove> <project path>
--pawn <name> <project path>
--game-mode <name> <project path>
--game-state <name> <project path>
--player-state <name> <project path>
--player-controller <name> <project path>
--level <name> <project path>


Regenerates all the needed generated files i.e., your CMake project, your entry point, etc.


Same as --generate but will also create the GameInstance and StartupLevel. This should only be called once per project, and you shouldn't use it directly because it's only used for project creation. Use the script to automatically generate a project instead of manually running this.


The --scriptable-object argument requires a name for the class and either --add or --remove arguments. Scriptable objects are explained in later entries in the wiki, but essentially they are a type of gameplay class.


More details about the --build argument can be found here

Everything else

Every other command creates a given type of source file from a name. Gameplay classes and their applications are explained in the scripting entries of the wiki.