Unclaimed Package Is this your package? Claim it to unlock full analytics and manage your listing.
Claim This Package

Install via UPM

Add to Unity Package Manager using this URL

https://www.pkglnk.dev/rossoforge-pool.git

README Markdown

Copy this to your project's README.md

Style
Preview
pkglnk installs badge
## Installation

Add **Rossoforge-Pool** to your Unity project via Package Manager:

1. Open **Window > Package Manager**
2. Click **+** > **Add package from git URL**
3. Enter:
```
https://www.pkglnk.dev/rossoforge-pool.git
```

[![pkglnk](https://www.pkglnk.dev/badge/rossoforge-pool.svg?style=pkglnk)](https://www.pkglnk.dev/pkg/rossoforge-pool)

README

Rosso Games

Rossoforge

Rossoforge - Pool

Rossoforge-pool A lightweight object pooling system for Unity, designed for performance-critical applications. Includes support for data-driven configuration via ScriptableObjects, runtime instantiation, and integration with a global service locator. Ideal for reducing GC allocations and improving scene performance in games with frequent object spawning.

Version: Unity 6 or higher

Tutorial: https://www.youtube.com/watch?v=0S3NYG8uiQ0 (Spanish)

Dependencies:

// Initialize Service default
private void Awake()
{
    ServiceLocator.SetLocator(new DefaultServiceLocator());
    
    var poolService = new PoolService();
    ServiceLocator.Register<IPoolService>(poolService);

    ServiceLocator.Initialize();
}

// Initialize Service with addressables
private void Awake()
{
    ServiceLocator.SetLocator(new DefaultServiceLocator());

    var addressableService = new AddressableService();
    var poolService = new PoolService();

    ServiceLocator.Register<IAddressableService>(addressableService);
    ServiceLocator.Register<IPoolService>(poolService);

    ServiceLocator.Initialize();
}

// Get the gameobject from the pool 
_poolService.Get(_missilePoolData, transform.parent, transform.position, Space.World);
_poolService.GetAsync(_missilePoolData, transform.parent, transform.position, Space.World);

// Get the gameobject's component from the pool
_poolService.Get<Missile>(_missilePoolData, transform.parent, transform.position, Space.World);
_poolService.GetAsync<Missile>(_missilePoolData, transform.parent, transform.position, Space.World);

// Preload pool
_poolService.Populate(_missilePoolData);
_poolService.PopulateAsync(_missilePoolData);

This package is part of the Rossoforge suite, designed to streamline and enhance Unity development workflows.

Developed by Agustin Rosso https://www.linkedin.com/in/rossoagustin/

Comments

No comments yet. Be the first!