• 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
Question by G_Sacristan · Aug 18, 2011 at 09:14 PM · gameobjectinstantiatedestroyactivecopy

Instantiate problem

Hi!

Ive got a problem...

I needed to instantiate a copy of gameObjects and after that in copy Destroy all inactive gameObject children, BUT as Instantiating makes all children active i cant do it...

Yes.. I could Destroy original gameObjects inactive children, but i cant do it, because they are needed...

Can someone help me out - how to make sure, that children which are inactive in original gameObject will be Destroyed in copy of original gameObject keeping original gameObjects inactive children?

Function where part of it i have tried to do it until i realized that after Instantiating all children gameObject become active.

 function SaveAvatar(p: GameObject)
 {
     var copy: GameObject;
     copy=Instantiate(p);
     copy.name="SavedAvatar";
     copy.transform.parent=player.transform;
     copy.transform.position=Vector3.zero;
 
     for(var child2: Component in copy.GetComponentsInChildren(Component))
     {    
         if(!child2.gameObject.active) Destroy(child2.gameObject);
     }
 }
Comment

People who like this

0 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 G_Sacristan · Aug 18, 2011 at 10:21 PM 0
Share

have tried many ways, but it didnt work out

avatar image DaveA · Aug 18, 2011 at 11:30 PM 0
Share

Can the original object be a Prefab?

1 Reply

  • Sort: 
avatar image
Best Answer

Answer by Joshua · Aug 18, 2011 at 11:45 PM

It seems that all prefabs are stores as inactive and upon instantiation their instances are set to active recursively, so you have to do this before/when making the prefab, it can't be done at run-time. You could use tags or components to identify the children you want removed though.

Comment
G_Sacristan

People who like this

1 Show 1 · 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 G_Sacristan · Aug 19, 2011 at 10:56 AM 0
Share

ok... ill try to do this by adding components (tagging didnt work as i expected)...

Thx!

Unity Answers is in Read-Only mode

Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta on June 13. Please note, Unity Answers is now in read-only so we can prepare for the final data migration.

For more information and updates, please read our full announcement thread in the Unity Forum.

Follow this Question

Answers Answers and Comments

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

using Contains(gameObject) to find and destroy a gameObject from a list 2 Answers

Destroy Instantiated GameObject Problem 1 Answer

How to duplicate a GameObject? 2 Answers

Could someone show me examples of how to use void OnDestroy() to instantiate an object? 2 Answers

Destroy and instantiate far objects 2 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