- Home /
Instantiate at run time or previously then make active?
I presume there is some kind of overhead related to Instantiating things while a game is running. For example projectiles.
The examples suggest creating a GameObject and Instantiating a prefab into it during run time but won't this take up unnecessary cycles? I would have though it's better to create the Objects and prefabs instances before hand and making them active when necessary.
Is this incorrect?
Answer by GuyTidhar · Jun 25, 2011 at 07:27 AM
Any object in your hierarchy is still instantiated as the Scene is loaded. This means that dragging the projectiles before running the game into the hierarchy enables you to link them or "Find()" instead of creating them on the spot (even if on the spot means doing it during run time yet before the beginning of the game cycle).
The thing is, when you are handling many such projectiles or objects that are simply duplicated, dragging them all to your hierarchy will make it a bit harder for you to make changes to your scenes (as the hierarchy view gets more and more complex with more objects).
Also, in regards of good coding, programmers try to take in account the fact that the software is constantly evolving, and when you can take a route with less assumptions that gives you the same result, it means you don't need to change code you'd have to change if some of those assumptions became wrong due to the evolution of the game.
All and all: Preparing the objects during editing does not save cycles. You will not be able to save cycles of objects you need in them game, as all of them need to be created in memory (unless you'd download them in the background from a remote computer or something).
Your answer
Follow this Question
Related Questions
Instantiate a prefab at runtime 2 Answers
Put a prefab in Hierarchy without using Instantiate ? (from code) 2 Answers
Runtime bridge creator 0 Answers
Instantiating Custom Prefabs 2 Answers
How to dynamically instantiate using a design pattern? 0 Answers