Unity: मूल बातें, आर्किटेक्चर और C# में डेवलपमेंट

लेखक: IT Sectr प्रकाशित: 2026-05-02 पढ़ने का समय: 9 मिनट

Unity एक क्रॉस-प्लेटफ़ॉर्म गेम इंजन है जो 2D और 3D एप्लिकेशन बनाने के लिए है, जिसमें मोबाइल प्लेटफ़ॉर्म, डेस्कटॉप और कंसोल के लिए बिल्ड सपोर्ट है। इसका उपयोग गेम डेवलपमेंट और आर्किटेक्चर, ऑटोमोटिव और रिटेल में गैर-गेमिंग एप्लिकेशन दोनों के लिए किया जाता है। Unity Technologies, 2025 के अनुसार, App Store टॉप 1000 में 70% से अधिक मोबाइल गेम Unity पर बनाए गए हैं। C# इंजन की मुख्य प्रोग्रामिंग भाषा है जिसमें गेम लॉजिक, कम्पोनेंट और एडिटर स्क्रिप्ट लिखी जाती हैं।

मुख्य बातें

  • Unity — एक क्रॉस-प्लेटफ़ॉर्म गेम इंजन जो 2D, 3D, AR और VR को सपोर्ट करता है
  • C# — गेम लॉजिक, कम्पोनेंट और एडिटर स्क्रिप्ट लिखने की मुख्य भाषा
  • कम्पोनेंट आर्किटेक्चर — ऑब्जेक्ट का व्यवहार कम्पोनेंट (MonoBehaviour) से बनता है
  • Asset Store — रेडी-मेड मॉडल, टेक्सचर, ध्वनि और प्लगइन्स का बाज़ार
  • मोबाइल बिल्ड — ARM आर्किटेक्चर के लिए अनुकूलित iOS और Android बिल्ड

Unity क्या है?

Unity एक गेम और रियल-टाइम एप्लिकेशन डेवलपमेंट वातावरण है जिसे Unity Technologies ने 2005 में बनाया था। इंजन 27 प्लेटफ़ॉर्म को सपोर्ट करता है जिसमें iOS, Android, Windows, macOS, PlayStation, Xbox, Nintendo Switch और WebGL शामिल हैं। Unity Gaming Report (2024) के अनुसार, 2023 में Unity पर मासिक रूप से 3 बिलियन से अधिक मोबाइल गेम लॉन्च किए गए।

Unity की मुख्य विशेषता इसकी कम्पोनेंट-ओरिएंटेड आर्किटेक्चर है। सीन में प्रत्येक ऑब्जेक्ट एक खाली कंटेनर (GameObject) है जिसमें उसके व्यवहार को परिभाषित करने वाले कम्पोनेंट जोड़े जाते हैं: रेंडरिंग, फिजिक्स, ध्वनि, एनीमेशन और कस्टम लॉजिक। यह Unity को Unreal Engine जैसे पदानुक्रमिक इंजनों से अलग करता है जहां व्यवहार क्लास इनहेरिटेंस द्वारा परिभाषित होता है।

Statista (2025) के अनुसार, Unity मोबाइल गेम इंजन बाज़ार में 48% हिस्सेदारी रखता है, जो Unreal Engine (15%) और स्वामित्व समाधानों (37%) से आगे है। इंडी स्टूडियो कम प्रवेश बाधा के लिए और बड़े प्रकाशक विभिन्न प्लेटफ़ॉर्म पर बिल्ड पाइपलाइन की लचीलापन के लिए इंजन चुनते हैं।

Unity आर्किटेक्चर: सीन, ऑब्जेक्ट और कम्पोनेंट

Unity का आर्किटेक्चर चार मूलभूत अवधारणाओं पर बनता है: सीन, GameObjects, कम्पोनेंट और प्रीफ़ैब। इंजन के साथ प्रभावी ढंग से काम करने के लिए इस पदानुक्रम को समझना आवश्यक है।

सीन और GameObjects

