Here we will detail the different folder and config file locations and their purpose.

Folders and general files

The core framework directory, a.k.a. the one you see first on the GitHub web interface, contains the following folders and files:

Additionally, every project contains those additional files and folders:

The uvproj.yaml file

The uvproj.yaml file contains metadata for the project, such as:

  1. The application name
  2. The application version
  3. The engine version. Can be the version of the framework, or another version identifier for another base library you use on top of the framework
  4. A list of enabled modules. Further documentation.
  5. A list of production installation instructions. Further documentation.
  6. Production export build modes. Further documentation

The most basic configuration looks like this:

name: "UntitledGameSystemManager"
version: "1.0.0.0"
engine-version: "1.0.0.0"

This basic information can be fetched through the Instance. More information can be found here.

Tip

If you want to reliably check the version of the framework, you can use the UIMGUI_FRAMEWORK_VERSION and UIMGUI_FRAMEWORK_VERSION_NUMERIC compiler definitions. You can use UIMGUI_FRAMEWORK_VERSION_NUMERIC for easy comparison in macro #if conditions.

Versions are converted to base 10 integers with any leading zeroes being removed. For example: 0.9.9.7 becomes 997, and 1.0.0.0 becomes 1000

Config files

The config files are located under the Config folder, which itself contains 2 directories, Core and Translation.

The Core directory stores the following files:

The Translation folder initially stores just one file, translation-base.yaml. This file defines all strings that can be translated by the localization module. Additionally, you can create additional files using the standard locale naming structure for creating translations. More info can be found in later entries.

The WASM directory contains the pre.js and post.js files that are used if the options for adding pre- and post-javascript files are enabled respectively. More info on deploying to WASM, can be found here.

Finally, the cmake folder stores the <project name>.cmake file. More info about this file can be found here.

Directory prefix macros

Check out the Directory strings and Config.hpp page.