AssetsPlugin — удобная и простая система управления статическим контентом для проектов на Unity.
🟢 Read in English / Читать на английском
AssetsPlugin позволяет гибко и централизованно управлять всеми статическими данными игрового объекта:
префабами, UI-иконками, параметрами (например, максимальным здоровьем), аудиофайлами и т.д.
Всё, что требуется для объекта — всегда находится под одним ключом.
🎯 Основная идея:
По уникальному ключу получить доступ ко всем связанным с объектом данным.
⚠️ Плагин работает только со статическими данными — это исключительно конфиги объекта, не runtime-состояние!
- Скопируйте содержимое в директорию
Plugins/AssetsPluginвашего Unity-проекта.
(В будущем появятся дополнительные способы установки)
[DefaultExecutionOrder(-1000)]
public class Bootstrap : MonoBehaviour
{
[SerializeField] AssetsService assetsService;
void Awake()
{
// Resources
var pathPrefab = "Prefabs/";
var assetsBuilder = new BuilderAssets();
assetsBuilder.AddAsset(GameAsset.Hero)
.Join(new AssetPrefab(pathPrefab + "Hero", pooled: false));
assetsService.RegisterAssets(assetsBuilder);
}
void Start()
{
// Spawn Hero
var prefab = assetsService.Get(GameAsset.Hero).As<AssetPrefab>().prefab;
Instantiate(prefab, Vector3.zero, Quaternion.identity);
}
}
public enum GameAsset
{
Hero
}AssetPrefabAssetPrefabs
Добавить новый тип ассета очень просто:
public class AssetStartStats : AssetAbstract
{
public float speed;
public float health;
}Если у вас есть вопросы, предложения или вы хотите присоединиться к обсуждению, заходите в наш Discord 👈
Улучшайте проект, используйте комфортно и оставляйте звездочку! ⭐