API reference¶
All public runtime types use the namespace:
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.