• 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 /
  • Help Room /
avatar image
0
Question by $$anonymous$$ · Jun 07, 2016 at 10:56 PM · javascriptobjectobjectshierarchyparenting

How to add a script to a parent object and not every individual child object.

I am in the process of making a sandbox game in Unity 5.3.5. Every block is inside of a parent directory and to destroy them, each block has a script assigned to it that deletes the block game object. I tried to assign the the script to the parent directory so that any new blocks placed will have the script affect them, however this did not work. Is there a way to have one script in the parent directory affect all the child objects (even any that are added during gameplay)?

Here is my JavaScript script:

function OnMouseDown() { Destroy(gameObject);

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 $$anonymous$$ · Jun 11, 2016 at 07:11 AM 0
Share

Thank you so much! This really helped and I now have my game working smoothly!

avatar image Mmmpies $$anonymous$$ · Jun 11, 2016 at 11:42 AM 0
Share

Careful with the Reply button, you'd posted this as an Answer not a comment!

I've converted it to a comment and put my comment as an answer as it appears to have sorted the issue.

Glad it helped :D

1 Reply

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

Answer by Mmmpies · Jun 08, 2016 at 08:16 AM

So you need the parent script to understand which gameobject you wish to destroy, it's possible but if you click the mouse on any child object do you want ALL children listed in the parent to be destroyed or only certain children?

Well either way fundamentally if you want to record all children in the parent you need to do so as you instantiate. So instantiate like this...

 GameObject go = Instantiate (myPrefab, transform.position, Quaternion.identity) as GameObject;

So you instantiate each child but you also have a reference to it in the temporary go GameObject. Obviously go will change as you instantiate each new child so add each to an array of gameObjects. You also need to have a script on each child to record the mouseDown and pass that information back to the parent.

How you handle which child gets destroyed is up to you, if all just loop through the array, destroy each object and clear out the array at the end.

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.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

Related Questions

NullReferenceException: Object reference not set to an instance of an object 3 Answers

GameObject, Select Parent As Object 0 Answers

bullet holes parenting 1 Answer

How to move whole folder from project view to hierarchy view 1 Answer

How do I reset a static gameObject? 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges