YAML Schema Reference

This reference documents the structure of the gspm project file (project.yml).

Project Section

The project configuration file is structured as follows:

name: my-project
description: "My Game"
default_type: git
version: "1.0.0"
path: "."

Option

Description

name

required - project identifier

description

optional - project description

default_type

optional - default asset pull type (git, copy, zip)

version

optional - project version string

path

optional - project directory path (default: “.”)

Godot Section

The godot section controls which Godot engine version to use and how to download it.

godot:
  version: "3.3.3"
  release: "stable"
  arch: 64
  mono: false
  local: /path/to/godot
  url: https://example.com/godot.zip
  url_linux: https://example.com/linux.zip
  url_windows: https://example.com/win.zip
  url_macos: https://example.com/mac.zip

Option

Description

version

optional - Godot version (default: “3.3.3”)

release

optional - release type (stable, beta1, rc1, etc.)

arch

optional - architecture: 32 or 64 (default: 64)

mono

optional - use Mono build (default: false)

local

optional - use local Godot binary

url

optional - custom download URL (fallback)

url_linux

optional - Linux-specific download URL

url_windows

optional - Windows-specific download URL

url_macos

optional - macOS-specific download URL

Note

The url, url_linux, url_windows, and url_macos options will override all other download-related options when specified.

Assets Section

The assets section defines external dependencies for your project (code libraries, addons, etc.).

assets:
  my-asset:
    location: https://github.com/user/repo.git
    type: git
    active: true
    branch: main
    includes:
      - dir: addons
        todir: addons

Option

Description

location

required - source URI (git URL, file path, or zip URL)

type

optional - pull type: git, copy, zip (default: git)

active

optional - include in build (default: true)

branch

optional - git branch to pull (default: master)

includes

optional - directories to include

Include Option

Description

dir

source directory to include

todir

destination directory (default: same as dir)

Export Section

The exports section defines export presets for building your project.

exports:
  windows:
    name: Windows
    path: ./build/win
    file: mygame.exe

Option

Description

name

optional - display name for the export

path

required - output directory

file

required - output filename