• 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 xwolfhunter · Aug 07, 2012 at 08:04 PM · guigameobjectinstantiatedestroy

Destroying an Instantiated GameObject

I am creating a lives system that uses GUI as indicators - duh.

When you die, the current GUI is destroyed using the Destroy(GameObject) function. However, since the GUI is in the hierarchy and is only Instantiated in the scene, the Destroy() function tries to destroy the hierarchy object, which leads to a system error. It works fine enough, but I think the constant stream of errors is what causes the game to crash when run as an EXE.

How do I destroy the instance of the object, but not the object itself?

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

4 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by Muuskii · Aug 07, 2012 at 08:12 PM

You could use GameObject.FindGameObjectsWithTag to find them in order to destroy them. But I guess the question is; why are you using separate GameObjects as GUI instead of calling DrawTexture inside of OnGUI

GUIScriptingGuide

Thank you.

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 Mander · Aug 07, 2012 at 08:17 PM

How do I destroy the instance of the object, but not the object itself?

what u have in the hierarchy tab is what u see in our scene/game tab. if u don't want to erase forever ur GUI make it a prefab and instantiate it. then u can always erase it and re instantiate it again.

Comment
Add comment · 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 xwolfhunter · Aug 07, 2012 at 09:55 PM 0
Share

You misunderstand. It's already a prefab.

avatar image
0

Answer by xwolfhunter · Aug 10, 2012 at 11:55 AM

I ended up just using raycasts, for any future viewers who want to know how I fixed the problem.

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 Meltdown · Aug 10, 2012 at 06:05 PM

You need to create a reference to the instance and assign it to a variable.

i.e

 [SerializeField] GameObject _myPrefab;
 
 var myObject = GameObject.Instantiate(_myPrefab, Vector3.zero, Quaternion.Identity);
 
 Destroy(myObject);
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

10 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

Related Questions

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

Button then instanitates gameobject 1 Answer

"Destroy assets is not permitted to avoid data loss" 2 Answers

Accessing children of an instance doesn't work every time 1 Answer

Can't destroy an arrray with GUI Text 1 Answer

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