एकता प्रोग्रामिंग ट्रिक्स

जब Unity में प्रोग्रामिंग की बात आती है, तो इन-एडिटर वर्कफ़्लो को बेहतर बनाने और विकास प्रक्रिया को तेज़ करने के लिए उपयोगी प्रोग्रामिंग कीवर्ड और कमांड की बहुतायत होती है।

कुछ कीवर्ड डिबगिंग के लिए समर्पित हैं, जबकि अन्य संपादक तर्क को स्क्रिप्टिंग तर्क से अलग करने के लिए डिज़ाइन किए गए हैं।

1. '[SerializeField]' गुण

डिफ़ॉल्ट रूप से, Unity इंस्पेक्टर से निजी चर छुपाता है, लेकिन उनके पहले '[SerializeField]' विशेषता जोड़कर, वे इंस्पेक्टर में कॉन्फ़िगर करने योग्य हो जाएंगे जबकि उन्हें अन्य स्क्रिप्ट के भीतर पहुंच से बाहर रखा जाएगा।

[SerializeField]
private int myPrivateVariable;

2. '[HideInInspector]' और '[System.NonSerialized]' विशेषताएँ

इंस्पेक्टर से सार्वजनिक चर को छिपाने के लिए '[HideInInspector]' और '[System.NonSerialized]' दोनों विशेषताओं का एक समान कार्य है, हालांकि, क्रमबद्धता के मामले में वे थोड़े भिन्न हैं।

'[HideInInspector]' और '[System.NonSerialized]' के बीच अंतर यह है कि '[HideInInspector]' केवल इंस्पेक्टर से वेरिएबल छिपाएगा, हालांकि, Unity इसे क्रमबद्ध करना जारी रखेगा (मतलब डिफ़ॉल्ट मान कोड में दिए गए मान से भिन्न हो सकता है), दूसरी ओर, '[System.NonSerialized]' न केवल इंस्पेक्टर से वेरिएबल को छिपाएगा, बल्कि Unity को इसे क्रमबद्ध न करने का संकेत भी देगा (जिसका अर्थ है कि डिफ़ॉल्ट मान सत्रों के बीच कोड में दिए गए मान पर रीसेट हो जाएगा)।

[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]' गुण

'[ExecuteAlways]' स्क्रिप्ट को संपादन मोड और Prefab संपादन मोड में निष्पादित करने के लिए बाध्य करता है, तब भी जब गेम नहीं चल रहा हो। यह परीक्षण और डिबगिंग उद्देश्यों के लिए उपयोगी हो सकता है।

वर्ग घोषणा से पहले विशेषता जोड़ी जाती है:

[ExecuteAlways]
public class MyScript : MonoBehaviour {
    // ...
}

4. 'Debug.Break()'

'Debug.Break()' संपादक को रोक देता है.

यह फ़ंक्शन तब उपयोगी होता है जब आप इंस्पेक्टर में कुछ मानों की जांच करना चाहते हैं और आप इसे मैन्युअल रूप से रोकने में सक्षम नहीं हैं।

void Update() {
    if (someCondition) {
        Debug.Break();
    }
}

5. '[Range]' गुण

'[Range]' विशेषता आपको सार्वजनिक फ्लोट या इंट वैरिएबल के लिए संपादक में एक स्लाइडर बनाने की अनुमति देती है, जो अधिक उपयोगकर्ता-अनुकूल तरीके से चलते-फिरते मूल्यों में बदलाव के लिए उपयोगी हो सकती है। बस न्यूनतम और अधिकतम मान प्रदान करें, जैसे:

[Range(0f, 1f)]
public float myFloatVariable;

Unity में अपने पसंदीदा प्रोग्रामिंग टिप्स और ट्रिक्स के नीचे टिप्पणी करें।

सुझाए गए लेख
C# में उपयोगी कीवर्ड की एकता सूची
एकता के घटक-आधारित वास्तुकला को समझना
यूनिटी सी# स्क्रिप्टिंग भाषा का परिचय
एकता में इन्वेंटरी और आइटम क्राफ्टिंग सिस्टम बनाना
एकता में बुलेट टाइम इफ़ेक्ट बनाना
एकता में इंटरएक्टिव ऑब्जेक्ट बनाना
एकता में काइनेटिक इंटरैक्शन लागू करना