Installing Hammerite
Requirements
| Godot | 4.7. The suites run on 4.7.1; earlier versions are not tested |
| Renderer | Forward+ or Mobile. Lightmap baking runs on the GPU through a local RenderingDevice, which the Compatibility renderer does not have |
| Platforms | macOS (Apple silicon and Intel), Windows x86_64 and Linux x86_64 editors and games: Hammerite's native library is built for those, in hammerite-core/bin/, and core does not load without it. Development and measurement happen on macOS |
| Web | not supported: the native library is not built for it |
Only baking needs the GPU compute path. A map baked under Forward+ displays under Compatibility, a little darker in the shadows (checked on macOS with OpenGL 3); there the lightmap tool says it cannot bake and its bake buttons are off.
The packages
Hammerite is four addons with one native library between them, so it comes as two packages, each its addons' folders with the library built for exactly those:
| Package | Folders | For |
|---|---|---|
hammerite-runtime-<version>.zip |
hammerite-core, hammerite-audio, hammerite-nav |
a game whose players never open the map editor |
hammerite-full-<version>.zip |
those and hammerite-editor |
a game that ships the editor, and making maps |
Beside them, hammerite-docs-<version>.zip is this documentation, the example project with the full package in it,
tools/migrate_to_2.sh for a project coming from 1.x, and the native library's source, native/, with
BUILDING.md saying how to build it yourself. It goes nowhere in your project.
| Addon | What it is |
|---|---|
hammerite-core |
the world: maps, brushes, the compiler, lighting, entities. Holds the native library, in bin/ |
hammerite-editor |
the map editor, in the game or over it |
hammerite-audio |
sound propagation through the compiled world; its editor tool needs the editor |
hammerite-nav |
navigation derived from the compiled world; its editor tool needs the editor |
A package is installed whole. Its library has the classes of its folders and no others, so a
hammerite-editor folder beside the runtime package's library has none of its classes, and a full
library without hammerite-editor is missing a folder; either is said in an error as the project
starts. To go from one to the other, replace all of the folders with the other package's. An addon you
do not use - audio, say - can stay installed with its plugin disabled: it costs nothing until it is
enabled.
- Unzip the package into your project's root, so its folders are in
res://addons/, keeping their names:res://addons/hammerite-core,res://addons/hammerite-editorand so on. The addons refer to their own files by those paths, so a renamed or nested folder does not load. Copy each whole:hammerite-core'sbin/folder and.gdextensionfile are the native library, and itsTHIRD_PARTY_NOTICES.mdthe licences of what is compiled into it, which a game ships with it. - Open the project in Godot and enable the plugins you use in Project > Project Settings >
Plugins, core first. Each adds its autoload (
Hammerite,HammeriteEditor,HammeriteAudio,HammeriteNavigation). Core also declares the shader globals its materials read; your own values for any of them are left alone. - The first import of a project prints a few shader compile errors, once: Godot imports before any plugin can declare the globals. Reopening the project is clean.
Hammerite adds no input actions and no project settings of its own beyond those.
Coming from 1.x. Replace all four 1.x addon folders with one package's, then migrate the project before
opening it: a .tres, .res or scene that 1.x saved does not load in 2.0 until it is. .hmap maps need nothing.
Migrating to 2.0 says how, and what changed for a game's code.
Shipping a game. Core carries the Inter typeface, which a game exports with it, and the SIL Open
Font License it is under asks that its licence go wherever the font does. Godot exports no .txt file
it is not told to, so add addons/hammerite-core/inter-OFL.txt to your export preset's
Filters to export non-resource files/folders (include_filter).
Next
- Getting started: a map in your game, with the editor over it.
- Troubleshooting if something on the way did not go as described.