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 FreeTimeDev · Jan 02, 2015 at 02:42 AM · uibuttoncanvasnullreferenceexception

Adding child to Canvas

I've tried to research this myself and there are tons of answers about -- none of which that work.

I have this code here:

 GameObject newButton = Instantiate(buttonPrefab, new Vector3(0f,0f,0f), Quaternion.identity) as GameObject;
                 newButton.transform.SetParent(loadCanvas.transform, true);


That obviously takes a button prefab and assigns it to a canvas. I've literally tried every combination of .transform.parent and SetParent I could (as other answers suggest) and I can't for the life of me avoid the error:

NullReferenceException: Object reference not set to an instance of an object

I'm assuming that's referring to my loadCanvas Canvas object being null, but it's used elsewhere in the script without error and is assigned in the inspector. Immediately before that in the code the canvas is SetActive(false), but that is not the issue (I've tried enabling it so that it was always active and it didn't change the results).

As soon as I move the button under the loadCanvas object in the hierarchy it renders. What gives?

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

Answer by FreeTimeDev · Jan 03, 2015 at 01:38 AM

Solved:

 //Cast it as a Button, not a game object
     Button newButton = (Button)Instantiate(buttonPrefab);
    //Use .SetParent(canvasName,false)    
 newButton.transform.SetParent(loadCanvas.transform,false);
 
 



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

25 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 avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

UI elements are not getting affected by lighting 0 Answers

UI 4.6 canvas button, how to make it invisible on gameplay and how to make it visible when player is dead? 3 Answers

Strange UI Button hover offset when using Worldspace Canvas in VR 4 Answers

My UI buttons work fine in editor but when I exported the game on Android, only some of them works. 0 Answers

Simulate Button presses through code unity 4.6 GUI 4 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