خادم Unreal MCP: إعداد Blueprints وClaude خطوة بخطوة

اضبط خادم Unreal MCP ليتمكّن Claude من إنشاء Blueprints وتوليد الفاعلات (actors) وتعديل الأصول داخل محرر Unreal Engine 5 أثناء تشغيله. اختر الخادم، وفعّل الإضافات، واكتب إعداد Claude Code أو Claude Desktop، وأصلح أخطاء الاتصال الشائعة.

خادم Unreal MCP: إعداد Blueprints وClaude خطوة بخطوة
Cristian Da Conceicao
مؤسس Picasso IA

تكتب جملة واحدة في نافذة الدردشة، فيظهر أصل Blueprint في متصفح المحتوى (Content Browser) لديك. هذا هو الوعد الذي يقدّمه خادم Unreal MCP: برنامج جسر صغير يتيح لعميل Claude التواصل مع محرر Unreal Engine قيد التشغيل عبر بروتوكول سياق النماذج (Model Context Protocol). الوعد حقيقي، لكن الإعداد يحمل مطبات كثيرة. ستتعامل مع إضافتين للمحرر، ومنفذ أو اثنين، وملف JSON، وعدد من القيود التي لا يذكرها أحد حتى تصطدم بها. يستعرض هذا المقال السلسلة كاملة، من تفعيل الإضافات الصحيحة إلى كتابة أوامر نصية تنتج Blueprints نظيفة، ويكون صريحًا بشأن ما لا يستطيع Claude فعله داخل مخطط Blueprint حتى الآن.

ماذا يفعل خادم Unreal MCP؟

خادم MCP هو برنامج يعرض أدوات على عميل ذكاء اصطناعي. يرى Claude قائمة مثل "إنشاء Blueprint" أو "توليد فاعل" أو "تشغيل نص برمجي للمحرر"، ويختار منها كلما احتاج أمرك إلى إجراء داخل المحرك. الجانب الخاص بـ Unreal بسيط، لأن المحرر يأتي أصلًا بطرق لقبول الأوامر الخارجية. يحوّل الخادم استدعاءات Claude للأدوات إلى تلك الأوامر، ويعيد رد المحرر إلى Claude.

المكوّنات الثلاثة

منظر علوي لحاسوب محمول ومفتاح شبكة ومخطط مرسوم يدويًا من ثلاثة صناديق على مكتب من خشب البلوط

لكل إعداد القطع الثلاث نفسها، أيًّا كان الخادم الذي تختاره:

القطعةما هيمكان التشغيل
عميل ClaudeClaude Code أو Claude Desktopجهازك
خادم MCPجسر مكتوب بـ Python أو Nodeجهازك، يشغّله العميل
محرر Unrealإضافة Python مع التنفيذ عن بُعد أو Remote Control APIجهازك، مع فتح مشروع

يشغّل العميل الخادم كعملية فرعية، ويتواصل معه عبر الإدخال والإخراج القياسيين. ثم يصل الخادم إلى المحرر عبر localhost. لا يغادر شيء جهازك إلا الأوامر النصية التي ترسلها إلى Claude نفسه.

لماذا لا تلصق الشيفرة يدويًا؟

بدون جسر، تطلب من Claude سكربت Python، وتنسخه وتلصقه في وحدة Python للمحرر، وتقرأ الخطأ وتنسخه مرة أخرى إلى الدردشة. ومع الخادم، يشغّل Claude السكربت بنفسه، ويقرأ رد المحرر، ويصحح أخطاءه بنفسه. تكتمل الحلقة دون أن تتدخل في منتصفها.

  • يرى Claude النتيجة الفعلية، فيُصحَّح مسار الأصل الخاطئ فورًا
  • تتحول المهام المتكررة، مثل إعادة تسمية 200 أصل، إلى أمر نصي واحد
  • تبقى يداك داخل المحرر بينما تتولى الدردشة أعمال الإعداد

