Managing Performance and Memory with Object Pooling
In the last chapter, we created a pipeline for assembling tanks and drones using the Builder pattern and Unity’s ScriptableObjects
. In this chapter, we’ll switch gears and focus on increasing performance and managing memory allocation when creating new objects with the Object Pool pattern. This approach is twofold; first, you get to control when batches of objects are instantiated, and second, you control how they are stored in a reusable pool that you can grab from whenever you want (without any additional CPU overhead).
By default, Unity already does a great job of allocating, managing, and cleaning up memory usage during object instantiation. So, why would we spend our time reinventing the wheel here? Well, even though Unity has our backs on this topic, you’ll find that pooling and reusing objects instead of creating and destroying them over and over has a marked performance impact. So, just because object...