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, Int2–Int4, Float2–Float4, UnsignedInt, UnsignedLong, Collider, and Collision.
Cursor & tooltip system #
CursorState/CursorAnimator— swappable, animatable cursor states.ButtonCursorState/MouseOverCursorState— cursor state changes driven by button/hover interaction.TooltipWindowControllerplus 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.