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 souledgar · Mar 26, 2014 at 09:50 AM · prefabsmemory managementpooling

How do I optimize memory footprint of multiple pools of similar GameObjects?

Hi guys!

I've been working on a Unity game on the iOS that I need to introduce some new elements to. We use the pooling technique to improve the speed at which objects are created and destroyed by not having to call instantiate, but instead simply pulling from and pushing the GameObjects back into a pool. However, this has memory ramifications that mobile games must watch, though we've managed to toe the line so far.

However, new design requirements have come up that threaten to overtop our memory limits. The game's GameObjects are managed via prefabs, as you may expect, and the pool manager instantiates a certain number of the prefab on load. Say...

  • 20 of Enemy A prefab

  • 20 of Enemy B prefab

  • 20 of Enemy C prefab

  • 100 of Projectile prefab

However, the new design wants to introduce the concept of different kinds of projectiles and enemies, which, if we stick to the current method, doubles or triples the pool's memory footprint, which is unacceptable.

The regular way to tackle this issue in a from-scratch game is simply to have a base Projectile class that gets customised to different kinds when created from the pool. One simple saves the customised behaviour and variables either in crude spaghetti switch codes or scripts or xml or what-have-you, and it switches on runtime based on, say, a single "ProjectileType" variable, so the pool memory footprint remains the same even if there are 200 different kinds of projectiles.

My question is how do you replicate this technique in Unity with prefabs while still maintaining the ease for the designer tweaking the prefabs within the inspector? I could have a Projectile prefab that I change values and textures on object "creation", but that seems to defeat the purpose of prefabs in the first place.

Thank you!

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

0 Replies

· Add your reply
  • Sort: 

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

20 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

Related Questions

How can I Pool array of objects? 3 Answers

Instantiate prefabs to save memory 2 Answers

Instantiating Prefabs Lags in Android 0 Answers

Need to fix a small gap between two objects, which created by code 1 Answer

Object's Rotation Acting Weird After Being Re-used From Object Pool 0 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