تذهب أفضل الخوادم أبعد بكثير من مهام الأصول. تقول صفحة UEMCP إن Claude يستطيع توليد الفاعلات، وبناء المواد، وتأليف Blueprints، وإدارة الأصول، وتحريك كاميرا منفذ العرض، وأخذ لقطات الشاشة، كل ذلك من خلال المحادثة. لقطات الشاشة أهم مما تبدو: عندما يدعم عميلك نتائج الصور، يستطيع Claude أن ينظر إلى منفذ العرض بعد أي تغيير، ويقارن النتيجة بطلبك، بدلًا من الاكتفاء برسالة النجاح.

اختر الخادم الصحيح أولًا

توجد عدة خوادم مفتوحة المصدر، وتصل إلى المحرك بثلاث طرق مختلفة. اختر حسب طريقة عملك، لا حسب الشهرة.

ثلاثة كابلات ملتفة منتشرة على طاولة عمل إسمنتية في ضوء الصباح

خوادم التنفيذ عن بُعد بـ Python

UEMCP هو المثال الأوضح. يتحدث بروتوكول التنفيذ عن بُعد المدمج في المحرك بـ Python، أي البحث عبر الإرسال المتعدد (multicast) وقناة الأوامر TCP نفسها التي تأتي مع Unreal. تسرد صفحته على PyPI دعم Unreal Engine 5.0 حتى 5.6 وPython 3.10 أو أحدث، وتعرض أدوات Blueprint لإنشاء Blueprint وإضافة مكوّن وضبط خاصية افتراضية. لا يحتاج إلى تجميع.

خوادم Remote Control API

unreal-engine-mcp يسلك طريق HTTP. يجمع بين Remote Control API وPython داخل المحرر، ويستمع على المنفذ 30010 افتراضيًا، وتسرد صفحته 162 أداة، من بينها استيراد الأصول، وإنشاء المستويات، ومخططات المواد، وتوليد فئات C++، والتغليف. تذكر الصفحة أنه جُرّب على Unreal Engine 5.8. ولا يحتاج هو أيضًا إلى تجميع.

خوادم إضافات C++

بعض المشاريع تأتي بإضافة C++ تفتح مقبسًا (socket) داخل المحرر، ويتصل بها خادم Python. تحصل على وصول أعمق، لأن شيفرة الإضافة تصل إلى الأجزاء الداخلية للمحرر التي لا تصل إليها Python. الثمن هو بناء منفصل لكل إصدار من المحرك. تعمل إضافة UnrealMCP بهذه الطريقة: تضعها في مجلد Plugins بمشروعك، وتشغّل سكربت الإعداد الخاص بها، وتوجّه Claude Desktop إلى سكربت التشغيل الخاص بها.

المساريحتاج تجميعًاالاتصالالأنسب لـ
التنفيذ عن بُعد بـ Pythonلابحث UDP عبر الإرسال المتعدد، ثم TCPإعداد سريع، مهام الأصول
Remote Control APIلاHTTP على المنفذ 30010قوائم أدوات طويلة، بناء المستويات
إضافة C++نعممقبس TCP مخصصوصول عميق إلى المحرر

💡 الاختيار السريع: إذا لم تستخدم خادم MCP من قبل، فاسلك طريق التنفيذ عن بُعد بـ Python. يحتاج إلى أمر واحد في Claude Code ولا يحتاج إلى مترجم. انتقل إلى إضافة C++ فقط عندما تصطدم بحاجز لا تتجاوزه Python.

جهّز محرر Unreal

يعتمد المساران اللذان لا يحتاجان إلى تجميع على إضافات تأتي مع المحرك. فعّلها مرة واحدة لكل مشروع. تحقق من إصدار المحرك مقابل المدى المدعوم للخادم قبل أي شيء آخر: يسرد UEMCP الإصدارات من 5.0 حتى 5.6، بينما يذكر خادم Remote Control أنه جُرّب على 5.8. على إصدار خارج القائمة، توقّع أن تتصرف بعض استدعاءات Python API بشكل مختلف.

💡 استخدم مشروعًا تجريبيًا: شغّل جلستك الأولى على مشروع فارغ بالإصدار نفسه من المحرك. مستوى مؤقت لا يكلّفك شيئًا، وأي مفاجأة تبقى بعيدة عن أصولك الحقيقية.

مطوّر بسترة رمادية عند مكتب قائم، وضوء بعد الظهر يخطط الجدار

تفعيل الإضافات

  1. افتح Edit ▸ Plugins في المحرر.
  2. ابحث عن Python Editor Script Plugin وفعّله.
  3. في مسار Remote Control، ابحث أيضًا عن Remote Control API وفعّله.
  4. أعد تشغيل المحرر عندما يطلب ذلك.
  5. افتح Edit ▸ Project Settings، وابحث عن "remote execution"، ثم فعّل Enable Remote Execution.

يُحفظ الإعداد في ملف تكوين مشروعك، لذا تفعله مرة واحدة فقط. أودِع تغيير التكوين في نظام التحكم بالإصدارات حتى يرثه زملاؤك.

تشغيل خادم الويب

يحتاج مسار Remote Control إلى تشغيل خادم HTTP الخاص به. افتح الوحدة الطرفية (console) في Output Log وشغّل:

WebControl.StartServer

يرد الخادم على المنفذ 30010 ما لم تغيّره. أبقِ المحرر مفتوحًا وخاملًا أثناء الاختبار، لأن الأوامر تُنفَّذ داخل المحرر، فالمحرر المشغول بتجميع المظللات (shaders) يرد ببطء. مهلة UEMCP الافتراضية 120 ثانية لكل أمر، وهي سخية لكنها ليست لا نهائية.

اربط Claude بالمحرر

امرأة بسترة جينز تكتب على حاسوب محمول عند نافذة مقهى مشمسة

بعد جاهزية المحرر، سجّل الخادم لدى عميل Claude لديك. اختر العميل الذي تستخدمه أصلًا.

Claude Code بأمر واحد

لمسار التنفيذ عن بُعد بـ Python:

claude mcp add unreal -- uvx uemcp

لمسار Remote Control:

claude mcp add unreal-mcp -- python -m unreal_mcp.server

يحتاج الأمر الأول إلى تثبيت uv، لأن uvx يشغّل الحزمة دون تثبيت يدوي. شغّل claude mcp list للتأكد من تسجيل الخادم، أو اكتب /mcp داخل جلسة لرؤية حالة اتصاله.

ملف JSON لإعداد Claude Desktop

افتح Settings ▸ Developer ▸ Edit Config. على Windows يقع الملف في %APPDATA%\Claude\claude_desktop_config.json. أضف مدخلًا تحت mcpServers:

{
  "mcpServers": {
    "unreal": {
      "command": "uvx",
      "args": ["uemcp"]
    }
  }
}

بالنسبة إلى خادم Remote Control، مرّر المنفذ عبر متغير بيئة:

{
  "mcpServers": {
    "unreal-mcp": {
      "command": "python",
      "args": ["-m", "unreal_mcp.server"],
      "env": { "UE_MCP_PORT": "30010" }
    }
  }
}

أغلق Claude Desktop بالكامل، لا النافذة فقط، ثم أعد فتحه.

💡 انتبه إلى الفواصل: فاصلة زائدة في النهاية أو قوس ناقص تجعل الملف كله غير صالح، ولن يظهر الخادم أبدًا دون أي رسالة. الصق الملف في أي أداة للتحقق من JSON قبل إعادة التشغيل.

اختبر بأمر نصي بسيط

افتح مشروعًا في المحرر أولًا، ثم اسأل:

اعرض الفاعلات في المستوى الحالي، وأخبرني كم عددها من نوع الإضاءة.

إذا رد Claude بأسماء تطابق World Outliner لديك، فالسلسلة تعمل. وإذا قال إنه لا يملك أدوات Unreal، فهذا يعني أن العميل لم يحمّل الخادم، فراجع الإعداد قبل أن تلمس المحرر.

ابنِ Blueprints من الدردشة

بعد ثبات الاتصال يبدأ العمل المفيد. الـ Blueprint فئة (class)، وإنشاء فئة بمكوّنات وقيم افتراضية هو بالضبط نوع المهمة المنظمة التي يتعامل معها Claude جيدًا عبر استدعاءات الأدوات.

