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 /
This question was closed May 23, 2013 at 09:46 AM by KiraSensei for the following reason:

The question is answered, right answer was accepted

avatar image
1
Question by KiraSensei · May 23, 2013 at 08:03 AM · getcomponentsinchildrengetcomponents

GetComponents vs GetComponentsInChildren

Hello guys !

I just encountered a little problem with these two functions, so I went to the online doc and I saw a really important difference : GetComponents seems to work on inactive game objects, contrary to GetComponentsInChildren ...

Is there an easy way to get the components in children of an inactive game object ?

Comment
Add comment · Show 5
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 Tomer-Barkan · May 23, 2013 at 08:24 AM 0
Share

Simply traverse the children and use GetComponents() on each one.

If you want to get all the rigid bodies for example:

     ArrayList components = new ArrayList();
     foreach (Transform child in transform) {
         components.AddRange(child.gameObject.GetComponents<Rigidbody>());
     }
avatar image KiraSensei Tomer-Barkan · May 23, 2013 at 08:38 AM 0
Share

How do you traverse the children in an inactive gameobject ?

An easy way could be to activate it, find my components, and deactivate it, but I think it is very ugly ...

avatar image Tomer-Barkan Tomer-Barkan · May 23, 2013 at 08:45 AM 0
Share

Did you test my code? I think it traverses all active or inactive gameobjects. Otherwise how would you find the inactive children in order to activate them?

avatar image KiraSensei Tomer-Barkan · May 23, 2013 at 08:51 AM 0
Share

Actually I'm looking for audiosources in a gameobject children to impact their volume. But I don't want to activate anything.

The code I will make can be called a lot in a really short time (it will be plugged to a slider), so I need it to be as quick as possible.

I'll try your code to test if this works.

Show more comments

1 Reply

  • Sort: 
avatar image
2
Best Answer

Answer by Bunny83 · May 23, 2013 at 09:38 AM

Depending on the Unity version you're using you can simply pass an additional parameter which will include inactive objects as well:

 GetComponentsInChildren<Renderer>(true)

the docs

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 Tomer-Barkan · May 23, 2013 at 09:41 AM 0
Share

lol so much easier :)

avatar image KiraSensei · May 23, 2013 at 09:45 AM 0
Share

Oh my... I didn't even see the optional parameter ... thanks

Follow this Question

Answers Answers and Comments

15 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

Related Questions

C# Specifying which Children to add to the Array 1 Answer

foreach script check if boolean is true 3 Answers

An array for Particle Emitters? 2 Answers

Gameobject with many child objects disable mesh not working. 0 Answers

GetComponents array in C# error ? 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