Unity ایک کراس پلیٹ فارم گیم انجن ہے جو 2D اور 3D ایپلی کیشنز بنانے کے لیے ہے، جس میں موبائل پلیٹ فارمز، ڈیسک ٹاپ اور کنسولز کے لیے بلڈ سپورٹ شامل ہے۔ یہ گیم ڈیولپمنٹ اور آرکیٹیکچر، آٹوموٹیو اور ریٹیل میں غیر گیمنگ ایپلی کیشنز دونوں کے لیے استعمال ہوتا ہے۔ Unity Technologies، 2025 کے مطابق، App Store ٹاپ 1000 میں 70% سے زیادہ موبائل گیمز Unity پر بنائے گئے ہیں۔ C# انجن کی بنیادی پروگرامنگ زبان ہے جس میں گیم لاجک، کمپونینٹ اور ایڈیٹر اسکرپٹ لکھے جاتے ہیں۔
اہم نکات
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 کا آرکیٹیکچر چار بنیادی تصورات پر بنتا ہے: سینز، GameObjects، کمپونینٹس اور پریفاب۔ انجن کے ساتھ مؤثر طریقے سے کام کرنے کے لیے اس درجہ بندی کو سمجھنا ضروری ہے۔
سین (Scene) ایک کنٹینر ہے جس میں گیم لیول یا ایپلی کیشن حالت کے تمام آبجیکٹ ہوتے ہیں۔ ہر سین کے اپنے GameObjects، روشنی کے ذرائع، کیمرے اور آڈیو ذرائع کا سیٹ ہوتا ہے۔ سینز کے درمیان منتقلی SceneManager.LoadScene() کے ذریعے کی جاتی ہے۔
GameObject Unity کا بنیادی بلڈنگ بلاک ہے۔ اس کا کوئی بصری نمائندہ یا ڈیفالٹ رویہ نہیں ہے — یہ سین درجہ بندی میں ایک خالی نوڈ ہے۔ تمام رویہ اور ظاہری شکل کمپونینٹس کے ذریعے شامل کی جاتی ہے۔ مثال کے طور پر، GameObject کو نظر آنے کے لیے MeshRenderer شامل کیا جاتا ہے؛ اسے فزکس کی پیروی کرنے کے لیے Rigidbody شامل کیا جاتا ہے۔
MonoBehaviour Unity میں تمام کسٹم اسکرپٹس کے لیے بیس کلاس ہے۔ یہ ایک لائف سائیکل فراہم کرتا ہے: Awake (آبجیکٹ لوڈ ہونے پر کال)، Start (پہلے فریم سے پہلے)، Update (ہر فریم)، FixedUpdate (ہر فزکس قدم) اور OnDestroy (تباہ ہونے پر)۔
ہر کمپونینٹ GetComponent<T>() کے ذریعے اسی GameObject پر دوسرے کمپونینٹس کے ساتھ تعامل کر سکتا ہے۔ یہ ماڈیولر سسٹم بنانے کی اجازت دیتا ہے: مثال کے طور پر، Health کمپونینٹ Movement کمپونینٹ سے آزاد ہو سکتا ہے، لیکن دونوں UnityEvent کے ذریعے واقعات پر ردعمل دے سکتے ہیں۔
پریفاب (Prefab) ایک GameObject ٹیمپلیٹ ہے جو پروجیکٹ میں ایک اثاثہ کے طور پر محفوظ کیا جاتا ہے۔ پریفاب میں تبدیلی خود بخود سینز میں اس کی تمام مثالوں پر لاگو ہوتی ہے۔ یہ Unity میں دوبارہ استعمال کا مرکزی طریقہ کار ہے جو تکرار کو تیز کرتا ہے اور غلطیاں کم کرتا ہے۔
پریفاب نیسٹنگ (Nested Prefabs) کو سپورٹ کرتے ہیں: ایک پریفاب دوسرے پریفاب پر مشتمل ہو سکتا ہے، ایک درجہ بندی تشکیل دیتا ہے۔ مثال کے طور پر، ایک کار پریفاب میں پہیہ، انجن اور باڈی پریفاب شامل ہو سکتے ہیں، ہر ایک اپنے کمپونینٹس اور سیٹنگز کے ساتھ۔
آئیے C# میں ایک بنیادی کریکٹر موومنٹ کمپونینٹ دیکھیں۔ یہ اسکرپٹ آبجیکٹ کو اس کی موجودہ روٹیشن کے نسبت آگے بڑھاتی ہے اور صارف کے ان پٹ کو پروسیس کرتی ہے۔
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 کمپونینٹ ہے جو تصادم فزکس لکھے بغیر تصادم کو ہینڈل کرتا ہے۔
تصادم اور نقصان لاگو کرنے کے لیے اسکرپٹ کی مثال:
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 Asset Bundles فراہم کرتا ہے — ایک مواد پیکیجنگ سسٹم جو ضرورت کے مطابق وسائل لوڈ کرتا ہے، ایپلی کیشن کا ابتدائی سائز کم کرتا ہے۔ یہ خاص طور پر بہت سے لیولز یا کریکٹرز والے گیمز کے لیے اہم ہے جہاں ایک ساتھ تمام اثاثے لوڈ کرنا ایپ اسٹور کی حدود کی وجہ سے ناممکن ہے۔
Unity Profiler ADB (Android) یا USB (iOS) کے ذریعے حقیقی ڈیوائس پر CPU، GPU اور میموری کے استعمال کا تجزیہ کرنے کی اجازت دیتا ہے۔ Unity Documentation (2025) کے مطابق، موبائل آلات پر ڈرا کالز کو 100–300 تک بہتر بنانے سے درمیانی رینج کے آلات پر مستحکم 60 FPS ملتا ہے۔
موبائل گیمز کے لیے، Unity Input System استعمال کرتا ہے جو ٹچ کنٹرولز، ایکسلیرومیٹر اور جائروسکوپ کو ایک متحد API کے تحت تجرید کرتا ہے۔ ورچوئل جوائس اسٹک، سوائپ اور ٹیپ ٹچ ہینڈلنگ کوڈ لکھے بغیر Input Action Assets کے ذریعے کنفیگر کیے جاتے ہیں۔
Unity کا UI سسٹم (uGUI) مختلف اسکرین اسپیکٹ ریشوز کے لیے خودکار انٹرفیس موافقت کے لیے Canvas Scaler کو سپورٹ کرتا ہے۔ Scale With Screen Size موڈ والا Canvas Scaler کمپونینٹ یقینی بناتا ہے کہ ٹیبلیٹ اور اسمارٹ فونز پر بٹن اسکرین سے باہر نہ جائیں۔
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 کا موازنہ Unreal Engine اور Godot سے گیم انجن مارکیٹ میں اہم متبادل کے طور پر کیا جاتا ہے۔ انتخاب پروجیکٹ کی قسم، ٹیم کی اہلیت اور ہدف پلیٹ فارمز پر منحصر ہے۔
| معیار | Unity | Unreal Engine 5 | Godot 4 |
|---|---|---|---|
| زبان | C# | C++ / Blueprints | GDScript / C# |
| گرافکس | Built-in / URP / HDRP | Nanite + Lumen | کسٹم رینڈرر |
| موبائل آپٹیمائزیشن | بہترین (موبائل گیمز کا 70%) | اچھا (AAA پورٹنگ) | اچھا (ہلکا انجن) |
| داخلے کی رکاوٹ | کم | زیادہ | کم |
| لائسنس | Personal / Pro / Enterprise | 5% رائلٹی ($1M تک) | MIT (مفت) |
موبائل گیمز کے لیے، Unity اپنے لچکدار رینڈرنگ سسٹم (URP — Universal Render Pipeline) کی بدولت صنعت کا معیار بنا ہوا ہے، جو محدود کمپیوٹ پاور والے موبائل GPUs کے لیے گرافکس کو بہتر بناتا ہے۔ URP خود بخود رینڈرنگ پاسز کی تعداد کم کرتا ہے اور GPU بوجھ کم کرنے کے لیے شیڈرز کو بیچ کرتا ہے۔
Unreal Engine 5 بہترین گرافکس کوالٹی (جیومیٹری کے لیے Nanite، روشنی کے لیے Lumen) فراہم کرتا ہے لیکن زیادہ طاقتور ہارڈویئر اور زیادہ ٹیم تجربہ درکار ہے۔ Godot اوپن سورس کوڈ اور چھوٹے انجن سائز سے متوجہ کرتا ہے لیکن اس میں کم ریڈی میڈ اثاثے اور چھوٹی ماہر مارکیٹ ہے۔
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 Learn کورسز اور بڑی کمیونٹی کی بدولت ابتدائیوں کے لیے سب سے زیادہ قابل رسائی گیم انجنوں میں سے ایک سمجھا جاتا ہے۔ شروع کرنے کے لیے C# کی بنیادی باتیں اور کمپونینٹ آرکیٹیکچر کے اصول سمجھنا کافی ہے۔ زیادہ تر ابتدائی 2–3 مہینوں میں اپنا پہلا گیم بناتے ہیں۔
ہاں، Unity کے پاس مکمل 2D پائپ لائن ہے: Sprite Renderer، 2D Physics (Box2D)، ٹائل سے لیول بنانے کے لیے Tilemap اور اسپرائٹس کے کنکال اینیمیشن کے لیے 2D Animation۔ Hollow Knight اور Cuphead سمیت کئی مشہور 2D گیمز Unity پر بنائے گئے ہیں۔ 2D ٹولز پلگ ان انسٹال کرنے کی ضرورت کے بغیر انجن میں شامل ہیں۔
Unity Personal $200,000 سالانہ آمدنی تک مفت ہے۔ Unity Pro کی قیمت $2,040 فی سال فی ڈیولپر ہے اور اس میں جدید پروفائلنگ ٹولز، کلاؤڈ بلڈ اور ترجیحی سپورٹ شامل ہے۔ موبائل ڈیولپمنٹ کے لیے، Personal کی فعالیت زیادہ تر انڈی پروجیکٹس کے لیے کافی ہے۔
Cocos2d ایک 2D فریم ورک ہے جو C++، Lua اور JavaScript کو سپورٹ کرتا ہے، سادہ 2D گیمز پر مرکوز ہے۔ Unity ایک مکمل 3D/2D انجن ہے جس میں ایڈیٹر، بصری ٹولز اور 27 پلیٹ فارمز کے لیے سپورٹ ہے۔ Cocos2d ایشیا میں ہائپر کیزوئل گیمز کے لیے مقبول ہے، جبکہ Unity کسی بھی صنف کے لیے ایک عالمگیر انتخاب ہے۔
ہاں، 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۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں