UniPool - Advanced Universal Prefab Pooling View on Asset Store (opens in new tab)

Package details

Latest version
1.0
Last updated
First released
Unity version
2021.3.25 or later
Package size
81 KB
Files
11
Favorites
38
Views in the past week
5

Price tracking

Last checked
Tracked since
Lowest recorded
Free on

Keywords

UniPool - Advanced Universal Prefab Pooling

by DBCreative (opens in new tab)

1 rating, too few to average

Blazingly fast, and simple to use, advanced prefab pooling solution.

Price Free

Get it free on Asset Store (opens in new tab)

Affiliate link · Purchases support this site

Price history

Last 6 months

USD
Price history for UniPool - Advanced Universal Prefab Pooling, 6 months Current Free; lowest Free; highest Free in this period. $0 Jun Jul Aug Sep Oct Nov

Asset preview

1 / 2

UniPool - Advanced Universal Prefab Pooling screenshot 1

UniPool - Advanced Universal Prefab Pooling screenshot 1

About this asset

UniPool - Advanced Universal Prefab Pooling

provides a way to pool all kinds of prefabs into a single universal pool.

This allows to pool prefabs without dependencies, with a natural workflow, similar to Instantiate and Destroy.

Optimizations:

UniPool uses PoolCell object to cache GameObject, Transform

In addition, you may specify one Component type, located on prefab or in children, to be cached as well (including interface type).

This is so you can avoid unnecessary (costly at scale) calls to .GetComponent; .gameObject; transform;

Use features:

Get - get object from pool,

with or without prior registration (can be fully dynamic)

Registration - may choose to register a prefab before use (by prefab or string name)

Fill - can instantiate an amount of prefabs to pool

Release - releases object back to pool. Release can be done by passing a reference, any of: PoolCell, GameObject, Transform, Component.

UGUI object pooling - Pooling works for regular 3D objects and UI objects alike.

Custom container - can specify what object to use as a pool container for each particular prefab

Example code:

PoolCell cell = UniPool.Get(prefab);

PoolCell cell = UniPool.Get("registeredName");

PoolCell cell = UniPool.Get<T>(prefab);

cell.gameObject; // cached gameObject

cell.transform; // cached transform

cell.GetComponent<T>(); // retrieves cached component reference

// Plain prefab.

UniPool.Register(prefab);

// Prefab with component caching of specified type T

// attach string name, that can be used to Get("prefab") via string name

UniPool.Register<T>(prefab, "prefab");

// Release by passing any of: PoolCell, Transform, GameObject, Component

UniPool.Release(transform);

From the publisher's Asset Store listing.

Technical details

UniPool - Advanced Universal Prefab Pooling

provides a way to pool all kinds of prefabs into a single universal pool.

This allows to pool prefabs without dependancies, with a natural workflow, similar to Instantiate and Destroy.

Optimizations:

UniPool uses PoolCell object to cache GameObject, Transform

In addition, you may specify one Component type, located on prefab or in children, to be cached as well (including interface type).

This is so you can avoid unnecessary (costly at scale) calls to .GetComponent; .gameObject; transform;

Use features:

Get - get object from pool

with or without prior registration (can be fully dynamic).

Registration - may choose to register a prefab before use (by prefab or string name).

Fill - can instantiate an amount of prefabs to pool.

Release - releases object back to pool. Release can be done by passing a reference of: PoolCell, GameObject, Transform, Component.

Compatibility

Render pipelines supported in each Unity version
Unity version Built-in URP HDRP Custom
2021.3.25f1 Compatible Compatible Compatible Compatible

As listed on the Asset Store.