सीन (Scene) एक कंटेनर है जिसमें गेम लेवल या एप्लिकेशन स्थिति के सभी ऑब्जेक्ट होते हैं। प्रत्येक सीन में GameObjects, प्रकाश स्रोत, कैमरा और ऑडियो स्रोतों का अपना सेट होता है। सीन के बीच संक्रमण SceneManager.LoadScene() के माध्यम से किया जाता है।

GameObject Unity का मूलभूत बिल्डिंग ब्लॉक है। इसका कोई दृश्य प्रतिनिधित्व या डिफ़ॉल्ट व्यवहार नहीं है — यह सीन पदानुक्रम में एक खाली नोड है। सभी व्यवहार और दिखावट कम्पोनेंट के माध्यम से जोड़े जाते हैं। उदाहरण के लिए, GameObject को दृश्यमान बनाने के लिए MeshRenderer जोड़ा जाता है; इसे फिजिक्स का पालन करने के लिए Rigidbody जोड़ा जाता है।

MonoBehaviour कम्पोनेंट

MonoBehaviour Unity में सभी कस्टम स्क्रिप्ट के लिए बेस क्लास है। यह एक जीवनचक्र प्रदान करता है: Awake (ऑब्जेक्ट लोड होने पर कॉल), Start (पहले फ्रेम से पहले), Update (हर फ्रेम), FixedUpdate (हर फिजिक्स स्टेप) और OnDestroy (नष्ट होने पर)।

प्रत्येक कम्पोनेंट GetComponent<T>() के माध्यम से उसी GameObject पर अन्य कम्पोनेंट के साथ इंटरैक्ट कर सकता है। यह मॉड्यूलर सिस्टम बनाने की अनुमति देता है: उदाहरण के लिए, Health कम्पोनेंट Movement कम्पोनेंट से स्वतंत्र हो सकता है, लेकिन दोनों UnityEvent के माध्यम से ईवेंट पर प्रतिक्रिया कर सकते हैं।

प्रीफ़ैब

प्रीफ़ैब (Prefab) एक GameObject टेम्पलेट है जिसे प्रोजेक्ट में एक एसेट के रूप में सहेजा जाता है। प्रीफ़ैब में बदलाव स्वचालित रूप से सीन में इसके सभी इंस्टेंस पर लागू होते हैं। यह Unity में पुन: उपयोग का केंद्रीय तंत्र है जो पुनरावृत्तियों को गति देता है और त्रुटियों को कम करता है।

प्रीफ़ैब नेस्टिंग (Nested Prefabs) का समर्थन करते हैं: एक प्रीफ़ैब में अन्य प्रीफ़ैब हो सकते हैं, जो एक पदानुक्रम बनाते हैं। उदाहरण के लिए, एक कार प्रीफ़ैब में पहिया, इंजन और बॉडी प्रीफ़ैब हो सकते हैं, प्रत्येक अपने स्वयं के कम्पोनेंट और सेटिंग्स के साथ।

Unity में C# कोड के उदाहरण

आइए C# में एक बुनियादी कैरेक्टर मूवमेंट कम्पोनेंट देखें। यह स्क्रिप्ट ऑब्जेक्ट को उसके वर्तमान रोटेशन के सापेक्ष आगे बढ़ाती है और उपयोगकर्ता इनपुट को संसाधित करती है।

csharp
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float speed = 5f;

    void Update()
    {
        float move = Input.GetAxis("Vertical");
        Vector3 direction = transform.forward * move;
        CharacterController controller = GetComponent<CharacterController>();
        controller.SimpleMove(direction * speed);
    }
}

Update() मेथड हर फ्रेम पर कॉल की जाती है। Input.GetAxis वर्टिकल इनपुट पढ़ता है, SimpleMove फिजिक्स के साथ गति लागू करता है। CharacterController एक बिल्ट-इन Unity कम्पोनेंट है जो टकराव भौतिकी लिखे बिना टकराव को संभालता है।

टकराव और क्षति लागू करने के लिए स्क्रिप्ट का उदाहरण:

csharp
using UnityEngine;

public class DamageHandler : MonoBehaviour
{
    public int health = 100;

    void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.CompareTag("Enemy"))
        {
            health -= 10;
            if (health <= 0)
            {
                Destroy(gameObject);
            }
        }
    }
}

OnCollisionEnter मेथड फिजिक्स इंजन द्वारा कॉल की जाती है जब एक GameObject किसी अन्य ऑब्जेक्ट से टकराता है। टैग तुलना (CompareTag) यह निर्धारित करती है कि टक्कर किसके साथ हुई। यह दृष्टिकोण कोड बदले बिना DamageHandler कम्पोनेंट को प्लेयर, दुश्मनों और नष्ट होने वाली वस्तुओं के लिए पुन: उपयोग करने की अनुमति देता है।

Unity पर मोबाइल गेम डेवलपमेंट

Unity सीमित संसाधनों वाले मोबाइल उपकरणों के लिए गेम को अनुकूलित करने के लिए विशेष उपकरण प्रदान करता है। मुख्य अनुकूलन क्षेत्रों में मेमोरी प्रबंधन, ड्रा कॉल की कमी और विभिन्न स्क्रीन रिज़ॉल्यूशन के लिए अनुकूलन शामिल हैं।

प्रदर्शन अनुकूलन

मोबाइल प्लेटफ़ॉर्म के लिए, Unity Asset Bundles प्रदान करता है — एक सामग्री पैकेजिंग सिस्टम जो आवश्यकतानुसार संसाधन लोड करता है, जिससे एप्लिकेशन का प्रारंभिक आकार कम होता है। यह विशेष रूप से कई स्तरों या पात्रों वाले गेम के लिए महत्वपूर्ण है जहां सभी एसेट एक साथ लोड करना ऐप स्टोर सीमाओं के कारण असंभव है।

Unity Profiler ADB (Android) या USB (iOS) के माध्यम से वास्तविक डिवाइस पर CPU, GPU और मेमोरी उपयोग का विश्लेषण करने की अनुमति देता है। Unity Documentation (2025) के अनुसार, मोबाइल उपकरणों पर ड्रा कॉल को 100–300 तक अनुकूलित करने से मध्य-श्रेणी के उपकरणों पर स्थिर 60 FPS मिलता है।

टच इनपुट और UI

मोबाइल गेम के लिए, Unity Input System का उपयोग करता है जो टच कंट्रोल, एक्सेलेरोमीटर और जायरोस्कोप को एक एकीकृत API के तहत सारांशित करता है। वर्चुअल जॉयस्टिक, स्वाइप और टैप टच हैंडलिंग कोड लिखे बिना Input Action Assets के माध्यम से कॉन्फ़िगर किए जाते हैं।

Unity का UI सिस्टम (uGUI) विभिन्न स्क्रीन पहलू अनुपातों के लिए स्वचालित इंटरफ़ेस अनुकूलन के लिए Canvas Scaler का समर्थन करता है। Scale With Screen Size मोड वाला Canvas Scaler कम्पोनेंट सुनिश्चित करता है कि टैबलेट और स्मार्टफ़ोन पर बटन स्क्रीन से बाहर न जाएं।

iOS और Android के लिए बिल्ड

Unity में मोबाइल गेम का बिल्ड Build Settings विंडो के माध्यम से किया जाता है। Android के लिए Android SDK और NDK आवश्यक है; Unity एक Gradle प्रोजेक्ट जनरेट करता है जो APK या AAB में कंपाइल होता है। iOS के लिए Xcode आवश्यक है — Unity एक Xcode प्रोजेक्ट बनाता है जिसमें Objective-C/Swift रैपर होता है जो अंततः Apple के माध्यम से कंपाइल होता है।

IL2CPP एक कंपाइलेशन विकल्प है जो C# कोड को C++ और फिर नेटिव ARM कोड में अनुवादित करता है। Unity Benchmark (2024) के अनुसार, IL2CPP Mono की तुलना में iOS और Android पर प्रदर्शन 15–25% बढ़ाता है, लेकिन बिल्ड समय और बाइनरी आकार बढ़ाता है।

