Compilation
Compilation turns a Mason project into something runnable. We haven't added any assets yet, but that is OK. Mason can compile an empty Stratum plugin, and that's all you need to learn on this page.
How to Compile
To compile your project, simply launch the game modded. BepInEx will trigger Mason, which will then sift through all projects and compile them. The resulting project directory should look something like:
MyProject
├── bootstrap.dll
├── config.yaml
├── manifest.json
└── project.yaml
If not, something probably went wrong. Check your console/log for any errors from Mason. They may be global, thus preventing Mason from compiling any projects. They may also be specific to your project, in which case they would detail what you did wrong.
What Each File Is
Mason produces two files as a result of compilation: bootstrap.dll
and config.yaml
. These files serve two very distinct purposes.
bootstrap.dll
bootstrap.dll
, or the bootstrap file, is the code that gets run by BepInEx. This is the living embodiment of your project, and what makes it work. The bootstrap file does not require any of the other files present in order to function.
config.yaml
config.yaml
is a special file intended for use by standalone Mason installations. It is detailed further in the standalone unit, but for now it can be ignored.
Running the Result
If you have no errors, the project will run itself! The bootstrap file will be naturally discovered and executed by BepInEx, resulting in the project being ran. Currently, it has no assets, so nothing is performed.