Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

hemtt publish

Publish addon to Steam Workshop

Usage: publish [OPTIONS]

Options:
      --no-bin             Do not binarize the project
      --no-rap             Do not rapify (cpp, rvmat, ext, sqm, bikb, bisurf)
      --no-sign            Do not sign the PBOs or create a `bikey`.
      --no-archive         Do not create a zip archive of the release
  -t, --threads <THREADS>  Number of threads, defaults to # of CPUs
  -v...                    Verbosity level
      --no-color           
  -h, --help               Print help (see more with '--help')

Description

Publish addon to Steam Workshop

hemtt publish will upload your mod to the Steam Workshop. It builds your project using hemtt release and uploads the build to the Steam Workshop, handling both initial creation and updates of existing items.

Getting Started

When you run hemtt publish, if you don’t have a published item ID, you will be prompted to create a new Steam Workshop item. This will generate a meta.cpp file in the current directory with your published item ID. Subsequent runs will update the existing item without prompting.

meta.cpp

The meta.cpp file stores your Steam Workshop published item ID. It must be located in the root of your project (where you run hemtt publish).

protocol = 1;
publishedid = 1234567890;

Storing the ID

When you run hemtt publish and create a new item, HEMTT will automatically create or update your meta.cpp file with the publishedid. This file should be committed to version control so the team can publish updates.

To manually set the published ID, add it to your meta.cpp:

protocol = 1;
publishedid = YOUR_WORKSHOP_ID_HERE;

You can find your Workshop item ID in the URL on the Steam Community Hub: https://steamcommunity.com/sharedfiles/filedetails/?id=YOUR_WORKSHOP_ID_HERE

Configuration

hemtt publish uses the same build configuration as hemtt release. All signing and archiving options apply to the released build before upload.

Arguments

–no-bin

Do not binarize the project

Files will be copied directly into the PBO without binarization. config.cpp, *.rvmat, *.ext, *.sqm, *.bikb, *.bisurf will still be rapified. This can be configured per addon in addon.toml.

Useful for faster builds during testing when you don’t need optimized file formats.

–no-rap

Do not rapify (cpp, rvmat, ext, sqm, bikb, bisurf)

They will be copied directly into the PBO. This can be configured per addon in addon.toml.

–no-sign

Do not sign the PBOs or create a bikey.

Caution

All public releases of your mods should be signed. This will be a requirement of many communities, and is an important security feature. Do not use this unless you know what you are doing.

–no-archive

Do not create a zip archive of the release.

The output will be in .hemttout/release. Useful in CI when you want to manually package or upload files to Steam Workshop.