Dalam beberapa situasi, berguna untuk membuat aset yang tersedia untuk sebuah proyek tanpa memuatnya sebagai bagian dari sceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary. Misalnya, mungkin ada karakter atau objek lain yang dapat muncul di setiap adegan permainan tetapi yang hanya akan digunakan secara tidak sering (ini mungkin fitur "secret", pesan kesalahan atau peringatan tinggi, katakan). Selanjutnya, Anda bahkan mungkin ingin memuat aset dari file atau URL yang terpisah untuk mengurangi waktu unduhan awal atau memungkinkan untuk konten permainan yang dapat dipertukarkan.
Unity mendukung Resource Folders dalam proyek untuk memungkinkan konten yang disediakan dalam file game utama namun tidak dimuat sampai diminta. Anda juga dapat membuat Asset Bundles. File ini benar-benar terpisah dari file game utama yang berisi aset untuk diakses oleh permainan berdasarkan permintaan dari file atau URL.
Aset Bundle adalah koleksi aset eksternal. Anda dapat memiliki banyak Bundel Aset dan karena itu banyak koleksi aset eksternal yang berbeda. File ini ada di luar pemain Unity yang dibangun, biasanya duduk di server web untuk pengguna akhir untuk mengakses secara dinamis.
Untuk membangun Bundel Aset, Anda memanggil WordPress.org dari dalam script Editor. Dalam argumen, Anda menentukan array ObjectsObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
Lihat di Glossary yang akan dimasukkan dalam file yang dibangun, bersama dengan beberapa pilihan lain. Ini akan membuat file yang kemudian dapat memuat secara dinamis dalam runtime dengan menggunakan AssetBundle.LoadAsset().
Folder sumber daya adalah koleksi aset yang disertakan dalam pemain Unity yang dibangun, tetapi tidak selalu terhubung ke GameObject di InspectorJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary.
Untuk menempatkan apa pun ke dalam Folder Sumber Daya, Anda hanya membuat folder baru di dalam Project View, dan nama folder "Resources". Anda dapat memiliki beberapa Folder Sumber Daya yang diatur secara berbeda dalam Proyek Anda. Kapan pun Anda ingin memuat aset dari salah satu folder ini, Anda memanggil Sumber Daya.Load().
Semua aset yang ditemukan di folder Sumber Daya dan ketergantungan mereka disimpan dalam file yang disebut sumber daya.assets. Jika aset sudah digunakan oleh tingkat lain yang disimpan dalam file .sharedAssets untuk tingkat itu.
Hanya aset yang berada di Folder dapat diakses melalui Sumber Daya.Load(). Namun banyak aset yang mungkin berakhir dalam file “resources.assets” karena mereka tergantung. (misalnya Bahan di folder Sumber Daya mungkin merujuk Tekstur di luar folder Sumber Daya)
Anda dapat membongkar sumber daya dari AssetBundle dengan memanggil AssetBundle.Unload() atau AssetBundle.UnloadAsync(bool). Jika Anda lulus true untuk parameter unloadAllLoadedObjects, kedua objek yang diadakan secara internal oleh AssetBundle dan yang dimuat dari AssetBundle menggunakan AssetBundle.LoadAsset() akan hancur dan memori yang digunakan oleh bundel akan dirilis.
Kadang-kadang Anda mungkin lebih suka memuat AsetBundle, sesaat objek yang diinginkan dan melepaskan memori yang digunakan oleh bundel sambil menjaga objek di sekitar. Manfaatnya adalah Anda membebaskan memori untuk tugas lain, misalnya memuat AssetBundle lain. Dalam skenario ini Anda akan melewati false sebagai parameter. Setelah bundel hancur Anda tidak akan dapat memuat benda dari itu lagi.
Jika Anda ingin menghancurkan objek adegan yang dimuat menggunakan Sumber Daya.Load() sebelum memuat level lain, hubungi Object.Destroy() di dalamnya. Untuk melepaskan aset, gunakan Sumber Daya.UnloadUnusedAssets().