يد تمسك قلمًا أزرق بجانب مخطط تدفق مرسوم يدويًا على لوح زجاجي أبيض

ما الذي يستطيع Claude بناءه اليوم؟

عبر الخوادم المعتمدة على Python، تشمل المهام الموثوقة:

  • إنشاء فئة Blueprint من أب مثل Actor أو Pawn أو Character
  • إضافة مكوّنات: شبكات ثابتة (static meshes)، وتصادم صندوقي وكروي، ونقاط إضاءة
  • ضبط القيم الافتراضية للمتغيرات والشبكات والمواد وإعدادات التصادم المسبقة
  • توليد نسخ Blueprint في المستوى المفتوح عند مواضع دقيقة
  • إنشاء المواد وأصول البيانات ثم حفظها

هذا أمر نصي يختبر معظم تلك القائمة:

Create an Actor Blueprint at /Game/Blueprints/BP_Pickup.
Add a StaticMesh component named PickupMesh using the engine Sphere mesh,
and a SphereCollision component named PickupTrigger with radius 120.
Set PickupMesh scale to 0.5 on every axis.
Then spawn three instances in the open level, 400 units apart along X.
Report the asset path and actor names when you are done.

يقسم Claude هذا الطلب إلى عدة استدعاءات أدوات، ويتحقق من رد كل منها، ويعيد المحاولة عندما يعيد المحرر خطأ. وأنت تشاهد الأصول تظهر في متصفح المحتوى أثناء ذلك.

تتكون الجلسة الأولى الجيدة من أربع خطوات:

  1. اطلب تقريرًا للقراءة فقط، مثل "اعرض كل Blueprint في /Game/Blueprints".
  2. اطلب Blueprint جديدًا واحدًا بمكوّنين.
  3. افتحه في المحرر وقارنه بما أبلغ عنه Claude.
  4. اطلب تعديلًا صغيرًا، مثل زيادة نصف قطر الكرة، وتأكد من القيمة في لوحة Details.

إذا نجحت الخطوات الأربع، فأنت تعرف أن المسار يقرأ ويكتب ويتحقق. عندئذ فقط اطلب مهام أكبر، مثل تزيين غرفة كاملة بالدعائم.

أين تتوقف مخططات Blueprint؟

هذا هو القيد الذي تتجاهله معظم الدروس. تذكر وثائق أحد الخوادم بوضوح أنه لا يمكن تأليف مخططات عُقد Blueprint من Python. المكوّنات والقيم الافتراضية والمتغيرات لا بأس بها. أما توصيل عقد Event Graph عقدةً عقدةً فليس موثوقًا على ذلك المسار.

مطوّران لعبة يراجعان مستوى على شاشة في شقة ذات جدران من الطوب

الحل البديل هو تقسيم عمل واضح. يكتب Claude المنطق في فئة أب بلغة C++، ويعرضه باستخدام UFUNCTION(BlueprintCallable) وBlueprintImplementableEvent. تقوم أنت بالتجميع. ثم ينشئ Claude فئة Blueprint ابنة، ويضبط قيمها الافتراضية، ويضعها في المستوى. يبقى المخطط صغيرًا لأن المنطق الحقيقي يعيش في C++.

المهمةمسار Python فقطمع فئة أب بلغة C++
إضافة المكوّناتموثوقموثوق
ضبط القيم الافتراضيةموثوقموثوق
توصيل عقد Event Graphغير موثوقيستدعي دوال C++ بدلًا من ذلك
المنطق القابل لإعادة الاستخدامصعب المشاركةيعيش في فئة واحدة

تعلن خوادم أحدث قراءة مخططات Blueprint وتعديلها مباشرة على إصدارات محرك حديثة. تعامل مع ذلك كوعد واعد، واختبره على نسخة من مشروعك قبل أن تأمنه على عمل حقيقي.

أوامر نصية تنجح في Unreal

يد تكتب قائمة قصيرة في دفتر بقلم حبر بجانب تقويم مكتبي

