Unity upgrade
Peningkatan ke Unity 2021.2

API Updater

Untuk meningkatkan kegunaan dan kinerja, Unity mungkin mengubah kelas cara, fungsi dan sifat (API) bekerja. Kadang-kadang, perbaikan ini mungkin memperkenalkan perubahan putus ketika bergerak dari satu versi Unity utama ke yang lain.

Untuk meminimalkan dampak melanggar perubahan, pembaruan API mengidentifikasi dan memperbarui kode usang dalam 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
dan rakitan.

Perbarui API terdiri dari ScriptUpdater dan AssemblyUpdater, yang bertanggung jawab untuk memperbarui kode sumber (script) dan perakitan (file data) masing-masing.

Note: API Updater hanya dapat memperbaiki kesalahan dan peringatan tertentu di API. Ini diindikasikan sebagai UnityUpgradable dalam pesan konsol. Anda harus secara manual menyelesaikan kesalahan atau peringatan lain yang API Updater tidak dapat ditangani.

Menggunakan pembaruan API

Ketika kompilasi skrip dipicu, pembaruan API berjalan secara otomatis. Misalnya, ini terjadi ketika Anda:

  • Buka proyek.
  • Mengimpor paket.
  • Simpan perubahan ke script.

Pembaruan API menawarkan untuk memperbarui kode usang yang mendeteksinya. Jika Anda menerima, itu menulis ulang kode usang dengan versi terbaru yang disarankan dari API.

Misalnya, pembaruan API akan mengubah pernyataan usulan berikut dari:

light.color = Color.red;

to:

GetComponent<Light>().color = Color.red;

Langkah-langkah di bawah ini menggambarkan alur kerja pembaruan API ketika Unity memicu kompilasi skrip:

  1. Unity memicu kompilasi skrip.
  2. API updater memeriksa untuk kesalahan kompiler updatable atau peringatan yang dapat ditangani.
    • Jika tidak menemukan kesalahan atau peringatan, proses berakhir.
    • Jika menemukan kesalahan atau peringatan, itu menampilkan dialog menawarkan pembaruan otomatis. Login Tutup Editor dan kembali proyek Anda sebelum Anda membiarkan pembaruan API memperbarui skrip atau perakitan Anda. Ketika Anda membuka kembali proyek Anda, Unity menyusun skrip Anda dan memicu pembaruan API.
      Close the Editor and back up your project before you let the API updater update your scripts or assemblies. When you reopen your project, Unity compiles your scripts and triggers the API updater.
  3. Jika Anda menerima pembaruan, pembaruan API semua skrip di unit kompilasi yang sama.
  4. API Updater mengulangi proses ini sampai mendeteksi tidak lebih banyak kesalahan atau peringatan yang dapat ditangani.

Updater dapat menjalankan beberapa kali jika skrip dengan kode usang jatuh ke dalam melewati kompilasi yang berbeda, misalnya, skrip editor.

Jika Anda tidak mengizinkan pembaruan API untuk memperbarui skrip Anda, konsol menampilkan kesalahan skrip atau peringatan. Kesalahan atau peringatan yang pembaruan API dapat menyelesaikan tampilan (UnityUpgradable) dalam pesan.

Jika skrip Anda memiliki kesalahan lain yang mencegah pembaruan API dari berjalan berhasil, Konsol menampilkan pesan untuk memberi tahu Anda tentang ini. Anda harus menyelesaikan kesalahan tersebut sebelum API Updater dapat menyelesaikan pembaruan.

argumen baris perintah terkait API Updater

Ketika menjalankan Unity dalam mode batch dari baris perintah, gunakan opsi -accept-apiupdate untuk menjalankan pembaruan API. Untuk informasi lebih lanjut, lihat WordPress.org.

Logging

Perbarui API mengubahnya membuat perakitan ke Editor log. Untuk mengontrol berapa banyak informasi yang dicatat, atur variabel lingkungan UNITY_APIUPDATER_LOG_THRESHOLD ke ambang log yang diinginkan dan mulai Unity. Contoh:

Di Windows:

c:> set UNITY_APIUPDATER_LOG_THRESHOLD=Debug
c:> \path\to\unity\Unity.exe

Di Linux:

$ export UNITY_APIUPDATER_LOG_THRESHOLD=Debug
$ /path/to/unity/Unity

Di Mac:

$ export UNITY_APIUPDATER_LOG_THRESHOLD=Debug
$ /path/to/unity/Unity

Note: Anda juga dapat menggunakan kontrol versiSistem untuk mengelola perubahan file. Anda dapat menggunakan Unity bersama dengan alat kontrol versi yang paling umum, termasuk Perforce, Git, Mercurial dan PlasticSCM. More info
Lihat di Glossary
untuk melihat perubahan pembaruan API membuat skrip proyek.

Ketika AssemblyUpdater telah selesai, Editor.log menampilkan perubahan. Contoh:

[AssemblyUpdater] Property access to 'UnityEngine.Rigidbody
UnityEngine.GameObject::get_rigidbody()' in 'System.Void
Test.ClassReferencingObsoleteUnityAPIThroughEditorAssembly::Run()' replaced with 'T
UnityEngine.GameObject::GetComponent<UnityEngine.Rigidbody>()'.

Tabel di bawah ini menjelaskan nilai-nilai untuk variabel lingkungan UNITY_APIUPDATER_LOG_THRESHOLD:

Log threshold Description
Error (nilai default) Pembaruan API hanya mencatat pesan Error. Pesan kesalahan dicatat ketika pembaruan API gagal menerapkan pembaruan tertentu, yang mengharuskan Anda untuk mengambil tindakan korektif (biasanya meminta penulis perakitan asli untuk memberikan versi terbaru dari perakitan).
Warning Perbarui API mencatat pesan Warning dan Error. Pesan peringatan dicatat ketika pembaruan API menerapkan perubahan bahwa pengguna mungkin perlu meninjau.
Info API updater log Informational, Warning dan Error pesan. Info pesan termasuk pembaruan yang diterapkan oleh AssemblyUpdater.
Debug Pembaruan API mencatat semua pesan. Ini berguna untuk memecahkan masalah, misalnya jika Anda memiliki masalah dengan pembaruan API yang ingin Anda laporkan ke Unity.

Troubleshooting

Login Memperbarui gagal. Cek pesan konsol sebelumnya.

Pembaruan API tidak dapat memperbarui semua kode usang. Hal ini dapat terjadi jika updater tidak dapat menyimpan perubahannya, misalnya jika pengguna telah membaca izin pada skrip.

Periksa garis sebelumnya di konsol untuk melihat masalah yang terjadi selama proses pembaruan.

  • 2018–07–31 Login

  • Opsi baris perintah “accept-apiupdate” ditambahkan pada Unity 2017. 1 Artikel

  • Login Updater logging ditingkatkan dalam Unity NewIn20183

Unity upgrade
Peningkatan ke Unity 2021.2