docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct Navigation

    Implements
    IEquatable<Navigation>
    Inherited Members
    ValueType.Equals(object)
    ValueType.GetHashCode()
    ValueType.ToString()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: UnityEngine.UI
    Assembly: UnityEngine.UI.dll
    Syntax
    [Serializable]
    public struct Navigation : IEquatable<Navigation>

    Properties

    defaultNavigation

    Return a Navigation with sensible default values.

    Declaration
    public static Navigation defaultNavigation { get; }
    Property Value
    Type Description
    Navigation
    Examples
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI; // Required when Using UI elements.
    
    public class ExampleClass : MonoBehaviour
    {
        public Button button;
    
        void Start()
        {
            //Set the navigation to the default value. ("Automatic" is the default value).
            button.navigation = Navigation.defaultNavigation;
        }
    }

    mode

    Navigation mode.

    Declaration
    public Navigation.Mode mode { get; set; }
    Property Value
    Type Description
    Navigation.Mode

    selectOnDown

    Specify a Selectable UI GameObject to highlight when the down arrow key is pressed.

    Declaration
    public Selectable selectOnDown { get; set; }
    Property Value
    Type Description
    Selectable
    Examples
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;  // Required when Using UI elements.
    
    public class HighlightOnKey : MonoBehaviour
    {
        public Button btnSave;
        public Button btnLoad;
    
        public void Start()
        {
            // get the Navigation data
            Navigation navigation = btnLoad.navigation;
    
            // switch mode to Explicit to allow for custom assigned behavior
            navigation.mode = Navigation.Mode.Explicit;
    
            // highlight the Save button if the down arrow key is pressed
            navigation.selectOnDown = btnSave;
    
            // reassign the struct data to the button
            btnLoad.navigation = navigation;
        }
    }

    selectOnLeft

    Specify a Selectable UI GameObject to highlight when the left arrow key is pressed.

    Declaration
    public Selectable selectOnLeft { get; set; }
    Property Value
    Type Description
    Selectable
    Examples
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;  // Required when Using UI elements.
    
    public class HighlightOnKey : MonoBehaviour
    {
        public Button btnSave;
        public Button btnLoad;
    
        public void Start()
        {
            // get the Navigation data
            Navigation navigation = btnLoad.navigation;
    
            // switch mode to Explicit to allow for custom assigned behavior
            navigation.mode = Navigation.Mode.Explicit;
    
            // highlight the Save button if the left arrow key is pressed
            navigation.selectOnLeft = btnSave;
    
            // reassign the struct data to the button
            btnLoad.navigation = navigation;
        }
    }

    selectOnRight

    Specify a Selectable UI GameObject to highlight when the right arrow key is pressed.

    Declaration
    public Selectable selectOnRight { get; set; }
    Property Value
    Type Description
    Selectable
    Examples
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;  // Required when Using UI elements.
    
    public class HighlightOnKey : MonoBehaviour
    {
        public Button btnSave;
        public Button btnLoad;
    
        public void Start()
        {
            // get the Navigation data
            Navigation navigation = btnLoad.navigation;
    
            // switch mode to Explicit to allow for custom assigned behavior
            navigation.mode = Navigation.Mode.Explicit;
    
            // highlight the Save button if the right arrow key is pressed
            navigation.selectOnRight = btnSave;
    
            // reassign the struct data to the button
            btnLoad.navigation = navigation;
        }
    }

    selectOnUp

    Specify a Selectable UI GameObject to highlight when the Up arrow key is pressed.

    Declaration
    public Selectable selectOnUp { get; set; }
    Property Value
    Type Description
    Selectable
    Examples
    using UnityEngine;
    using System.Collections;
    using UnityEngine.UI;  // Required when Using UI elements.
    
    public class HighlightOnKey : MonoBehaviour
    {
        public Button btnSave;
        public Button btnLoad;
    
        public void Start()
        {
            // get the Navigation data
            Navigation navigation = btnLoad.navigation;
    
            // switch mode to Explicit to allow for custom assigned behavior
            navigation.mode = Navigation.Mode.Explicit;
    
            // highlight the Save button if the up arrow key is pressed
            navigation.selectOnUp = btnSave;
    
            // reassign the struct data to the button
            btnLoad.navigation = navigation;
        }
    }

    wrapAround

    Enables navigation to wrap around from last to first or first to last element. Will find the furthest element from the current element in the opposite direction of movement.

    Declaration
    public bool wrapAround { get; set; }
    Property Value
    Type Description
    bool
    Examples

    Note: If you have a grid of elements and you are on the last element in a row it will not wrap over to the next row it will pick the furthest element in the opposite direction.

    Methods

    Equals(Navigation)

    Declaration
    public bool Equals(Navigation other)
    Parameters
    Type Name Description
    Navigation other
    Returns
    Type Description
    bool

    Implements

    IEquatable<T>

    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Properties
      • defaultNavigation
      • mode
      • selectOnDown
      • selectOnLeft
      • selectOnRight
      • selectOnUp
      • wrapAround
    • Methods
      • Equals(Navigation)
    • Implements
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)