Demos Overview
Simple Enemy Forge ships with one interactive demo — the Bestiary Demo, a 7-tab runtime data browser that showcases all forge outputs in a single scene. It exercises every generated database type and all 7 runtime helpers, giving you a hands-on preview of what your data looks like at runtime.
Bestiary Demo
A 7-tab interactive data browser with search, filtering, spawn rolling, scaling preview, wave simulation, behavior evaluation, and faction relationship display — all driven by your generated databases.
Bestiary Demo
The Bestiary Demo is generated via Window › Simple Enemy Forge › Generate Bestiary Demo
(menu priority 201). It creates a complete runtime scene with a full-screen Canvas UI using a
Black + Crimson Red (#C43A31) color scheme, matching Simple Enemy Forge's documentation theme.
The demo mirrors the pattern established by Simple Item Forge's ARPG Demo
(ARPGDemoGenerator.cs + ARPGDemo.cs), adapted for SEF's 7 forges
and runtime helpers.
Setup
Getting the Bestiary Demo running takes 3 steps:
Go to
Window › Simple Enemy Forge › Generate Bestiary Demo. This creates a new scene
with a Canvas, EventSystem, and the BestiaryDemo MonoBehaviour pre-configured.
Select the BestiaryDemo GameObject in the Hierarchy. In the Inspector, assign your generated database assets to the 7 array fields:
- Enemy Databases — your generated enemy database ScriptableObjects
- Squad Databases — your generated squad database ScriptableObjects
- Spawn Databases — your generated spawn table database ScriptableObjects
- Scaling Databases — your generated scaling profile database ScriptableObjects
- Wave Databases — your generated wave sequence database ScriptableObjects
- Behavior Databases — your generated behavior profile database ScriptableObjects
- Faction Databases — your generated faction database ScriptableObjects
Press Play. The Bestiary Demo canvas will appear with 7 tabs along the top.
The 7 Tabs
Each tab corresponds to one of the 7 forges and demonstrates the runtime API for that forge:
| Tab | Forge | What to Try |
|---|---|---|
| Enemies | Enemy Forge | Browse enemies, search by name, filter by category, view icons and all dynamic properties (categories, flags, numerics, texts) |
| Squads | Squad Forge | View squad compositions with slot breakdowns showing enemy codes, count ranges, and level overrides |
| Spawn | Spawn Forge | Select a spawn table, adjust context sliders and toggles, click ROLL to see
SimpleSpawnRoller results with pool names and selected entries |
| Scaling | Scaling Forge | Select an enemy from the dropdown, drag the level slider, and see
SimpleScalingHelper preview showing base vs. scaled values for each numeric |
| Waves | Wave Forge | Select a wave sequence, click SIMULATE / PAUSE /
STOP / SKIP, and watch the SimpleWaveRunner
event log showing wave starts, spawn requests, completions, and loops |
| Behavior | Behavior Forge | Select a behavior profile, set context values using sliders and toggles, click
EVALUATE to see SimpleBehaviorEvaluator results showing
matching rules sorted by priority |
| Factions | Faction Forge | View the N×N relationship matrix with color-coded stance labels (Hostile in red, Unfriendly in orange, Neutral in gray, Friendly in green, Allied in blue) |
Key Features
Dynamic Context Controls
The Spawn and Behavior tabs build context controls dynamically from your database metadata.
For each context category, a dropdown is generated. For each context flag, a toggle is generated.
For each context numeric, a slider is generated. These controls map directly to
SimpleSpawnContext values used by the runtime helpers.
Layout
The demo targets 1920x1080 resolution using a CanvasScaler with
ScaleWithScreenSize mode. The UI uses split panels with a 32% list / 68% detail
ratio, matching the split-panel pattern used in the generated custom editors.
Navigation
A Back button in the top-left corner destroys the demo canvas and returns to the scene's default state. There is no persistent inventory bar (unlike SIF's ARPG Demo) since SEF is a data browsing tool, not an inventory simulation.
Runtime Helpers in Action
The demo exercises all 6 runtime helper classes:
SimpleSpawnRoller— powers the Spawn tab's ROLL buttonSimpleSpawnContext— built from UI controls for Spawn and Behavior tabsSimpleSpawnEvaluator— used internally by the roller and behavior evaluatorSimpleScalingHelper— powers the Scaling tab's live previewSimpleWaveRunner— drives the Waves tab's simulation (called in Update())SimpleBehaviorEvaluator— powers the Behavior tab's EVALUATE buttonSimpleFactionHelper— used by the Factions tab for relationship queries
Technical Reference
The Bestiary Demo consists of 2 files:
| File | Assembly | Purpose |
|---|---|---|
Editor/Demo/BestiaryDemoGenerator.cs |
Editor | Static generator class that creates the demo scene, Canvas, UI hierarchy, and BestiaryDemo component via MenuItem (priority 201) |
Runtime/Demo/BestiaryDemo.cs |
Runtime | MonoBehaviour with 7 database arrays, cached interfaces, tab switching, search/filter, context building, and wave simulation in Update() |
Unity.TextMeshPro for
UI text rendering. The assembly definition references are already configured in the
.asmdef files.