Skip to content

Architecture

13976_gamedev (Student) edited this page Jul 30, 2026 · 3 revisions

Architecture

Where things live

Assets/Starhelm/ is the installed package (framework code, read-only once installed):

  • Core/ - contracts: tags, contexts, buyer-facing interfaces (zero dependencies)
  • Runtime/ - definitions, execution, job board, behavior trees, speech, time, skills
  • Modules/ - built-in conditions, costs, effects and targeting
  • Diagnostics/ - runtime overlay and scene gizmos
  • Editor/ - UI Toolkit editor windows
  • Template/ - the playable management-game starter
  • Tests/ - the test suites: 146 EditMode plus 6 PlayMode
  • Samples~/ - Colony sim, Horror management, and Light RTS samples
  • Documentation~/ - Manual.md and Quickstart.md

Assets/Starhelm Data/ is where you author your own content (created by Tools > Starhelm > Setup):

  • Actions/
  • Behavior Graphs/
  • Dialogue/Libraries/ and Dialogue/Profiles/
  • Demo/

Extending the framework

Adding a new condition, cost, effect, target or behavior node is done by writing one [Serializable] class that derives from the matching base class. There is no manual registration step, the new class appears automatically in every relevant editor menu, thanks to Unity's TypeCache.

Example, a custom condition:

[System.Serializable]
public sealed class HasLineOfSight : Starhelm.Runtime.Condition
{
    public override Starhelm.Core.ValidationResult Evaluate(Starhelm.Core.ExecutionContext ctx)
        => /* your check */ Starhelm.Core.ValidationResult.Valid;
}

Integrating with your own game

Starhelm plugs into your project through five small interfaces:

  • IActorContext
  • IActionTarget
  • IStatProvider
  • IResourceStore
  • IWorldQuery

Nothing in the Template is required, these interfaces are enough to connect the framework to a game built entirely from scratch.

See Installation to get the package into your project, and Quick Start to generate a first playable scene.

Clone this wiki locally