View Format: Multi-Page Single Page

Simple Enemy Forge

Generate Complete Enemy Databases, Squads, Spawn Tables, and More in Minutes.

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:

1 Generate the Scene
Go to Window › Simple Enemy Forge › Generate Bestiary Demo. This creates a new scene with a Canvas, EventSystem, and the BestiaryDemo MonoBehaviour pre-configured.
2 Assign the 7 Database Arrays
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
3 Enter Play Mode
Press Play. The Bestiary Demo canvas will appear with 7 tabs along the top.
Tip: You can assign multiple databases per slot. The demo merges them using the same first-DB-wins deduplication that the wizards use. This lets you combine databases from different templates or projects.

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 button
  • SimpleSpawnContext — built from UI controls for Spawn and Behavior tabs
  • SimpleSpawnEvaluator — used internally by the roller and behavior evaluator
  • SimpleScalingHelper — powers the Scaling tab's live preview
  • SimpleWaveRunner — drives the Waves tab's simulation (called in Update())
  • SimpleBehaviorEvaluator — powers the Behavior tab's EVALUATE button
  • SimpleFactionHelper — 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()
TextMeshPro Required: Both files reference Unity.TextMeshPro for UI text rendering. The assembly definition references are already configured in the .asmdef files.