Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
12 Jun 22 - 14 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
2
Question by Rodoleia · Apr 05, 2016 at 05:13 AM · uibuttonsnavigation

Setting a button navigation mode throug code

Hi guys! A have a problem in my game with UI buttons. For some reason they stay focused after one pressing, and after this pressing the "space" on the keyboard make them act like they are being pressed. I fixed this issue with setting buttons "navigation mode" to none in the editor.

The current problem is that i have some buttons that are created realtime during the game by code. How can i set those buttons navigation mode to "None" through code that instantiates it?

I tried ElementButton.navigation.mode = Navigation.Mode.None;

But unity says me: "Cannot modify the return value of 'Selectable.navigation' because it is not a variable"

What am i missing?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
10

Answer by Rodoleia · Apr 05, 2016 at 11:32 AM

Ok, i found the answer by myself (hope it will be useful for someone) :

 public Button ElementButton;
 Navigation customNav = new Navigation();

 void Start()
 {
     ElementButton = GetComponent<Button>();
     customNav.mode = Navigation.Mode.None;
     ElementButton.navigation = customNav;
 }
Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image viveleroi · Mar 04, 2017 at 04:42 AM 1
Share

You can store the original navigation object as a variable and then assign to it:

 var navigation = button.navigation;
 navigation.mode = Navigation.$$anonymous$$ode.Explicit;

You're close to this answer, but this will avoid the need to instantiate a new Navigation object.

avatar image dustxx viveleroi · Apr 22, 2020 at 06:01 AM 0
Share

In the end you will need to reassign Navigation back to the Button either way, because Navigation is a struct. Otherwise, the change will be lost (the struct is just a copy).

Here's a one-liner solution: button.navigation = new Navigation() { mode = Navigation.$$anonymous$$ode.None };

avatar image dustxx viveleroi · Apr 22, 2020 at 06:01 AM 0
Share

In the end you will need to reassign Navigation back to the Button either way, because Navigation is a struct. Otherwise, the change will be lost (the struct is just a copy).

Here's a one-liner solution: button.navigation = new Navigation() { mode = Navigation.$$anonymous$$ode.None };

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

How to navigate through UI buttons without keyboard arrows? 3 Answers

Input Fields - Navigating with tab 1 Answer

A button inside of a button is highlighting parent button 1 Answer

I need help, Everytime i put my scense in play it says, "Object reference not set to an instance of an object". Advice would be great:) 1 Answer

How do I effectively use UI buttons to move my character without confusing assets from the asset store? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges