The uvproj.yaml file acts as a main project config file, here is an example:

name: "Game"
startup-level: "lvl"
version: 1.0.0
engine-version: 1.0.0
additional-include-directories:
  msvc:
    - test/include
  unix:
    - test/include
additional-link-libraries:
  msvc:
    - target: test
      engine: false
      wrapper: true
      modded-wrapper: true
    - target: test2
      engine: false
      wrapper: true
      modded-wrapper: true
  unix:
    - target: test
      engine: false
      wrapper: true
      modded-wrapper: true
additional-source-libraries:
  msvc:
    engine:
      glob:
      - test/src/*.cpp
      individual:
      - test/includes/als.cpp
  unix:
    engine:
      glob:
        - test/src/*.cpp
      individual:
        - test/includes/als.cpp
additional-header-libraries:
  msvc:
    engine:
      glob:
        - test/include/*.hpp
      individual:
        - test/includes/als.hpp
  unix:
    engine:
      glob:
        - test/include/*.hpp
      individual:
        - test/includes/als.hpp
additional-subdirectories:
  msvc:
    - "test/cmake"
  unix:
    - "test/cmake"

The name tag

The name tag determines the name of the final executable that is going to be compiled and outputted when building

The startup-level tag

The startup-level tag is the name of the first level that is going to be loaded, when files are genrated the UVKBuildTool will copy the text and hardcode it into the entrypoint, if the text is changed you need to regenerate your files using the UVKBuildTool in order for changes to take effect

The version and engine-version tags

These version tags are going to be used to separate compatibility versions when the engine hits full release

Everything else

Everything else is related to custom library linking, an guide can be found here