Unity की अन्य इंजनों से तुलना

Unity की तुलना Unreal Engine और Godot से मुख्य विकल्पों के रूप में की जाती है। चुनाव प्रोजेक्ट के प्रकार, टीम की योग्यता और लक्ष्य प्लेटफ़ॉर्म पर निर्भर करता है।

मानदंडUnityUnreal Engine 5Godot 4
भाषाC#C++ / BlueprintsGDScript / C#
ग्राफ़िक्सBuilt-in / URP / HDRPNanite + Lumenकस्टम रेंडरर
मोबाइल अनुकूलनउत्कृष्ट (70% मोबाइल गेम)अच्छा (AAA पोर्टिंग)अच्छा (हल्का इंजन)
प्रवेश बाधाकमउच्चकम
लाइसेंसPersonal / Pro / Enterprise5% रॉयल्टी ($1M तक)MIT (मुफ्त)

मोबाइल गेम के लिए, Unity अपनी लचीली रेंडरिंग सिस्टम (URP — Universal Render Pipeline) की बदौलत उद्योग मानक बना हुआ है, जो सीमित कंप्यूट शक्ति वाले मोबाइल GPU के लिए ग्राफ़िक्स को अनुकूलित करता है। URP स्वचालित रूप से रेंडरिंग पास की संख्या कम करता है और GPU लोड कम करने के लिए शेडर को बैच करता है।

Unreal Engine 5 सबसे अच्छी ग्राफ़िक्स गुणवत्ता (ज्यामिति के लिए Nanite, प्रकाश के लिए Lumen) प्रदान करता है लेकिन अधिक शक्तिशाली हार्डवेयर और अधिक टीम अनुभव की आवश्यकता है। Godot ओपन सोर्स कोड और छोटे इंजन आकार से आकर्षित करता है लेकिन इसमें कम रेडी-मेड एसेट और छोटा विशेषज्ञ बाज़ार है।

गैर-गेमिंग एप्लिकेशन के लिए Unity

Unity का उपयोग गेम डेवलपमेंट के बाहर सक्रिय रूप से किया जाता है — आर्किटेक्चर, ऑटोमोटिव, रिटेल और शिक्षा में। रियल-टाइम 3D विज़ुअलाइज़ेशन (RT3D) इंटरैक्टिव 3D प्रेजेंटेशन, सिमुलेटर और उत्पाद कॉन्फ़िगरेटर बनाने की अनुमति देता है।

ऑटोमोटिव उद्योग में, Unity का उपयोग कारों के डिजिटल ट्विन और HMI (Human-Machine Interface) सिस्टम बनाने के लिए किया जाता है। Mercedes-Benz और BMW भौतिक प्रोटोटाइप बनने से पहले डैशबोर्ड डिस्प्ले और मल्टीमीडिया सिस्टम के प्रोटोटाइप के लिए Unity का उपयोग करते हैं।

रिटेल में, Unity का उपयोग उत्पाद कॉन्फ़िगरेटर के लिए किया जाता है: IKEA (वर्चुअल फ़र्नीचर प्लेसमेंट), Nike (स्नीकर कस्टमाइज़ेशन) और Audi (कार कॉन्फ़िगरेटर) — ये सभी प्रोजेक्ट Unity पर बनाए गए हैं। उपयोगकर्ता रियल टाइम में रंग, सामग्री और विकल्प बदल सकता है और परिणाम 3D में देख सकता है।

गैर-गेमिंग प्रोजेक्ट के लिए, Unity विशेष उपकरण प्रदान करता है: AR Foundation (ARKit और ARCore के लिए), Pixyz Plugin (CAD मॉडल आयात के लिए) और Unity Reflect (Revit BIM मॉडल के साथ सिंक्रनाइज़ेशन के लिए)। कंपनी Unity Industry दिशा को सक्रिय रूप से विकसित कर रही है जिसमें एंटरप्राइज़ क्लाइंट के लिए क्लाउड सेवाएँ शामिल हैं।

