IronPool is a high performance pooling library for Unity. The core idea behind pooling is to keep several initialized objects in a pool, rather than allocating and destroying them on demand.
With this library you can pool any object as well as any GameObject. Unlike other pooling systems, this library won't punish you if you accidentally destroy a pooled GameObject. Instead it will handle such situations gracefully.
Easy to use
Pooling any C# object is as simple as:
var obj = Pools.Obtain();
This object can be released by calling:
Pools.Release(obj);
If you want to pool GameObjects, you just drag and drop a PoolComponent into your scene, set the prefab to use and you're done!
You can then just obtain an instance by calling:
var obj = GameObjectPools.Obtain("Bullet");
Main Features
+ High performance
+ Pool any object
+ Limit amount of free/used objects
+ Automatically fill pool on scene start
+ Keep inactive objects hidden
+ Automatically reset objects to a reusable state
+ Fully documented
+ Additional CheatSheet which contains the most important commands
+ Fully documented source code