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
0
Question by mat · Feb 01, 2011 at 01:48 PM · instantiateaccess

accessing an instantiated prefab's components in C#?

Hi,

How do I go about getting access to a newly instantiated prefab's components?

In C# Instantiate does not return a GameObject so this does not work:

GameObject rocket = Instantiate(rocket, position, rotation);

Component comp = rocket.GetComponent(); //nope!

Thanks

Comment
Add comment · Show 2
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 · Feb 01, 2011 at 02:15 PM 0
Share

Instantiate returns type "Object", but can be cast how you like. I think you might have misunderstood the component system though - check my answer for further details.

avatar image Mike 3 · Feb 01, 2011 at 02:58 PM 0
Share

Nah, the GetComponent is fine. Since it wasn't put in a code block, the generic type went missing

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by · Feb 01, 2011 at 02:14 PM

GetComponent "returns the component of Type type if the game object has one attached, null if it doesn't."

function GetComponent (type : Type) : Component

You need to specify which component you wish to access. If it's one of the standard components, you can access it directly - check the list on the Component script reference page.

For example, rocket.rigidbody directly references the rigidbody component of the rocket.

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

Answer by Mike 3 · Feb 01, 2011 at 02:57 PM

You need to cast the return of the Instantiate.

GameObject instantiatedRocket = (GameObject)Instatiate(rocket, position, rotation);
Component comp = instantiatedRocket.GetComponent<Component>(); //this should work now
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 mat · Feb 01, 2011 at 03:07 PM 0
Share

ah! Thanks $$anonymous$$ike

avatar image mat · Feb 01, 2011 at 03:15 PM 0
Share

I spoke too soon. The cast in the first line to a GameObject throws an exception.

avatar image Mike 3 · Feb 01, 2011 at 04:01 PM 0
Share

Cast it to whatever type rocket is (and make the instantiatedRocket the same type). Probably Transform if it's not GameObject

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

No one has followed this question yet.

Related Questions

Access Child of instantiated UI-Prefab using C# in Unity Beta 4.6 1 Answer

access instantiated object variable 0 Answers

Access a instantiated gameobject from a enemy spawner 4 Answers

Checking if object intersects? 1 Answer

How to access Instantiated gameObjects from a Collection inside for loop? 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