Start Here
- Got a task? → How do I… — problem, code, gotcha.
- Got a type you don't understand? → Reference, or search the API.
- Got neither yet? → Getting Started builds a project and
gets a
.dllinto the game.
Scope
Setup, manifest.json, and dependencies are covered well by the
official wiki; ShapezShifter's
content-authoring builders are covered by the
Notion docs.
This site covers what neither does: working with the game that is already there — reading the map, watching machines, drawing over the world, and hooking behaviour that has no builder API.
First fifteen minutes
- Getting Started — build something, watch it load.
- Run code when a game loads — your constructor runs at the main menu, not in a game. This catches everyone.
- Find buildings — walk the world.
- Add a console command — the fastest debug loop you get.
Conventions
Everything stated as fact was read out of the shipped assemblies. Guesses are marked
Inference, not verified. Written against shapez 2 1.0 and the ShapezShifter
workshop release (steam:3542611357).
Where a page uses an [Obsolete] type — DrawHooks, IGameSessionManagers,
IslandModel.LayoutQuery — it says so. They are the easy way today and the first thing
to break tomorrow.