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.

Artikel yang Disarankan
Daftar Persatuan Kata Kunci yang Berguna di C#
Pengantar Bahasa Scripting Unity C#
Memahami Arsitektur Berbasis Komponen Unity
Membuat GrabPack di Unity Terinspirasi oleh Poppy Playtime
Membuat Efek Bullet Time di Unity
Membuat Objek Interaktif dalam Unity
Menerapkan Interaksi Kinetik dalam Kesatuan