अक्सर पूछे जाने वाले प्रश्न

क्या एक नौसिखिया के लिए Unity में काम करना सीखना मुश्किल है?

Unity को व्यापक दस्तावेज़ीकरण, मुफ्त Unity Learn पाठ्यक्रम और विशाल समुदाय के कारण शुरुआती लोगों के लिए सबसे सुलभ गेम इंजनों में से एक माना जाता है। शुरू करने के लिए C# की मूल बातें और कम्पोनेंट आर्किटेक्चर के सिद्धांतों को समझना पर्याप्त है। अधिकांश शुरुआती 2–3 महीनों में अपना पहला गेम बनाते हैं।

क्या Unity में 2D गेम बनाए जा सकते हैं?

हाँ, Unity के पास पूर्ण 2D पाइपलाइन है: Sprite Renderer, 2D Physics (Box2D), टाइल से स्तर बनाने के लिए Tilemap और स्प्राइट की कंकाल एनीमेशन के लिए 2D Animation। Hollow Knight और Cuphead सहित कई लोकप्रिय 2D गेम Unity पर बनाए गए हैं। 2D उपकरण प्लगइन स्थापित करने की आवश्यकता के बिना इंजन में निर्मित हैं।

मोबाइल डेवलपमेंट के लिए Unity की कीमत कितनी है?

Unity Personal $200,000 तक की वार्षिक आय पर मुफ्त है। Unity Pro की कीमत $2,040 प्रति वर्ष प्रति डेवलपर है और इसमें उन्नत प्रोफाइलिंग टूल, क्लाउड बिल्ड और प्राथमिकता सहायता शामिल है। मोबाइल डेवलपमेंट के लिए, Personal की कार्यक्षमता अधिकांश इंडी प्रोजेक्ट के लिए पर्याप्त है।

Unity, Cocos2d गेम इंजन से कैसे अलग है?

Cocos2d एक 2D फ्रेमवर्क है जो C++, Lua और JavaScript को सपोर्ट करता है, जो सरल 2D गेम के लिए केंद्रित है। Unity एक पूर्ण 3D/2D इंजन है जिसमें एडिटर, विज़ुअल टूल और 27 प्लेटफ़ॉर्म के लिए सपोर्ट है। Cocos2d एशिया में हाइपरकैज़ुअल गेम के लिए लोकप्रिय है, जबकि Unity किसी भी शैली के लिए एक सार्वभौमिक विकल्प है।

क्या Unity AR और VR को सपोर्ट करता है?

हाँ, Unity में AR Foundation (ARKit + ARCore), XR Interaction Toolkit और OpenXR के माध्यम से AR और VR के लिए अंतर्निहित समर्थन है। Half-Life: Alyx (तकनीकी डेमो) और VRChat जैसे VR प्रोजेक्ट Unity पर बनाए गए हैं। इंजन सभी प्रमुख VR हेडसेट को सपोर्ट करता है: Meta Quest, HTC Vive, Valve Index और PlayStation VR।

सारांश

  • Unity — C# में 2D/3D गेम और रियल-टाइम एप्लिकेशन के लिए क्रॉस-प्लेटफ़ॉर्म इंजन
  • आर्किटेक्चर सीन, GameObjects, MonoBehaviour कम्पोनेंट और प्रीफ़ैब पर बनता है
  • C# — गेम लॉजिक, कम्पोनेंट और एडिटर एक्सटेंशन के लिए एकमात्र भाषा
  • मोबाइल अनुकूलन — iOS और Android के लिए IL2CPP, Asset Bundles, URP और Profiler
  • तुलना — Unity मोबाइल में अग्रणी (48%), Unreal AAA में, Godot इंडी में
  • गैर-गेमिंग उपयोग — आर्किटेक्चर, ऑटोमोटिव, रिटेल और इंटरैक्टिव 3D प्रेजेंटेशन
  • प्रवेश बाधा — कम, मुफ्त Unity Learn पाठ्यक्रम और विशाल समुदाय के साथ

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें