Developer
Someone who builds a tool, a mod or a service on the open SDK, or extends the game itself
The SDK is open under MIT, and the final source of truth is its source code
Start with SDK, then - Installation
Someone who builds a tool, a mod or a service on the open SDK, or extends the game itself
The SDK is open under MIT, and the final source of truth is its source code
Start with SDK, then - Installation
Launch arguments open a screen, a level or a run straight away, and switches change a single launch of the game. They go after the executable: in a shortcut, a terminal or Steam's launch options
The SDK is the Bullet Hero level format as an open C# library. The game reads and writes levels through it, and your program can do the same
The SDK is the BulletHero.SDK package on nuget.org, or a build from source. Unity takes it as a git submodule, and the ConsoleSmoke sample checks that your levels read
A level is a folder: content in level.json or level.blob, metadata in metadata.json or metadata.blob, a cover and media files. Backups, records and player settings stay on the device
A .blob file holds the same data as .json in binary form: a 24-byte header followed by the data. It is an equal level format, not a cache
A level is exported as a folder, tar.gz or zip, optionally under a password: zip with AES-256 or OpenPGP. The SDK detects the format of a received file by its first bytes, not by its name
There are three versions: gv for the game, sv for the SDK, mg for the generation of the model format. By mg the SDK migrates an old file and refuses to read one with a generation newer than the build
You call validation yourself through ValidationFacade, it is not built into saving and loading. Findings are split into Error, Warning and Advice, and ValidateAndFix repairs what it can
A service describes which levels it accepts with a PublishProfile file: licenses, resource sources, required fields, size limits. Adding a service means writing a file, not editing the analyzer
A generator is one class on an SDK base class: BaseLevelGenerator, BaseContentGenerator or BaseModifier. The host builds the form, the estimate and the undo itself from the contract
Report SDK problems in the issues of the bullet-hero/sdk repository, and send code changes there as pull requests. The contributor rules live in the same repository, next to the code