Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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
0
Question by HAJFAJV · Dec 29, 2018 at 02:40 PM · c#uicanvascomponent

Finding a panel in canvas

     //find CharacterInfoPanel
         CharacterInfoPanel = GameObject.Find("Canvas").GetComponent("CharacterInfoPanel");

I have been watching a tutorial from 3 years ago and this worked there but I doesn't like it now, any idea how to make it work?

error CS0029: Cannot implicitly convert type UnityEngine.Component' to UnityEngine.GameObject'

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

2 Replies

· Add your reply
  • Sort: 
avatar image
2
Best Answer

Answer by fafase · Dec 29, 2018 at 03:46 PM

It appears CharacterInfoPanel is of type GameObject which is why the compiler complains it cannot store a Component into this.

So either you want to modify CharacterInfoPanel to be of type CharacterInfoPanel and then you'd need a cast (I would also rename it a bit)

  CharacterInfoPanel characterInfoPanel;
  characterInfoPanel =  GameObject.Find("Canvas").GetComponent("CharacterInfoPanel") as CharacterInfoPanel ;

You need the cast since GetComponent(string) returns a Component type object, even though you passed a more defined type. You could use the generic version but there may be a reason why you need the string version. If you don't need the string go as:

  CharacterInfoPanel characterInfoPanel;
  characterInfoPanel =  GameObject.Find("Canvas").GetComponent<CharacterInfoPanel>();

Last case, it means you are not after the component but only the GameObject holding the component (I think you want solution 1 though):

  GameObject characterInfoPanel;
  characterInfoPanel =  GameObject.Find("Canvas");


Comment
Add comment · Show 2 · 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 HAJFAJV · Dec 30, 2018 at 12:30 AM 0
Share

I did renamed CharacterInfoPanel to CharacterBar as it wasn't actually correct. And I think it is a GameObject I mean it's an Image. I want to instantiate into a canvas panel. So I have a Canvas named Canvas, and a panel attached named CharacterInfoPanel, it's to this panel I want to attacthed CharacterBar which is a Unity UI image. And it does instantiate it just fine now, but It does it outside the panel

 public GameObject CharacterBar;
     private GameObject CharacterInfoPanel;

  void Start ()
     {
         //find CharacterInfoPanel
         CharacterBar = GameObject.Find("CharacterBar");
         //create a panel and fill the info of the character (GUI)
         CreateCharacterInfoPanel();

     void CreateCharacterInfoPanel()
     {
         CharacterBar = Instantiate(CharacterBar);

It makes sense that CharacterBar = Instantiate(CharacterBar); doesn't have a parent so I looked it up and everyone apparently use:

 GameObject g = (GameObject)Instantiate(gameObject, transform.position, Quaternion.identity);
             g.transform.SetParent(transform.parent, false);
             g.transform.position = transform.position;

But I don't understand this, I mean "g" is my CharacterBar so I get the following?

 GameObject  CharacterBar = (GameObject)Instantiate(gameObject, transform.position, Quaternion.identity);
                 CharacterBar.transform.SetParent(transform.CharacterInfoPanel, false);
                 CharacterBar.transform.position = transform.position;

This doesn't give me an error but it doesn't do anything either. I'm confused and I have no idea what path I should try

avatar image fafase HAJFAJV · Dec 30, 2018 at 07:28 PM 0
Share

Something not quite right, in CreateCharacterInfoPanel, you pass the CharacterBar as prefab and store the new object in CharacterBar. I don't think you mean to do so.

"It makes sense that CharacterBar = Instantiate(CharacterBar); doesn't have a parent so I looked it up and everyone apparently use"

you say CharacterBar is an image, so it has to be parented to a Canvas or it won't be rendered.

Try simple to better understand:

 public GameObject theImagePanel;
 
 void Start ()
 {
          //find CharacterInfoPanel
          GameObject mainCanvas= GameObject.Find("$$anonymous$$ainCanvas");
          GameObject g = (GameObject)Instantiate(theImagePanel, transform.position, Quaternion.identity);
          g.transform.SetParent(mainCanvas.transform, false);
          // Not sure where to put it so you'll sort out the positioning I guess
 }
avatar image
0

Answer by hexagonius · Dec 29, 2018 at 02:56 PM

use the generic version of GetComponent:
https://docs.unity3d.com/Manual/GenericFunctions.html

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

591 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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

Trying to place an UI Canvas Image next to another UI Image 1 Answer

Can CanvasRenderer provide third UV coordinates? 0 Answers

Close UI using Canvas Group 1 Answer

UI Only Updates As Intended When Editing Through Scene 0 Answers

Set GameObject for OnClick.AddListener Lambda 0 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