Learn how to create a simple object pooler in Unity3D in our series about building a 3D shooter on rails.
This is a continuation of Final Parsec's tutorial series on building a space-themed rail shooter with Unity3d.
In this tutorial, I'll be going over how to create a managed object pool.
This will allow you to reduce the number of GameObjects that are instantiated and destroyed, thus improving performance.
In this video tutorial, I'll discuss how I created a simple object pool to manage our projectiles and explosions.
A basic implementation would look like this:
public static List pool = new List();
public static GameObject GetObject(Vector3 worldPosition)
{
GameObject go = null;
if (pool.Count != 0)
{
go = PrefabAccessor.pool[0];
pool.RemoveAt(0);
}
if (go== null)
{
go= (Instantiate(objectPrefab, worldPosition, Quaternion.Euler(Vector3.zero)) as GameObject);
}
else
{
go.transform.position = worldPosition;
}
return go;
}
And the code to return the object to the pool would look like this:
void BackInThePool()
{
transform.position = new Vector3(transform.position.x, -99, transform.position.z);
pool.Add(this.gameObject);
}
You can follow along with the development of the project and find the source code from the tutorial on GitHub.
Recommended posts
We have similar articles. Keep reading!
Creating game sprites used to take hours of painstaking work, drawing frame by frame, tweaking pixels, and hoping the animation felt right. AI-generated art enables you to create a whole sprite sheet in seconds, but it still takes some effort to get it pixel-perfect and ready to use in a game. In this post, we’ll show you how to take AI art and transform it into a polished asset that moves fluidly, letting you focus on building your game instead of wrestling with every frame.
Learn how to run a sandbox TTRPG campaign with zero prep using random tables. This guide shows how to quickly build towns, NPCs, and story hooks on the fly, freeing you to react and improvise with confidence. Includes tips, examples, and a printable Town Starter Kit to get started fast.
You've got a session tomorrow, and you're short on time. Prep can be a daunting part of running a game, but what if you could cut your prep time in half and still deliver compelling sessions? Enter: random tables.