Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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
1
Question by dansav · Apr 11, 2015 at 11:01 PM · uicanvashideshow

hide show canvas and ui elements at start

I want to start a game with a canvas of UI buttons that appears only when the game is done with an initialization function. I tried making the canvas inactive in the inspector to start and then using SetActive in the script, but I get a null reference.

I've read people suggesting to make a canvas group and set alpha to 0 but that the buttons are still clickable which could also crash if someone clicks the screen before everything is loaded. Isn't there an easy way to just hide show a canvas or individual UI elements?

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
3
Best Answer

Answer by DoTA_KAMIKADzE · Apr 12, 2015 at 12:42 AM

For that purposes I tend to create a Manager script that I add to Main UI canvas and it contains basically 2 function Show and Hide. Now what those 2 thing will do is up to you.

The concept is - if you have more than 1 UI thing to be shown/hidden (with animation or without doesn't really matter) you just throw it to an empty container, then if this is a single UI or a container you just add CanvasGroup (now if there is animation you can also add a script with animation to it).

The next steps are pretty simple:

-Hide function changes alpha to 0 and sets BlocksRaycasts to false (you can set Interactable to false as well in case you tick your UIs without raycasting).

-Show function just does the oposite to Hide function. (alpha = 1, BlocksRaycasts = true, and optionally Interactable = true, if it was previously set false in hide function).

Now if you have animation you can as well move it outside of the screen bounds if you're willing to do so, but CanvasGroup is enough to be invisible and not interactable.

Comment
Add comment · 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

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

19 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Layers Show/Hide not hiding children with showing parent 0 Answers

how to make a menu open and close with the same button 3 Answers

how I can hide a canvas in Unity and shows it after some days using C# Script ? 1 Answer

Canvas Hide / Show with 3 clickable Objects 0 Answers

Can you use renderer.enabled on array members ? 3 Answers


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