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
2
Question by Dylan Cristy · Nov 09, 2010 at 11:37 PM · gameobjectarraydestroydelete

If I delete an object stored in an array, will it shorten the array or leave an index position with a null value?

If I have an array of gameobjects (used to quickly iterate through those specific objects to enable/disable them, index positions don't matter), and I destroy one of the gameobjects through some means other than Array.RemoveAt, will the array automatically shorten itself, or will it leave a hole in the array by having the array index where that gameobject was refer to null?

As a side question, would Array.RemoveAt actually destroy the gameobject referred to at that index, or would it just remove the reference to it from the array?

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
4
Best Answer

Answer by Adam Rademacher · Nov 09, 2010 at 11:39 PM

The array and the object are completely separate. Destroying the gameobject will leave a null value in the array. RemoveAt will remove it from the array, but not from the game. You'll have to do both manually.

Comment
Add comment · Show 5 · 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 Dylan Cristy · Nov 09, 2010 at 11:55 PM 0
Share

That's kind of what I expected, but wanted to verify. Thanks!

avatar image schwertfisch · Jan 19, 2011 at 03:13 PM 0
Share

Found that question& answer useful too. Just to be sure Adam: "RemoveAt will remove it from the array" means it will leave a null value at its index or it will shorten the array's lenght?

avatar image Dylan Cristy · Jan 25, 2011 at 03:29 AM 0
Share

Based on the example they give for RemoveAt in the scripting reference, I'm pretty sure it will shorten the array's length. http://unity3d.com/support/documentation/ScriptReference/Array.RemoveAt.html

avatar image L0932 · Aug 08, 2013 at 01:15 AM 0
Share

since RemoveAt will shorten the array's length, will values in the array be repositioned?

avatar image Lovrenc · Aug 08, 2013 at 08:55 AM 0
Share

Idexes will be refreshed, yes.

avatar image
0

Answer by fardinnn · Aug 08, 2013 at 12:43 PM

I test it ' game object has removed but array length and its content has no change . that means object in hierarchy and scene removed but in array has it. bellow the test script :

pragma strict

ar arr : Array ; var box : GameObject ; function Start () { arr = new Array(); for(var ii=0 ; ii<10 ; ii++){ arr.Add(GameObject.Find(("box"+ii))); } Debug.Log("0 : "+arr.length); for(ii=0 ; ii

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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

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

Remove an object from an array and destroy it (C#) 2 Answers

How can I destroy objects and instantiates new in Array? 2 Answers

deleting self-gameobject,deleting self-gameobject 0 Answers

how do i create a game object array with gameobjects of multiple tags 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