Skip to content

🧩 Teaching — UI

This folder contains the shared IMGUI infrastructure used by RevFramework teachable panels.

It provides common support for:

  • panel layout and chrome
  • scaling and anchoring
  • draggable/resizable panel behaviour
  • feedback and result banners
  • dependency/wiring guard messages
  • shared section and help rendering

These scripts exist to keep teachable panels consistent, readable, and easy to extend.


📦 What Lives Here

Typical contents include shared teachable-panel infrastructure such as:

  • TeachablePanelBase — standard lifecycle and panel rendering entry point
  • PanelBase — shared IMGUI layout, scaling, dragging, anchoring, resizing, and sizing helpers
  • PanelDependencyGuard — standardised dependency/wiring callouts and hard-stop checks
  • PanelFeedbackUtility — feedback box rendering for info/warning/error/success states
  • PanelResultUI — standard rendering for operation results
  • PanelSections — shared section/header/help/button helpers
  • OpResult — lightweight result model with UI-neutral severity
  • StyleSizer / PanelLayout — internal support for consistent layout and sizing

🎯 Purpose

These utilities exist to support the teaching layer of RevFramework.

They are designed to make teachable panels:

  • self-explanatory
  • visually consistent
  • easier to debug
  • easier to maintain across systems

This helps the framework teach itself directly inside Unity, instead of forcing users to rely only on external documentation.


⚠️ Not Gameplay UI

This folder is not a gameplay UI framework.

It is not intended for:

  • in-game HUDs
  • player-facing menus
  • production UI architecture
  • runtime feature UI systems

These scripts are built around IMGUI and are meant for teachable/debug tooling, not shipped player UX.


🧪 Intended Usage

Use this folder when you want to:

  • understand how teachable panels are structured
  • inspect the shared UI layer behind RevFramework teaching tools
  • extend or maintain existing teachable panels in a consistent way

🧱 Design Notes

This UI layer intentionally:

  • avoids direct dependencies on gameplay UI frameworks
  • keeps feedback rendering standard across systems
  • uses a shared panel lifecycle to reduce duplication
  • separates result/status models from visual rendering
  • supports lightweight dependency validation and guided callouts

This is part of the teaching ecosystem, not the public gameplay API surface.


🚫 Not a Public Runtime Surface

Although these utilities are shared across teachable panels, they should not be treated as a general-purpose extension framework for game UI.

If you are building a real game UI, use your own preferred approach:

  • uGUI
  • UI Toolkit
  • a custom runtime UI layer
  • another framework entirely

🧹 Safe to Remove

If you are not using RevFramework teachable panels, this folder can be removed safely.

Removing it does not affect:

  • runtime systems
  • supported gameplay APIs
  • production integrations