Jawaban singkatnya adalah tidak , Anda tidak dapat melakukannya.
Kedua jawaban di atas benar dalam hal manajemen adegan. Anda dapat menggunakan Scene Manager untuk memuat adegan dan karena async Anda dapat menjalankan kode lain secara paralel.
Lihatlah dokumentasi SceneManager.LoadScene untuk lebih jelasnya.
Yang paling dekat Anda bisa menjalankan kode Anda secepat mungkin setelah permainan dimulai menjalankannya dari adegan pertama dengan jejak kecil. Sebut saja Splash Scene . Satu-satunya hal yang akan dikandungnya adalah gambar splash dan pengontrol Anda menjalankan kode yang diperlukan dan memuat adegan lain.
Karena memiliki footprint kecil, ini akan memuat sangat cepat dan dengan demikian membuat kode Anda berjalan hampir seketika. Anda kemudian dapat melakukan apa yang harus Anda lakukan, dan memuat Pemandangan Lain sesudahnya.
Hal lain yang dapat Anda coba adalah menghapus "splash screen" menghapus gambar yang ingin Anda tampilkan di sana. Ini akan menjadi sedikit lebih cepat karena tidak akan dimuat pada awalnya.
Jadi alirannya akan seperti ini:
- Layar splash (tidak ada gambar di sini, cukup hitam)
- Adegan splash (tapak kecil dengan kode awal dan pemuat adegan berikutnya)
- Intro scene (adegan intro biasa)
- .... (adegan lain seperti biasa)
Adegan yang lebih kecil lebih cepat akan dimuat. Anda dapat menggunakan sesuatu seperti pengontrol splash yang terpasang ke objek apa pun di layar Splash yang dimuat .
using UnityEngine;
using UnityEngine.SceneManagement;
public class SplashController: MonoBehaviour
{
void Start()
{
// RunSomeSyncMethod();
SceneManager.LoadScene("OtherSceneName", LoadSceneMode.Additive);
}
}