Unity को इंस्टॉल करने के अन्य विकल्प

.NET 3.X और .NET 4.X, दोनों के लिए सभी .unitypackage फ़ाइलों वाली बड़ी .zip फ़ाइल डाउनलोड करने के बजाय, Unity के लिए Google API साइट से अलग-अलग पैकेज डाउनलोड किए जा सकते हैं.

इस साइट पर ये सुविधाएं मिलती हैं:

  • ऐसेट पैकेज के तौर पर इंपोर्ट करने के लिए, अलग-अलग .NET 4.X .unitypackage फ़ाइलें.
  • Unity पैकेज मैनेजर का इस्तेमाल करके, इंपोर्ट करने के लिए .tgz का व्यक्तिगत संग्रह.

यह खास तौर पर तब फ़ायदेमंद होता है, जब आपका ऐप्लिकेशन किसी एक Firebase प्रॉडक्ट का इस्तेमाल करता है, क्योंकि अलग-अलग .unitypackage फ़ाइलों में सभी ज़रूरी डिपेंडेंसी होती हैं. साथ ही, .tgz फ़ाइलों को उन संबंधित .tgz फ़ाइलों के साथ सूची में रखा जाता है जिन पर वे निर्भर करती हैं.

इस पेज पर Unity पैकेज मैनेजर से जुड़े निर्देश दिए गए हैं. इसलिए, Unity के दस्तावेज़ से इस टूल के बारे में जानना बेहतर रहेगा.

Firebase पैकेज को एसेट के रूप में इंपोर्ट करें

Google API for Unity साइट से डाउनलोड की गई .unitypackage फ़ाइलों से Firebase प्रॉडक्ट इंपोर्ट करते समय, इन बातों का ध्यान रखें:

  • अगर आपके प्रोजेक्ट में एक से ज़्यादा Firebase प्रॉडक्ट का इस्तेमाल किया जा रहा है, तो आपको सभी Firebase प्रॉडक्ट को एक ही वर्शन में डाउनलोड और अपग्रेड करना होगा.

  • एक प्रोजेक्ट में इंपोर्ट के तरीकों को मिक्स न करें. इसका मतलब है कि जिन Firebase प्रॉडक्ट को ऐसेट पैकेज फ़्लो के साथ इंपोर्ट नहीं किया गया है और न ही Unity Package Manager फ़्लो का इस्तेमाल करें.

डाउनलोड करने के बाद, इंपोर्ट करने के लिए:

  1. अपने खुले हुए Unity प्रोजेक्ट में, ऐसेट > पैकेज इंपोर्ट करें > कस्टम पैकेज पर जाएं.

  2. Unity पैकेज को इंपोर्ट करें विंडो में, इंपोर्ट करें पर क्लिक करें.

Unity पैकेज मैनेजर का इस्तेमाल करके Firebase पैकेज इंपोर्ट करें

Unity के लिए Google API संग्रह से डाउनलोड की गई .tgz फ़ाइलों से, Firebase प्रॉडक्ट इंपोर्ट करते समय इन बातों का ध्यान रखें:

  • यह तरीका सिर्फ़ 2018.3 के बाद के वर्शन में उपलब्ध है.

  • अगर आपके प्रोजेक्ट में एक से ज़्यादा Firebase प्रॉडक्ट का इस्तेमाल किया जा रहा है, तो आपको सभी Firebase प्रॉडक्ट को एक ही वर्शन में डाउनलोड और अपग्रेड करना होगा.

  • एक प्रोजेक्ट में इंपोर्ट के तरीकों को मिक्स न करें. इसका मतलब है कि Firebase प्रॉडक्ट को ऐसेट पैकेज के फ़्लो और Unity पैकेज मैनेजर के फ़्लो के साथ इंपोर्ट न करें.

  • हर प्रॉडक्ट .tgz फ़ाइल की डिपेंडेंसी, उनकी अपनी .tgz फ़ाइलों में लिंक होती हैं. आपको प्रॉडक्ट .tgz फ़ाइल और डिपेंडेंसी .tgz फ़ाइलों को सही क्रम में डाउनलोड और इंपोर्ट करना होगा:

    1. एक्सटर्नल डिपेंडेंसी मैनेजर (com.google.external-dependency-manager)
    2. Firebase कोर (com.google.firebase.app)
    3. आपके प्रोजेक्ट में इस्तेमाल किए गए Firebase प्रॉडक्ट. अगर रीयलटाइम डेटाबेस या Cloud Storage का इस्तेमाल किया जाता है, तो पहले पुष्टि (com.google.firebase.auth) को इंपोर्ट करें.

डाउनलोड करने के बाद, इनमें से किसी एक तरीके का इस्तेमाल करके, अपने प्रोजेक्ट में .tgz फ़ाइलें इंपोर्ट करें:

पैकेज मैनेजर यूज़र इंटरफ़ेस (यूआई)

  1. Unity की पैकेज मैनेजर विंडो खोलें.
  2. पैकेज मैनेजर विंडो के सबसे ऊपर बाएं कोने में मौजूद, + आइकॉन पर क्लिक करें और फ़ाइल ब्राउज़र को खोलने के लिए, Add package from tarball को चुनें.
  3. फ़ाइल ब्राउज़र में मनचाहे टारबॉल को चुनें.

Unity 2019 के कुछ पुराने वर्शन में, सीधे टारबॉल जोड़ने की सुविधा नहीं है. ऐसी स्थिति में आपको ये काम करने होंगे:

  1. .tgz फ़ाइल को अनज़िप करें.
  2. फ़ाइल ब्राउज़र खोलने के लिए, पैकेज मैनेजर विंडो के सबसे ऊपर बाएं कोने में मौजूद + आइकॉन पर क्लिक करें और Add package from disk को चुनें.
  3. फ़ाइल ब्राउज़र में एक्सट्रैक्ट किया गया फ़ोल्डर चुनें.

Manifest.json

  1. अपने प्रोजेक्ट के Packages फ़ोल्डर के बगल में एक नया फ़ोल्डर बनाएं और उसे GooglePackages नाम दें.
  2. .tgz फ़ाइलों को उस फ़ोल्डर में रखें.
  3. अपने Unity प्रोजेक्ट फ़ोल्डर में Packages/manifest.json खोलने के लिए, टेक्स्ट एडिटर का इस्तेमाल करें.
  4. हर उस पैकेज के लिए एक एंट्री जोड़ें जिसे आपको इंपोर्ट करना है. साथ ही, डिस्क पर मौजूद पैकेज की जगह के साथ उसके नाम को मैप करें. .tgz फ़ाइल पाथ में file: जोड़ना न भूलें. उदाहरण के लिए, अगर com.google.firebase.storage और उसकी डिपेंडेंसी को इंपोर्ट किया जा रहा था, तो आपका manifest.json ऐसा दिखेगा:

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164.tgz",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0.tgz",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0.tgz",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0.tgz",
        // com.unity package entries...
      }
    }
    
  5. manifest.json फ़ाइल सेव करें.

  6. जब Unity फिर से फ़ोकस करता है, तो यह manifest.json को फिर से लोड करता है. साथ ही, जोड़े गए नए पैकेज इंपोर्ट करता है.

Unity के कुछ पुराने वर्शन, manifest.json में .tgz फ़ाइलों के साथ काम नहीं करते. इस स्थिति में, आपको:

  1. .tgz फ़ाइल को अनज़िप करें.
  2. .tgz फ़ाइल के बजाय, एक्सट्रैक्ट किए गए फ़ोल्डर के पाथ का इस्तेमाल करने के लिए, अपने manifest.json में बदलाव करें. जैसे:

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0",
        // com.unity package entries...
      }
    }
    

Unity पैकेज मैनेजर से ऐसेट पैकेज पर माइग्रेट करना

कुछ मामलों में, शायद आप Unity पैकेज मैनेजर का इस्तेमाल करने के बजाय, Firebase प्रॉडक्ट को ट्रैक करने के बजाय Assets फ़ोल्डर में प्रॉडक्ट इंपोर्ट करना चाहें.

