Skip to content

API reference

All public runtime types use the namespace:

LevelArgento.SmartUINavigation

SmartFocusManager

sealed class SmartFocusManager : MonoBehaviour

Member Description
SmartFocusScope CurrentScope { get; } Current monitored scope.
EventSystem EventSystem { get; } Assigned or resolved EventSystem.
SmartInputModeDetector InputModeDetector { get; } Configured optional detector.
void SetScope(SmartFocusScope scope) Changes scope, clears modal history, and resolves focus. null stops monitoring without changing selection.
bool PushModal(SmartFocusScope modalScope) Pushes an active modal scope and records the current base selection.
bool PopModal() Pops one modal entry and restores its saved selection or the base scope fallback.
bool RequestFocus(Selectable selectable) Selects a valid control within the current scope.
bool RecoverFocus() Resolves remembered, default, then first valid descendant focus.

SmartFocusScope

sealed class SmartFocusScope : MonoBehaviour

Member Description
Selectable DefaultSelection { get; set; } Preferred target when no valid remembered target exists.
bool RememberLastSelection { get; set; } Enables scope selection memory. Setting false clears current memory.
void ClearRememberedSelection() Clears the stored selection.

SmartInputMode

enum SmartInputMode

Values: Mouse, Keyboard, Gamepad.

SmartInputModeDetector

sealed class SmartInputModeDetector : MonoBehaviour

Member Description
SmartInputMode CurrentMode { get; } Current detected UI input mode.
event Action<SmartInputMode> ModeChanged Raised after the mode changes.

The Inspector selects Auto (EventSystem) or Manual input observation and configures the mouse movement threshold. These are serialized settings, not additional public C# members.

SmartNavigationGroup

sealed class SmartNavigationGroup : MonoBehaviour, ILayoutController

Member Description
bool RebuildAutomatically { get; set; } Enables deferred rebuilding after relevant changes. Enabling it marks the group dirty.
void RebuildNavigation() Immediately collects valid participants and writes Explicit directional links from current screen-space layout.
void MarkNavigationDirty() Marks the group dirty. An automatic rebuild occurs only when RebuildAutomatically is enabled.
void SetLayoutHorizontal() Unity layout callback that marks the group dirty. Applications normally do not call it directly.
void SetLayoutVertical() Unity layout callback that marks the group dirty. Applications normally do not call it directly.

SmartNavigationTopology

enum SmartNavigationTopology

Value Behavior
Freeform Allows all directions and spatial scoring.
VerticalList Allows Up and Down only.
HorizontalList Allows Left and Right only.
Grid Preserves visual row and column lanes.

SmartNavigationLayoutConstraint

sealed class SmartNavigationLayoutConstraint : MonoBehaviour

Member Description
SmartNavigationTopology Topology { get; set; } Topology applied on the next navigation rebuild. Setting it marks the owning group dirty.

SmartNavigationOverrideMode

enum SmartNavigationOverrideMode

Values: Auto, None, Explicit.

SmartNavigationDirectionOverride

struct SmartNavigationDirectionOverride

Member Description
SmartNavigationDirectionOverride(SmartNavigationOverrideMode mode, Selectable explicitTarget = null) Creates one direction setting.
SmartNavigationOverrideMode Mode { get; set; } Resolution mode.
Selectable ExplicitTarget { get; set; } Target used by Explicit mode.

Changing fields on a local struct copy does not update a component property until the struct is assigned back.

SmartNavigationOverride

sealed class SmartNavigationOverride : MonoBehaviour

Member Description
SmartNavigationDirectionOverride Up { get; set; } Up override.
SmartNavigationDirectionOverride Down { get; set; } Down override.
SmartNavigationDirectionOverride Left { get; set; } Left override.
SmartNavigationDirectionOverride Right { get; set; } Right override.

Setting a direction property marks the owning navigation group dirty.