الخادم يتولى الكتابة. أما الأمر النصي فما زال يحدد النتيجة. هذه العادات تقلل معدل إعادة المحاولة بشكل ملحوظ:

  • سمِّ كل أصل ومساره. "BP_Pickup في /Game/Blueprints" أفضل من "شيء للالتقاط".
  • اطلب تغييرًا واحدًا في كل مرة. الخطوات الصغيرة سهلة التحقق وسهلة التراجع.
  • اختم بطلب تقرير. "اعرض ما غيّرته" يمنحك قائمة تحقق تقارنها بالمحرر.
  • اذكر إصدار المحرك. تتغير أسماء Python API بين الإصدارات، لذا قل "Unreal 5.6" في البداية.
  • أجّل الحفظ. اطلب من Claude أن ينتظر قبل حفظ كل الأصول حتى تراجع النتيجة.
  • ثبّت الحالة أولًا. استخدم Git مع LFS أو Perforce، وثبّت التغييرات قبل كل جلسة حتى تكون التجربة الفاشلة على بُعد تراجع واحد.
أمر نصي غامضأمر نصي أفضل
"اصنع بابًا""أنشئ BP_Door في /Game/Props مع مكوّن شبكة ثابتة اسمه DoorMesh ومشغّل صندوقي عرضه 200 وحدة. أبلغ عن المسار."
"أصلح الإضاءة""اعرض كل ضوء في المستوى مع شدته وقابلية حركته. لا تغيّر شيئًا بعد."
"نظّف الأصول""اعرض الأنسجة في /Game/Textures التي تتجاوز 4096 بكسل. لا تحذف أي شيء."

💡 قالب من أربعة أسطر: الهدف، ومسار الأصل، والقيود، وما يجب الإبلاغ عنه. استخدمه دائمًا لتبقى أوامرك قصيرة ودقيقة.

تنحرف الجلسات الطويلة مع الوقت. بعد 20 أو 30 استدعاء أداة، قد يفقد Claude تتبع الأصول الموجودة، ويبدأ بتخمين المسارات. عندما يحدث ذلك، افتح دردشة جديدة والصق ملخصًا قصيرًا للحالة الحالية: المجلدات المستخدمة، وأسماء Blueprints، وقاعدة التسمية. ملخص من عشرة أسطر أفضل من تاريخ محادثة مدته ساعتين.

أصلح مشاكل الاتصال بسرعة

أيادٍ توصل كابل إيثرنت بجهاز توجيه صغير على رف مكتب منزلي

تقع معظم الأعطال ضمن عدد قليل من الأنماط:

العَرَضالسبب المرجّحالحل
الخادم غير موجود في ClaudeJSON غير صالح، أو uvx وpython غير موجودين في PATHتحقق من JSON، وشغّل uvx --version، وأعد تشغيل العميل
لا يوجد رد HTTPخادم الويب غير قيد التشغيلشغّل WebControl.StartServer في وحدة المحرر الطرفية
الأوامر مرفوضةالتنفيذ عن بُعد مغلقتأكد من Enable Remote Execution وأعد تشغيل المحرر
انتهاء المهلةالمحرر مشغول بالمظللات أو بتحميل مستوىانتظر حتى يصبح المحرر خاملًا، ثم أعد المحاولة
المنفذ مستخدم بالفعلتطبيق آخر يستخدم 30010غيّر UE_MCP_PORT ومنفذ Remote Control ليتطابقا
المحرر غير مكتشفجدار الحماية أو VPN يحجب الإرسال المتعدداسمح بـ UDP على 239.0.0.1:6766 أو أوقف VPN

عند حدوث عطل، اقرأ Output Log في المحرر أولًا. تُطبع أخطاء Python الناتجة عن الأوامر البعيدة هناك، وغالبًا يحتاج Claude إلى هذا النص بالضبط ليصلح المشكلة. إذا لم يمرّر عميلك الخطأ، فالصقه في الدردشة بنفسك.

تشير وثائق أحد الخوادم أيضًا إلى bEnableRemotePythonExecution=True في DefaultRemoteControl.ini عندما يبقى التنفيذ عن بُعد محجوبًا، فتحقق من هذا الملف إذا لم تحل القائمة أعلاه المشكلة.

أحكم تأمين الاتصال

تحذّر صفحة UEMCP نفسها من أن بروتوكول التنفيذ عن بُعد لا يملك مصادقة. أي شخص يستطيع الوصول إلى المنفذ يستطيع تشغيل Python داخل محررك. أبقِ الاتصال على localhost، ولا تعرّض المنافذ أبدًا على شبكة Wi-Fi مشتركة في المكتب، وأضف قاعدة في جدار الحماية إذا كان جهازك على شبكة لا تتحكم فيها. كما يطلب Claude Code الإذن قبل استدعاءات الأدوات، فاقرأ أي طلب يشغّل شيفرة Python اعتباطية قبل أن توافق عليه.

جرّبه مع PicassoIA

يحتاج مشروع Unreal إلى أكثر من Blueprints. يحتاج إلى مواصفات تصميم، وملخصات للمستويات، وصور مرجعية، ويتولى PicassoIA هذا الجانب في المتصفح.

صور فوتوغرافية مطبوعة لأطلال حجرية ومسار غابة منتشرة بجانب دفتر رسم على مكتب

استخدم Claude Sonnet 5 على PicassoIA

خطّط للنظام على PicassoIA أولًا، ثم انقل النتيجة المرتبة إلى جلسة Unreal لديك. إليك الروتين مع Claude Sonnet 5:

  1. افتح صفحة Claude Sonnet 5 على PicassoIA.
  2. صف الهدف بكلمات بسيطة: "فاعل التقاط يدور، ويشغّل صوتًا، ويدمّر نفسه عند التداخل. Unreal 5.6."
  3. اطلب مواصفات مرقّمة تسرد المكوّنات والمتغيرات والأحداث ومسارات الأصول.
  4. اطلب إعادة كتابة كل سطر من المواصفات كأمر نصي مستقل ينتهي بـ "أبلغ عمّا غيّرته".
  5. الصق هذه الأوامر، واحدًا تلو الآخر، في جلسة Claude Code المتصلة بخادم Unreal MCP.

نصيحتان للمعاملات: اجعل الطلب لنظام واحد في كل تشغيل، واذكر إصدار المحرك في الجملة الأولى. لنظام لعب أكبر، جرّب Claude Fable 5 أو Claude Opus 4.7، وللمسودات السريعة لرؤوس C++، يُعد Gemini 3.5 Flash سريعًا.

النموذجالأنسب لـ
Claude Sonnet 5المواصفات وقوائم الأوامر النصية وخطط Blueprint
Claude Fable 5أنظمة اللعب الأكبر
Kimi K2.6مهام الشيفرة بأسلوب الوكلاء
Gemini 3.5 Flashالمسودات السريعة ورؤوس C++

أنشئ صورًا مرجعية للمستويات

قبل أن تطلب من Claude بناء فناء أو داخلية سفينة أو فسحة في غابة، امنح الجميع الصورة نفسها للحالة المزاجية المستهدفة. تحوّل نماذج الصور على PicassoIA مثل Seedream 5 Pro وGPT Image 2 وFlux 2 Pro الجملة إلى إطار مرجعي واقعي كالصورة الفوتوغرافية خلال ثوانٍ. وهي تنتج صورًا ثنائية الأبعاد، لذا استخدمها كموجز بصري للإضاءة والمواد وتزيين الموقع، ثم اطلب من Claude بناء المستوى ليطابقها.

اختر مشهدًا واحدًا من مشروع Unreal الحالي، واكتب وصفًا من فقرة واحدة له. افتح PicassoIA، وولّد ثلاث صور مرجعية من تلك الفقرة، واحتفظ بالصورة التي تبدو مناسبة. ألصق وصفها في أمرك النصي التالي لـ Claude، ولاحظ مدى اقتراب المحاولة الأولى من المطلوب. يصبح سير عملك أسرع في اللحظة التي تتوافق فيها الأوامر النصية مع الصور.

شارك هذا المقال

اختر لغتك

مقالات ذات صلة