Advertisement
Feynom

Untitled

Apr 13th, 2025
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.95 KB | None | 0 0
  1. using Cysharp.Threading.Tasks;
  2. using UnityEngine;
  3. using UnityEngine.AddressableAssets;
  4.  
  5. public class AddressablesTest : MonoBehaviour
  6. {
  7.     [Header("Preferences")]
  8.     [SerializeField] private AssetReferenceGameObject _assetReferenceGameObject;
  9.  
  10.     private GameObject _instance;
  11.  
  12.     private async void Instantiate()
  13.     {
  14.         if (_instance != null)
  15.             return;
  16.  
  17.         _instance = await Addressables.InstantiateAsync(_assetReferenceGameObject);
  18.     }
  19.  
  20.     private void DestroyInstance()
  21.     {
  22.         if (_instance == null)
  23.             return;
  24.  
  25.         Addressables.ReleaseInstance(_instance);
  26.         _instance = null;
  27.     }
  28.  
  29.     private void OnGUI()
  30.     {
  31.         if (GUILayout.Button("Instantiate"))
  32.             Instantiate();
  33.  
  34.         if (GUILayout.Button("Destroy Instance"))
  35.             DestroyInstance();
  36.  
  37.         if (GUILayout.Button("Unload Unused Assets"))
  38.             Resources.UnloadUnusedAssets();
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement