Trik Pemrograman Unity
Ketika berbicara tentang pemrograman dalam Unity, ada banyak sekali kata kunci dan perintah pemrograman yang berguna untuk meningkatkan alur kerja dalam editor dan mempercepat proses pengembangan.
Beberapa kata kunci dikhususkan untuk debugging, sementara yang lain dirancang untuk memisahkan logika editor dari logika skrip.
1. '[SerializeField]' Atribut
Secara default, Unity menyembunyikan variabel pribadi dari inspektur, tetapi dengan menambahkan atribut '[SerializeField]' sebelum variabel tersebut, variabel tersebut akan dapat dikonfigurasi di inspektur sekaligus menjaga agar variabel tersebut tidak dapat diakses dari dalam skrip lain.
[SerializeField]
private int myPrivateVariable;
2. '[HideInInspector]' dan '[System.NonSerialized]' Atribut
Atribut '[HideInInspector]' dan '[System.NonSerialized]' keduanya memiliki fungsi serupa, untuk menyembunyikan variabel publik dari inspektur, namun sedikit berbeda dalam hal serialisasi.
Perbedaan antara '[HideInInspector]' dan '[System.NonSerialized]' adalah '[HideInInspector]' hanya akan menyembunyikan variabel dari inspektur, namun Unity akan terus membuat serialisasinya (artinya nilai default bisa berbeda dari yang disediakan dalam kode), '[System.NonSerialized]' di sisi lain, tidak hanya akan menyembunyikan variabel dari inspektur tetapi juga akan memberi sinyal Unity untuk tidak membuat serialisasinya (artinya nilai default akan diatur ulang antar sesi ke nilai yang disediakan dalam kode).
[HideInInspector]
public int myInternalVariable = 0; //Will always be 0 after the first initialization, so if you decide to change the value in the script, it may not always reflect in the Editor. Often used to remove clutter from the inspector.
[System.NonSerialized]
public int myNonSerializedVariable = 1; //The initial value will always be 1, or whatever value is set. Often used to mimic a private variable, while keeping it accessible from within other scripts.
3. '[ExecuteAlways]' Atribut
'[ExecuteAlways]' memaksa skrip untuk dieksekusi dalam mode edit dan mode pengeditan Prefab, bahkan saat game tidak dimainkan. Ini dapat berguna untuk tujuan pengujian dan debugging.
Atribut ditambahkan sebelum deklarasi kelas:
[ExecuteAlways]
public class MyScript : MonoBehaviour {
// ...
}
4. 'Debug.Break()'
'Debug.Break()' menjeda editor.
Fungsi ini berguna ketika Anda ingin memeriksa nilai tertentu di inspektur dan Anda tidak dapat menjedanya secara manual.
void Update() {
if (someCondition) {
Debug.Break();
}
}
5. '[Range]' Atribut
Atribut '[Range]' memungkinkan Anda membuat penggeser di Editor untuk variabel float publik atau int, yang dapat berguna untuk mengubah nilai saat bepergian, dengan cara yang lebih ramah pengguna. Cukup berikan nilai min dan max, seperti ini:
[Range(0f, 1f)]
public float myFloatVariable;
Beri komentar di bawah tips & trik pemrograman favorit Anda di Unity.