Skip to content

In Development

What is being worked on right now, and what is being thought about next.

Read this as intent, not as a promise

Nothing on this page carries a date, and nothing below Now is committed. Priorities move when something turns out to matter more — or when a defect appears and jumps the queue.

Items are listed in descending order of certainty: what is with Unity now, what is being built, what is likely, and what is only being considered. Treat the last section as thinking out loud.


With Unity now

1.3.0 is with Unity — the Attributes system, and a correctness pass built out of two adversarial audits: authority semantics across every system, then multiplayer, determinism and dedicated-server behaviour. Attributes ships in Complete only. 1.2.0 remains live until 1.3.0 clears curation.

Read the Migration notes before you update

Most of 1.3.0 is correctness work, and a fix to something that behaved wrongly is still a change to what your project does today. Several behaviours change with no compile error — a usable item whose effect refuses is no longer consumed, Loot and Crafting's seeded RNG produces different numbers for the same seed, and a throwing event handler no longer reaches the caller. One decides whether you can roll back: a save written by 1.3.0 will not load in an older build, because every shipped participant now stamps its section and writes it as version 2. Existing saves still load. The changelog Migration section has all sixteen.


Now

No new systems are queued behind 1.3.0 — it ships the whole of what was built and waiting. What is being worked on is the material around them:

  • A Cookbook of worked compositions. Small, complete classes showing things the public API allows that nothing in the framework points at — loot odds that read the player's condition, a shop that charges in health, a craft that cannot half-happen, a pity counter that leaves the printed odds alone.

    It is already up, under its own tab. It is listed here because it is still being added to, not because it is waiting on anything — so browse it rather than wait for it.

    Each is one class you copy into a project that already exists, and every page states the systems it needs and which package gives you them. Most combine systems that only arrive together in Complete; some need just one and run in a single-system package.

    It lives on this site rather than in a package — nothing to download, nothing added to your project, and nothing that a framework update can break once you have copied it.

  • An Attributes system — now with Unity, in 1.3.0. Somewhere to keep the numbers a character is made of. There is no separate Stats system, and that is the decision rather than an omission — the consumption side has shipped for several releases, and a single canonical stat model could only exist by contradicting the seams that already read one. The reasoning is set out in full on the Attributes mental model page. Complete package only.

  • Fuller demo scenes for Loot and Save. Both ship with a single quickstart scene, where the older systems have between four and nine. One scene is enough to show the mechanism running and not much beyond it — it proves the wiring rather than showing what a real setup looks like. They are the two newest systems and it shows. Both are being built out.

  • YouTube walkthroughs for Loot and Save. Neither has one, so for the two newest systems the written documentation is currently doing all the work on its own. Both are being recorded, each with its own playlist.

What is being considered next is below.


Next

Likely, in no particular order.

  • World-object persistence. Making a collected pickup or an opened container stay collected across a save. This needs pickups to carry a durable identity first, which they do not yet.

Under consideration

Thinking out loud. Nothing here is planned, and saying so is the point — if one of these matters to your project, that is worth knowing.

  • Item durability that something actually drives. The field exists on every stack and nothing in the framework decrements it.
  • Odds-level loot modifiers — luck, magic find, difficulty scaling. Today a modifier adjusts what was won rather than what could have dropped, which cannot express those. A pity counter turns out not to need them: it can be built by upgrading the award you did win, which leaves the printed odds meaning exactly what they say — the Cookbook has one.
  • An interaction abstraction beyond trigger volumes, for raycast-style "press E to open".

Recently shipped

  • 1.2.0 — the Loot system, a save manager, a pass over the five debugger windows, and a correctness pass across all seven systems. Loot gives you drop tables for items and currency authored as assets rather than written into code, with weighted and independent-chance modes, nested tables with cycle detection, and deterministic seeded rolls so a drop-rate check is reproducible. The save manager is the wrapper every project was writing on top of the coordinator: registration, slots, storage behind a swappable interface, and carry-over handling that stops a save shrinking when it is loaded on a build missing a system. The five debugger windows are rebuilt on the same public seams your own tooling would use, rather than reaching through reflection. The correctness pass is most of the release by volume — an adversarial audit of the shipped code, the remediation of everything it found, and an independent verification of that remediation, which found further defects including one the remediation had introduced itself.
  • 1.1.0 — a save coordinator that composes any number of systems into one versioned payload, routes a saved payload back to them and reports per-section outcomes, with your own game state sitting in that file as an equal participant. Alongside it, a run of build and packaging fixes: a test download that would not compile without Health, a demo overlay that shipped in player builds after Samples/ was removed, and an inventory-backed currency adapter that did nothing.
  • 1.0.4 — a read-only TimeMode on the status controller, and a render smoke test covering every teachable panel so a panel cannot silently break.
  • 1.0.3 — Economy now declares its Currency requirement at the assembly level, so an unsupported combination fails at compile time instead of at runtime.

Full detail for every release is in the changelog.


Want something moved up this page?

Feature requests genuinely do reorder it — the sections above are ordered by confidence, not by how interesting they are to build. Get in touch and say what you are building and what is in your way.