अगर आपको नहीं पता कि इंपोर्ट करने का कौनसा तरीका इस्तेमाल किया जा रहा है, तो अपने Unity प्रोजेक्ट फ़ोल्डर में, Packages/manifest.json फ़ाइल खोलें. अगर फ़ाइल में com.google.firebase से शुरू होने वाली एंट्री शामिल हैं, तो आपके प्रोजेक्ट ने इंपोर्ट करने के लिए Unity पैकेज मैनेजर का इस्तेमाल किया.

ऐसेट पैकेज पर माइग्रेट करने के लिए:

  1. अपने प्रोजेक्ट में मौजूदा Firebase पैकेज वर्शन नोट करें और उन्हें हटा दें.

    1. Window मेन्यू से, पैकेज मैनेजर चुनें. पक्का करें कि पैकेज मैनेजर विंडो में "पैकेज: प्रोजेक्ट में" चुना गया है.
    2. इंपोर्ट किए गए Firebase पैकेज के वर्शन नोट करें.
    3. हर पैकेज के नाम पर क्लिक करें. इसके बाद, हटाएं पर क्लिक करें. पक्का करें कि आपने एक्सटर्नल डिपेंडेंसी मैनेजर पैकेज (.com.google.external-dependency-manager) और Firebase पैकेज को हटा दिया हो.
  2. .unitypackage फ़ाइलों को डाउनलोड और इंपोर्ट करें. आपके पास दो विकल्प हैं:

    • अगर आपके पास हर पैकेज के नए वर्शन पर अपग्रेड करने का विकल्प है, तो Firebase Unity SDK की ZIP फ़ाइल डाउनलोड करें और Firebase को अपने Unity प्रोजेक्ट में जोड़ने का तरीका लेख में बताए गए तरीके से इंपोर्ट करें.
    • अगर आपको .unitypackage के मौजूदा वर्शन को बनाए रखना है, तो इस पेज पर ऊपर बताए गए तरीके से अलग-अलग पैकेज डाउनलोड और इंपोर्ट किए जा सकते हैं.

ऐसेट पैकेज से Unity पैकेज मैनेजर में माइग्रेट करना

कुछ मामलों में, हो सकता है कि आप Assets फ़ोल्डर में प्रॉडक्ट इंपोर्ट करने के बजाय, Unity पैकेज मैनेजर की मदद से प्रॉडक्ट इंपोर्ट और ट्रैक करना चाहें.

अगर आपको नहीं पता कि इंपोर्ट करने का कौनसा तरीका इस्तेमाल किया जा रहा है, तो अपने Unity प्रोजेक्ट फ़ोल्डर में, Packages/manifest.json फ़ाइल खोलें. अगर फ़ाइल में com.google.firebase से शुरू होने वाली एंट्री हैं, तो आपका प्रोजेक्ट इंपोर्ट करने के लिए पहले से ही Unity Package Manager का इस्तेमाल कर रहा है.

Unity पैकेज मैनेजर में माइग्रेट करने के लिए:

  1. पक्का करें कि इन तरीकों में से किसी एक का इस्तेमाल करके, Assets फ़ोल्डर से सभी Firebase पैकेज और एक्सटर्नल डिपेंडेंसी मैनेजर पैकेज हटा दिए गए हों.

    EDM4U यूज़र इंटरफ़ेस (यूआई)

    1. अपने खुले हुए Unity प्रोजेक्ट में, ऐसेट > बाहरी डिपेंडेंसी मैनेजर > वर्शन हैंडलर > मैनेज किए जा रहे पैकेज अनइंस्टॉल करें पर जाएं.
    2. सभी Firebase पैकेज और एक्सटर्नल डिपेंडेंसी मैनेजर चुनें.
    3. चुने गए पैकेज को अनइंस्टॉल करें पर क्लिक करें.

    मैन्युअल तरीके से हटाना

    फ़ाइल सिस्टम टूल का इस्तेमाल करके, इन फ़ोल्डर को मैन्युअल तरीके से मिटाएं:

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. Unity पैकेज मैनेजर का इस्तेमाल करके पैकेज इंपोर्ट करें. इसके बारे में इस पेज पर ऊपर बताया गया है.