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
0
Question by Arahan Imon · Mar 28, 2014 at 08:19 AM · gameobjectdestroymobile devicesslowinsantiate

when instantiate object then game stop for some time

Hi Guys! When I am destroying a gameobject then just after destroying it i am instaintiating the same type of gameobject too but the problem is when i get collision check for destroying gameobject then my game stops for some time and then destory it and instaintiate it on mobile devices(Android) but it works smoothly on unity. Here's My Code:-

if(collision.gameObject.name == "Tanks(Clone)"){

         Destroy(collision.gameObject);
         GameController.getInstance().OnTruckNTankDestroy();
     }


if(collision.gameObject.name == "TruckEnemy(Clone)") {

         Destroy(collision.gameObject);
         Destroy(gameObject);
         HelicopterPlayer.missilestopspwan = false;
         GameController.getInstance().OnTruckNTankDestroy();

     }


public void OnTruckNTankDestroy() {

     int random = Random.Range(1,4);
     Debug.Log("Range " + random);
     switch(random) {

     case 1:
         CreateTruck();
         break;

     case 2:
         CreateEnemyTruck();
         break;

     case 3:
         CreateEnemyTruck();
         break;

     case 4:
         CreateEnemyTruck();
         break;

     }

 }
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

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by T27M · Mar 28, 2014 at 08:48 AM

Destroy() and Instantiate() are (or so I'm lead to believe) relatively heavy operations to perform, especially if the object you are creating/destroying is complex. From what I can see here that might be a possible cause of the delay, you might want to do some tests to ensure that is the case. If so one possible solution would be to take a look at something like Object Pooling.

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 Arahan Imon · Mar 28, 2014 at 09:37 AM 0
Share

thanks @T27$$anonymous$$ for Object Pooling but if i follow your suggestion my game coding structure will be change almost totally.

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

21 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 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

Why is Destroy(this.gameObject) not working immediately? 2 Answers

Trying to make a simple inventory: 0 Answers

Destruct gameobject by call from another script 1 Answer

Destroy GameObject won't destroy 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