Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TarasOsiris/unity3d-prefab-pool
Simple Prefab Pool for Unity3D
https://github.com/TarasOsiris/unity3d-prefab-pool
Last synced: about 2 months ago
JSON representation
Simple Prefab Pool for Unity3D
- Host: GitHub
- URL: https://github.com/TarasOsiris/unity3d-prefab-pool
- Owner: TarasOsiris
- Created: 2013-09-08T10:50:30.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-08-14T12:46:54.000Z (almost 10 years ago)
- Last Synced: 2024-01-30T17:22:53.250Z (5 months ago)
- Language: C#
- Size: 874 KB
- Stars: 33
- Watchers: 11
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Lists
- awesome-unity - Unity3D Prefab Pool - Simple Prefab Pool for Unity3D. (:pencil2: Scripting <a name="scripting"></a> / Pooling Systems <a name="pooling"></a>)
- AwesomeUnityCommunity - Unity3D Prefab Pool - Simple Prefab Pool for Unity3D. (:pencil2: Scripting <a name="scripting"></a> / Pooling Systems <a name="pooling"></a>)
README
Description outdated - will be updated soon ! unity3d-prefab-pool
===================Simple Prefab Pool for Unity3D
**Summary**: This project provides a simple implementation for pool of prefabs to avoid performance issues with runtime prefab instantiation.
The project contains an example of usage. You can also read about simple prefab pool from [my blog post on blogger](http://android-by-example.blogspot.com/2013/09/simple-pool-of-prefabs-for-unity3d-game.html).
***
The usage is extremely simple. First you create an instance of PrefabPool (there are overloaded constructors for flexibility). The constructor with all parameters:
### Creating the pool
```csharp
// Create pool of cubes containing instantiated cubePrefabs
PrefabPool cubesPool =
new PrefabPool(cubePrefab, parent, initialPoolSize, growth, maxPoolSize);
```This is the code that creates a pool of `cubePrefab` transform objects, instantiates `initialPoolSize` number of them (items are inactive after instantiation). If there is a need to instantiate more prefabs they will be batch instantiated `growth` number at a time. You can also limit the size of your pool by specifying `maxPoolSize`.
Now the only methods you should care about are `ObtainPrefab` and `RecyclePrefab`. When you obtain prefab from the pool it is set to be active and you specify its new position, rotation and scale.
### Obtaining instantiated prefab from the pool```csharp
Transform retrievedCubeInstance1 = cubesPool.ObtainPrefabInstance(newParent.gameObject);
```
### Recycling active instantiated prefab
```csharp
cubesPool.RecyclePrefab(retrievedCubeInstance1);
```