/ الدليل / الملعب / unity-mcp
● مجتمع CoplayDev ⚡ فوري

unity-mcp

بواسطة CoplayDev · CoplayDev/unity-mcp

تحكّم بمحرر Unity من خلال Claude — أنشئ المشاهد، واكتب برامج C#، وشغّل الاختبارات، وافحص وحدة التحكم، كل ذلك من الدردشة.

MCP for Unity (من قِبل CoplayDev) يوفر أكثر من 40 أداة تغطي التسلسل الهرمي للمشاهد والمسبقات والمواد والحزم والبرامج والاختبارات وجهاز التنبيه. يتم تثبيته كحزمة Unity بالإضافة إلى جسر Python؛ يقوم جانب Unity بتشغيل خادم HTTP محلي يتصل به الـ AI. يعمل مع Claude Desktop و Cursor و VS Code وأي عميل MCP.

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

unity.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "unity": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/CoplayDev/unity-mcp"
      ],
      "_inferred": true
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "unity": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/CoplayDev/unity-mcp"
      ],
      "_inferred": true
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "unity": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/CoplayDev/unity-mcp"
      ],
      "_inferred": true
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "unity": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/CoplayDev/unity-mcp"
      ],
      "_inferred": true
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "unity",
      "command": "TODO",
      "args": [
        "See README: https://github.com/CoplayDev/unity-mcp"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "unity": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/CoplayDev/unity-mcp"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add unity -- TODO 'See README: https://github.com/CoplayDev/unity-mcp'

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: unity-mcp

كيفية نماذج مشهد Unity من وصف نصي

👤 مصممو الألعاب والمطورون المستقلون وفرق الـ hackathon ⏱ ~20 min intermediate

متى تستخدمه: تريد الانتقال من 'غابة منخفضة الأضلاع مع لاعب و 5 أعداء متجولين' إلى مشهد قابل للتشغيل دون توصيل كل GameObject يدويًا.

المتطلبات الأساسية
  • Unity 2021.3 LTS أو أحدث، Python 3.10+، uv — ثبّت uv عبر brew install uv؛ Unity من unity.com/download
  • تثبيت حزمة Unity — Window > Package Manager > + > Add from git URL: https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main
الخطوات
  1. صِف المشهد الذي تريده
    Create a new scene called 'ForestDemo'. Add a low-poly terrain 200x200, a player capsule at origin with a rigidbody, and 5 cube enemies placed randomly between (-50,-50) and (50,50).✓ تم النسخ
    → تم إنشاء المشهد، تظهر GameObjects في التسلسل الهرمي، يعكس Unity التغييرات مباشرة
  2. اطلب برامج السلوك
    Create a C# script EnemyPatrol.cs that moves between two random waypoints, and attach it to every Enemy* GameObject.✓ تم النسخ
    → يتم تجميع البرنامج الجديد بنظافة، مرفق بالأعداء
  3. ادخل وضع التشغيل والتكرار
    Enter Play mode for 5 seconds, then read the console and tell me if anything threw.✓ تم النسخ
    → تم إرجاع سجل وقت التشغيل، يقترح Claude إصلاحات ملموسة لأي NullReferenceException

النتيجة: مشهد نموذج قابل للتشغيل مع أعداء مبرمجين — أقل من 15 دقيقة من الدردشة.

المزالق
  • رفض تحرير البرنامج بسبب أخطاء التجميع المتسلسلة — اطلب من Claude تشغيل manage_script validate قبل apply_text_edits
  • يؤدي إعادة تحميل المجال إلى مسح حالة وقت التشغيل في منتصف الجلسة — احفظ المشهد بشكل صريح قبل تحرير البرنامج؛ استخدم refresh_unity بعد ذلك
اجمعها مع: filesystem · github

كيفية تشخيص وإصلاح أخطاء التجميع ووقت التشغيل في Unity من الدردشة

👤 مطورو Unity عالقون على وحدة تحكم حمراء ⏱ ~15 min intermediate

متى تستخدمه: وحدة التحكم مليئة بالأخطاء من إعادة هيكلة كبيرة أو تحديث حزمة وتريد نظرة ثانية.

الخطوات
  1. اسحب وحدة التحكم
    Read the Unity console. Group errors by root cause.✓ تم النسخ
    → فئات الأخطاء المجمعة مع تحديد الملفات المحتملة
  2. اقرأ البرنامج المسيء
    Open the top script mentioned, find the line, and explain why it breaks.✓ تم النسخ
    → اقتراح إصلاح محدد يشير إلى أرقام الأسطر
  3. طبّق رقعة بسيطة
    Apply the smallest change to make it compile, then refresh Unity and re-read the console.✓ تم النسخ
    → انخفاض عدد الأخطاء، لم يتم إدخال أخطاء جديدة

النتيجة: وحدة تحكم خضراء و diff يمكنك مراجعته قبل الالتزام.

المزالق
  • يقترح Claude إصلاحات تكسر عقود API للبرامج الأخرى — اطلب منه البحث عن المراجع (find_in_file) قبل التحرير
اجمعها مع: github

كيفية تشغيل اختبارات EditMode و PlayMode في Unity وقراءة الفشل

👤 مطورو Unity مع مجموعة اختبارات حقيقية ⏱ ~15 min intermediate

متى تستخدمه: قبل فتح PR أو عندما يكون CI معطلاً وتريد اجتياز محلي سريع.

الخطوات
  1. بدّء تشغيل الاختبار
    Run all EditMode tests in the Tests.EditMode assembly.✓ تم النسخ
    → تم إرجاع معرّف وظيفة الاختبار، تم بث الحالة
  2. ملخّص الفشل
    For each failing test, show the assertion message and the line it fired on.✓ تم النسخ
    → تشخيص لكل اختبار
  3. أصلح أصغر فشل أولاً
    Pick the failure most likely caused by my last change and propose a patch.✓ تم النسخ
    → اقتراح تحرير ملموس

النتيجة: اختبار أخضر مع تحريرات قابلة للتتبع.

المزالق
  • اختبارات PlayMode تحتاج إلى مجموعة مختلفة — حدّد EditMode مقابل PlayMode بشكل صريح
اجمعها مع: github

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

unity + github

بناء المشهد والبرامج والالتزام بالتغييرات وفتح PR للمراجعة

بناء ميزة EnemyPatrol في Unity، والالتزام بالبرنامج الجديد وتغييرات المشهد إلى فرع 'feature/enemy-patrol'، وافتح PR مع ملخص التغييرات.✓ تم النسخ
unity + filesystem

استيراد دفعة من أصول 3D من مجلد محلي وربطها بـ prefabs

اقرأ /Downloads/kenney-nature-pack، واستورد كل .fbx إلى Assets/Models/، ثم أنشئ prefab لكل شجرة مع collider.✓ تم النسخ
unity + unity-2 + unity-3

اختر Unity MCP الذي يتطابق بشكل أفضل مع سير عملك — شغّل واحدًا فقط في كل مرة

قارن MCP for Unity مقابل CoderGamester mcp-unity لمشروع tilemap 2D الخاص بي، ثم احتفظ بالأفضل مُفعّلاً.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
manage_scene action: 'create'|'open'|'save'|'load', name?: str, path?: str أي تغيير في دورة حياة المشهد free
find_gameobjects query: str, scene?: str تحديد موقع الكائنات حسب الاسم أو الوسم أو المكون free
manage_components target: str, action: 'add'|'remove'|'modify', component: str, values?: obj إرفاق أو ضبط المكونات free
manage_script action: 'create'|'read'|'delete', path: str, body?: str كتابة البرنامج الكامل للملف — استخدم apply_text_edits للكتابة الجزئية free
apply_text_edits path: str, edits: Edit[] رقع جراحية؛ أآمن من إعادة الكتابة الكاملة free
read_console since_ms?: int افحص الأخطاء والتحذيرات بعد أي تغيير free
run_tests mode: 'EditMode'|'PlayMode', filter?: str بدّء تشغيل الاختبار؛ الاستقصاء عبر get_test_job free
refresh_unity بعد إنشاء أو تعديل البرامج أو الأصول free
manage_asset action, path, ... استيراد أو نقل أو حذف الأصول free
unity_docs query: str ابحث عن وثائق Unity API مباشرة free

التكلفة والحدود

تكلفة التشغيل

حصة API
لا توجد API بعيدة — يعمل بالكامل على جهازك
الرموز لكل استدعاء
قراءة التسلسل الهرمي للمشهد: 500–3000 tokens. قراءة البرنامج: يعتمد على حجم الملف
التكلفة المالية
مجاني (مفتوح المصدر، MIT)
نصيحة
عطّل الأدوات التي لن تستخدمها (مثل manage_vfx و manage_probuilder) عبر قائمة السماح بالأدوات لتقليل بصمة الـ prompt.

الأمان

الصلاحيات والأسرار ونطاق الأثر

الحد الأدنى من الصلاحيات: كتابة نظام الملفات المحلي إلى مشروع Unity الخاص بك
تخزين بيانات الاعتماد: لا يوجد مطلوب — localhost HTTP فقط
نقل البيانات الخارجي: Localhost فقط (http://localhost:8080/mcp). لا توجد قياسات بيانات افتراضيًا.
لا تمنح أبدًا: الوصول إلى مشاريع Unity خارج المشروع الحالي

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

Claude can't connect: ECONNREFUSED localhost:8080

يجب أن يكون محرر Unity مفتوحًا مع تحميل حزمة MCP. تحقق من Window > MCP for Unity > Status.

تحقق: curl http://localhost:8080/mcp/ping
apply_text_edits reports 'file changed on disk'

تم تعديل الملف بواسطة أداة أخرى. أعد القراءة باستخدام manage_script قبل التحرير مرة أخرى.

refresh_unity hangs forever

عادةً خطأ تجميع يقفل إعادة تحميل المجال. افتح Unity وأصلح البرنامج الأحمر، ثم أعد المحاولة.

تحقق: تحقق من وحدة التحكم في Unity يدويًا
Package Manager 'Could not resolve git URL'

خلف وكيل أو لا توجد git على PATH. ثبّت git وأعد المحاولة، أو استخدم تثبيت OpenUPM بدلاً من ذلك.

تحقق: git --version

البدائل

unity-mcp مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Unity-MCP (IvanMurzak)تريد إعدادًا مدفوعًا من خط الأوامر وتنفيذ C# قائمًا على Roslynمجتمع أصغر من Coplay's، سطح أداة مختلف
mcp-unity (CoderGamester)تريد مجموعة أدوات أبسط تركز على معالجة المشهد والاختباراتعدد أدوات أقل، تغطية أقل للمواد والمؤثرات البصرية

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills