Overview

com.heathen.ux is a large library of general-purpose UI/UX components for Unity’s UGUI — selection systems, windows, drag-and-drop, cursor states, tooltips, typed event/listener pairs, and input-trigger helpers. It predates Heathen’s KB and Foundation/Toolkit product split, so it ships as one package rather than a Foundation-plus-Toolkit pair, and is the shared dependency behind the On-Screen Keyboard package.

Selection & windows #

  • SelectableObject — a generalised selectable-object base, independent of UGUI’s own Selectable.
  • SelectionManager — tracks the active selection across a scene.
  • Window — a draggable/focusable window base for panel-style UI.
  • DropContainer / DragItem — drag-and-drop source and target pairing.
  • MoveHandle / BorderHandle — drag handles for moving and resizing UI elements.

Typed events (GameEvent / GameEventListener family) #

A ScriptableObject-based typed event system — a GameEvent<T> asset that any number of GameEventListener<T> components can subscribe to, decoupling the raiser from the listener. Shipped in 18 typed variants: Bool, String, Int, Long, Float, Double, Int2Int4, Float2Float4, UnsignedInt, UnsignedLong, Collider, and Collision.

Cursor & tooltip system #

  • CursorState / CursorAnimator — swappable, animatable cursor states.
  • ButtonCursorState / MouseOverCursorState — cursor state changes driven by button/hover interaction.
  • TooltipWindowController plus four tooltip-trigger variants — a reusable tooltip window wired to different trigger conditions.

Layout & scrolling #

  • ReorderableHorizontalLayoutGroup / ReorderableVerticalLayoutGroup — drag-to-reorder layout groups.
  • ScrollRectHelper — scroll-to-item and related ScrollRect utilities.
  • TreeViewCollection / TreeViewNode — a hierarchical tree-view UI widget.

Input triggers #

  • PlayOnClick, PlayOnDown, PlayOnUp, PlayOnEnter, PlayOnExit, PlayOnDemand — fire a UnityEvent from the matching pointer interaction.
  • Six collision/trigger-sender variants (Collision/Trigger × Enter/Exit/Stay) — forward Unity physics callbacks as UnityEvents.
  • ActionHoldUnityEvent / KeyHoldUnityEvent / PointerHoldUnityEvent — fire after a configurable hold duration, across the Input System action, legacy key, and pointer-hold cases respectively.
  • RayCatcher — a full-screen raycast-blocking/catching overlay.

Misc #

  • CommandDirector / CommandLibrary — a command-pattern dispatch system for UI actions.
  • ScenesManager — scene load/unload helper.
  • ScriptableTag — a lightweight ScriptableObject-based tag asset, unrelated to Heathen’s GameplayTags product.

Rate This Article!