Reloading Domain
Rincian menonaktifkan Domain dan Adegan Reload

Adegan Reloading

Secara default, 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
Reloading diaktifkan. Ini berarti bahwa ketika Anda memasukkan Play Mode, Unity menghancurkan semua Adegan yang ada GameObjectsObjek 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
dan memuat ulang Adegan dari disk. Waktu itu diperlukan untuk Unity untuk melakukan ini meningkat dengan kompleksitas Adegan, yang berarti bahwa proyek Anda semakin kompleks, Anda harus menunggu lebih lama antara saat Anda menekan tombol Play dan saat Adegan dimuat penuh di Editor.

Ketika Anda menonaktifkan Adegan Reloading, proses membutuhkan waktu kurang. Hal ini memungkinkan Anda untuk lebih cepat bergetar pada pengembangan proyek Anda. Alih-alih reloading adegan dari disk, Unity hanya mengatur ulang konten yang dimodifikasi adegan. Ini menghindari dampak waktu dan kinerja pembongkaran dan reloading adegan. Unity masih memanggil fungsi awalisasi yang sama (seperti OnEnable, OnDisable dan OnDestroy) seolah-olah itu baru dimuat.

Efek dari melewatkan Adegan Reload

Untuk menonaktifkan Adegan Reloading:

  1. Login Pengaturan Proyek > Editor
  2. Pastikan Masukkan Mode Bermain Pilihan diaktifkan.
  3. Disable Reload Adegan

Untuk informasi lebih lanjut, lihat Cara mengkonfigurasi Mode Bermain

Ketika Anda menonaktifkan Adegan Reloading, waktu yang diperlukan untuk memulai aplikasi Anda di Editor tidak lagi perwakilan dari waktu startup dalam versi yang dibangun. Oleh karena itu, jika Anda ingin debug atau profil persis apa yang terjadi selama startup proyek Anda, Anda harus mengaktifkan Adegan Reloading ke lebih akurat mewakili waktu pemuatan dan proses yang terjadi dalam versi aplikasi Anda yang dibangun.

Mengaktifkan Adegan Reload harus memiliki efek samping minimal pada proyek Anda. Namun, karena Reloading Adegan terhubung erat ke Reload Domain, ada beberapa perbedaan penting:

  1. Login Tujuan dan MonoBehaviour bidang yang tidak serialisasi ke dalam membangun ([NonSerialized], swasta, atau internal) menjaga nilai-nilai mereka. Ini karena Unity tidak menciptakan kembali benda yang ada dan tidak memanggil konstruktor. Selain itu, Unity mengubah bidang pribadi dan internal array/List ke objek array/List kosong selama Reload Domain dan tetap non-null untuk runtime (non-Editor) scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
    Lihat di Glossary
    .

  2. Script yang menggunakan skrip ExecuteInEditMode, atau ExecuteAlways tidak menerima panggilan OnDestroy atau Awake. Unity tidak memanggil Awake, dan hanya panggilan OnEnable ketika EditorApplication.isPlaying sudah benar pada perubahan Mode Play dengan metode Awake/OnEnable yang memeriksa properti EditorApplication.isPlaying. Bidang nonserialized untuk runtime (non-Editor) skrip tidak boleh menjadi masalah karena ini tidak aktif dalam Edit Mode, namun skrip ditandai dengan ExecuteInEditMode atau ExecuteAlways dapat mengubah diri atau menyentuh bidang skrip runtime lainnya. Untuk bekerja di sekitar ini, menginisialisasi bidang yang terpengaruh di callback OnEnable sendiri.

Reloading Domain
Rincian menonaktifkan Domain dan Adegan Reload