Visual Studio tidak mendukung konten Unity WebGLLogin API yang membuat grafis 2D dan 3D di browser web. Opsi build Unity WebGL memungkinkan Unity untuk mempublikasikan konten sebagai program JavaScript yang menggunakan teknologi HTML5 dan WebGL rendering API untuk menjalankan konten Unity di browser web. More info
Lihat di Glossary debugging. Untuk membantu Anda untuk mengetahui persis apa yang terjadi dengan konten Anda, berikut adalah beberapa tips tentang cara mendapatkan informasi dari membangun Anda.
Unity WebGL tidak memiliki akses ke sistem file Anda, sehingga tidak menulis file log seperti platform lain. Namun, itu menulis semua informasi penebangan (seperti Debug.Log
, penebangan internal Console.WriteLine
atau Unity) ke konsol JavaScript browser.
Untuk membuka konsol JavaScript:
Untuk keperluan debugging, Anda mungkin ingin membuat pembangunan build di Unity (terbuka Membangun jendela Pengaturan dan klik kotak cemen). Membangun pembangunan memungkinkan Anda untuk menghubungkan nama fungsi Development BuildMembangun pengembangan termasuk simbol debug dan memungkinkan Profiler. More info
Lihat di Glossary, dan Unity tidak profilerJendela yang membantu Anda untuk mengoptimalkan permainan Anda. Ini menunjukkan berapa banyak waktu yang dihabiskan di berbagai bidang permainan Anda. Sebagai contoh, dapat melaporkan persentase waktu yang dihabiskan rendering, aimating, atau dalam logika permainan Anda. More info
Lihat di Glossary, sehingga kode JavaScript yang dipancarkan masih mengandung nama fungsi manusia-readable (meskipun minify). Peramban dapat menggunakan ini untuk menampilkan jejak stack ketika Anda berjalan ke kesalahan browser, ketika menggunakan C++-mangled. Tidak seperti jejak stack yang dikelola yang dapat terjadi ketika Anda memiliki dukungan pengecualian penuh (lihat di bawah), jejak stack ini memiliki nama yang mangled, dan tidak hanya berisi kode yang dikelola, tetapi juga kode UnityEngine internal.Debug.LogError, or when you throw an exception and exception support is disabled
. Unlike the managed stack traces that can occur when you have full exception support (see below), these stack traces have mangled names, and contain not only managed code, but also the internal UnityEngine code.
WebGL memiliki tingkat dukungan pengecualian yang berbeda (lihat dokumentasi pada WebGL). Secara default, Unity WebGL hanya mendukung pengecualian dibuang secara eksplisit. Anda dapat mengaktifkan dukungan pengecualian Full, yang memancarkan pemeriksaan tambahan dalam kode IL2CPP-generasi, untuk menangkap akses ke referensi null dan elemen array out-of-bounds dalam kode yang dikelola. Pemeriksaan tambahan ini secara signifikan mempengaruhi kinerja dan meningkatkan ukuran kode dan waktu beban, sehingga Anda hanya harus menggunakannya untuk debugging.
Dukungan pengecualian FullDebug.Log
juga memancarkan nama fungsi untuk menghasilkan jejak stack untuk kode dikelola Anda. Untuk alasan ini, tumpukan jejak muncul di konsol untuk menangguhkan pengecualian dan untuk pernyataan System.Environment.Stacktrace
. Gunakan untuk mendapatkan string jejak stack.
Ini adalah masalah umum, terutama pada browser 32-bit. Untuk informasi lebih lanjut tentang masalah memori WebGL dan cara memperbaikinya, lihat dokumentasi pada WebGL.
Unity WebGL menyimpan semua file yang harus bertahan antara sesi (seperti PlayerPrefs atau file yang disimpan dalam persistentDataPath) ke browser IndexedDB. Ini adalah API asinkron, sehingga Anda tidak tahu ketika itu akan selesai.
Panggilan kode berikut untuk memastikan Unity flushes semua sistem file pending operasi menulis ke sistem file IndexedDB dari memori:
FS.syncfs(false, function (err) {
console.log('Error: syncfs failed!');
});
Konsol browser log biasanya mencetak kesalahan ini sebagai akibat dari konfigurasi server yang salah. Untuk informasi lebih lanjut tentang cara menyebarkan build rilis, lihat dokumentasi pada Menyebarkan build terkompresi.
Konsol browser mencetak kesalahan ini ketika konten mencoba memuat AsetBundle terkompresi menggunakan LZMA, yang Unity WebGL tidak mendukung. Re-kompresi AssetBundle menggunakan LZ4 compressionMetode menyimpan data yang mengurangi jumlah ruang penyimpanan yang dibutuhkan. Kompresi Tekstur, Kompresi Animasi, Kompresi Audio, Membangun Kompresi.
Lihat di Glossary untuk memecahkan masalah ini. Untuk informasi lebih lanjut tentang kompresi untuk WebGL, lihat dokumentasi pada, terutama bagian AssetBundles.
2018–09–03 Login
MonoDevelop diganti dengan Visual Studio dari 2018.1