Jump to content
  • Advertisement
Sign in to follow this  
rogerdv

Problem instantiating GUI element prefab

This topic is 1035 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

In my game project, I need to instantiate some ui elements like inventory and dialog windows. I created the corresponding prefab, and tested it by adding it to the scene to see if it worked well. The element created that way is located in the expected place (bottom of the screen and stretched from side to side). The problem starts when I try to instantiate the prefab from code:

var dlgWindow = Instantiate(dlgPrefab);
var canvas = GameObject.Find("Canvas");
var rt = dlgWindow.GetComponent<RectTransform>(); 
rt.SetParent(canvas.GetComponent<RectTransform>());

Which produces the undesired effect of placing the element in the lower left corner, and resizing it to a small, non visible square. Whats the proper way to do this?

 

Share this post


Link to post
Share on other sites
Advertisement

Check your scale and UI anchors. Sometimes instantiate a prefab and change his parent change this values.

I like to ensure the anchor UI values stay correct by setting up they on the Awake().

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!