Unreal MCP सर्वर: Blueprints और Claude सेटअप, चरण-दर-चरण
Unreal MCP सर्वर सेट करें ताकि Claude लाइव Unreal Engine 5 एडिटर के अंदर Blueprints बना सके, actors स्पॉन कर सके और assets एडिट कर सके। सर्वर चुनें, प्लगइन्स चालू करें, Claude Code या Desktop का कॉन्फ़िग लिखें और आम कनेक्शन एरर ठीक करें।
आप चैट विंडो में एक वाक्य लिखते हैं, और आपके Content Browser में एक Blueprint asset दिखाई देता है। Unreal MCP सर्वर का यही वादा है: एक छोटा ब्रिज प्रोग्राम जो Model Context Protocol के ज़रिए Claude को चल रहे Unreal Engine एडिटर से बात करने देता है। यह वादा असली है, लेकिन सेटअप में कुछ पेचीदा जगहें हैं। आपको दो एडिटर प्लगइन्स, एक या दो पोर्ट, एक JSON फ़ाइल और कुछ ऐसी सीमाओं से निपटना पड़ता है जिनका ज़िक्र तब तक कोई नहीं करता जब तक आप उनसे टकराते नहीं। यह लेख पूरी कड़ी को समझाता है, सही प्लगइन्स चालू करने से लेकर साफ़ Blueprints देने वाले प्रॉम्प्ट लिखने तक, और ईमानदारी से बताता है कि Claude अभी Blueprint graph के अंदर क्या नहीं कर सकता।
Unreal MCP सर्वर क्या करता है
MCP सर्वर एक ऐसा प्रोग्राम है जो AI क्लाइंट को टूल्स उपलब्ध कराता है। Claude को "create Blueprint", "spawn actor" या "run editor script" जैसा एक मेन्यू दिखता है, और जब भी आपके प्रॉम्प्ट को इंजन के अंदर कोई एक्शन चाहिए, वह उसी मेन्यू से चुनता है। Unreal की तरफ़ से काम सरल है, क्योंकि एडिटर पहले से ही बाहरी कमांड लेने के तरीके के साथ आता है। सर्वर Claude के टूल कॉल्स को उन कमांड्स में बदलता है और एडिटर का जवाब वापस भेजता है।
तीन चलने वाले हिस्से
आप कोई भी सर्वर चुनें, हर सेटअप में ये तीन हिस्से होते हैं:
हिस्सा
यह क्या है
कहाँ चलता है
Claude क्लाइंट
Claude Code या Claude Desktop
आपकी मशीन पर
MCP सर्वर
Python या Node ब्रिज प्रोग्राम
आपकी मशीन पर, क्लाइंट द्वारा शुरू किया गया
Unreal Editor
Python प्लगइन और remote execution या Remote Control API
आपकी मशीन पर, प्रोजेक्ट खुले होने के साथ
क्लाइंट सर्वर को एक child process के रूप में शुरू करता है और standard input और output के ज़रिए उससे बात करता है। सर्वर फिर localhost पर एडिटर तक पहुँचता है। आपके कंप्यूटर से कुछ बाहर नहीं जाता, सिवाय उन प्रॉम्प्ट्स के जो आप Claude को भेजते हैं।
इसके बजाय कोड पेस्ट क्यों न करें
बिना ब्रिज के, आप Claude से एक Python स्क्रिप्ट माँगते हैं, उसे कॉपी करते हैं, एडिटर के Python कंसोल में पेस्ट करते हैं, एरर पढ़ते हैं और एरर वापस कॉपी करते हैं। सर्वर के साथ, Claude स्क्रिप्ट खुद चलाता है, एडिटर का जवाब पढ़ता है और अपनी गलतियाँ खुद ठीक करता है। लूप बिना आपके बीच में आए पूरा हो जाता है।
Claude असली नतीजा देखता है, इसलिए गलत asset path तुरंत सुधर जाता है
200 assets का नाम बदलने जैसे दोहराव वाले काम एक ही प्रॉम्प्ट में सिमट जाते हैं
सेटअप के काम चैट संभालती है, जबकि आपके हाथ एडिटर के अंदर रहते हैं
बेहतर सर्वर एसेट के कामों से कहीं आगे जाते हैं। UEMCP के पेज के अनुसार Claude एक बातचीत से actors स्पॉन कर सकता है, materials बना सकता है, Blueprints लिख सकता है, assets मैनेज कर सकता है, viewport कैमरे को घुमा सकता है और screenshots ले सकता है। Screenshots सुनने में जितने मामूली लगते हैं, उससे कहीं ज़्यादा मायने रखते हैं: जब आपका क्लाइंट इमेज नतीजों को सपोर्ट करता है, तो Claude किसी बदलाव के बाद viewport देख सकता है और नतीजे की तुलना आपके अनुरोध से कर सकता है, केवल सफलता के संदेश पर भरोसा किए बिना।
पहले सही सर्वर चुनें
कई ओपन सोर्स सर्वर मौजूद हैं, और वे तीन अलग रास्तों से इंजन तक पहुँचते हैं। लोकप्रियता के आधार पर नहीं, बल्कि इस आधार पर चुनें कि आप कैसे काम करना पसंद करते हैं।
Python Remote Execution सर्वर
UEMCP इसका सबसे साफ़ उदाहरण है। यह इंजन के अंतर्निहित Python remote execution प्रोटोकॉल से बात करता है, वही multicast lookup और TCP कमांड चैनल जो Unreal के साथ आता है। इसके PyPI पेज पर Unreal Engine 5.0 से 5.6 और Python 3.10 या नए वर्ज़न लिखे हैं, और यह Blueprint टूल्स देता है जिनसे Blueprint बनाया जा सकता है, component जोड़ा जा सकता है और default property सेट की जा सकती है। कुछ भी compile नहीं करना पड़ता।
Remote Control API सर्वर
unreal-engine-mcp HTTP रास्ता अपनाता है। यह Remote Control API को एडिटर के भीतर चलने वाले Python के साथ जोड़ता है, और डिफ़ॉल्ट रूप से पोर्ट 30010 पर सुनता है। इसके पेज पर 162 टूल्स सूचीबद्ध हैं, जिनमें asset इम्पोर्ट, level बनाना, मटीरियल ग्राफ़, C++ class जनरेशन और पैकेजिंग शामिल हैं। इसमें Unreal Engine 5.8 पर टेस्टिंग होने की बात लिखी है। इसे कंपाइल करने की भी ज़रूरत नहीं है।
C++ प्लगइन सर्वर
कुछ प्रोजेक्ट एक C++ प्लगइन के साथ आते हैं जो एडिटर के अंदर एक socket खोलता है, और एक Python सर्वर उस socket से जुड़ता है। आपको गहरी पहुँच मिलती है, क्योंकि प्लगइन कोड उन एडिटर internals तक पहुँचता है जहाँ Python नहीं पहुँच सकता। कीमत यह है कि हर इंजन वर्ज़न के लिए build करना पड़ता है। UnrealMCP प्लगइन इसी तरह काम करता है: आप इसे अपने प्रोजेक्ट के Plugins फ़ोल्डर में डालते हैं, इसकी setup स्क्रिप्ट चलाते हैं, और Claude Desktop को इसकी run स्क्रिप्ट की ओर इशारा करते हैं।
रास्ता
Compile की ज़रूरत
कनेक्शन
सबसे अच्छा किसके लिए
Python remote execution
नहीं
UDP multicast lookup, फिर TCP
तेज़ सेटअप, एसेट के काम
Remote Control API
नहीं
पोर्ट 30010 पर HTTP
लंबी टूल सूची, level building
C++ प्लगइन
हाँ
Custom TCP socket
इंजन की गहरी पहुँच
💡 त्वरित चुनाव: अगर आपने कभी MCP सर्वर को छुआ नहीं है, तो Python remote execution रास्ता लें। इसे Claude Code में एक कमांड चाहिए और कंपाइलर की ज़रूरत नहीं। C++ प्लगइन पर तभी जाएँ जब कोई ऐसी दीवार मिले जिसे Python पार नहीं कर सकता।
Unreal Editor तैयार करें
दोनों no-compile रास्ते इंजन के साथ आने वाले प्लगइन्स पर निर्भर हैं। इन्हें हर प्रोजेक्ट के लिए एक बार चालू करें। किसी भी चीज़ से पहले अपने इंजन वर्ज़न की तुलना सर्वर की सूचीबद्ध रेंज से करें: UEMCP 5.0 से 5.6 लिखता है, जबकि Remote Control सर्वर 5.8 पर टेस्टिंग की रिपोर्ट देता है। सूची से बाहर के वर्ज़न पर, कुछ Python API कॉल्स अलग तरह से व्यवहार कर सकती हैं।
💡 स्क्रैच प्रोजेक्ट इस्तेमाल करें: अपना पहला सेशन उसी इंजन वर्ज़न वाले खाली प्रोजेक्ट पर चलाएँ। एक अस्थायी level की कोई कीमत नहीं चुकानी पड़ती, और कोई भी अनपेक्षित बात आपके असली assets से दूर रहती है।
प्लगइन्स चालू करें
एडिटर में Edit ▸ Plugins खोलें।
Python Editor Script Plugin खोजें और उस पर टिक लगाएँ।
Remote Control रास्ते पर, Remote Control API भी खोजें और उस पर टिक लगाएँ।
जब पूछा जाए, तो एडिटर को रीस्टार्ट करें।
Edit ▸ Project Settings खोलें, "remote execution" खोजें, और Enable Remote Execution चालू करें।
यह सेटिंग आपकी प्रोजेक्ट config में रहती है, इसलिए यह आप एक बार करते हैं। config बदलाव को source control में commit करें, ताकि टीम के साथी उसे विरासत में पा सकें।
वेब सर्वर शुरू करें
Remote Control रास्ते को अपना HTTP सर्वर चलाने की ज़रूरत होती है। Output Log में console खोलें और चलाएँ:
WebControl.StartServer
जब तक आपने बदला न हो, सर्वर पोर्ट 30010 पर जवाब देता है। टेस्ट करते समय एडिटर खुला और खाली रखें: कमांड एडिटर के अंदर चलते हैं, इसलिए शेडर compile करता हुआ व्यस्त एडिटर धीरे जवाब देता है। UEMCP का डिफ़ॉल्ट timeout प्रति कमांड 120 सेकंड है, जो उदार है पर असीमित नहीं।
Claude को एडिटर से जोड़ें
एडिटर तैयार होने पर, सर्वर को अपने Claude क्लाइंट में रजिस्टर करें। वह क्लाइंट चुनें जो आप पहले से इस्तेमाल करते हैं।
Claude Code में एक कमांड से
Python remote execution रास्ते के लिए:
claude mcp add unreal -- uvx uemcp
Remote Control रास्ते के लिए:
claude mcp add unreal-mcp -- python -m unreal_mcp.server
पहली कमांड को uv इंस्टॉल होना चाहिए, क्योंकि uvx पैकेज को मैनुअल इंस्टॉल के बिना चलाता है। यह पक्का करने के लिए कि सर्वर रजिस्टर हो गया है, claude mcp list चलाएँ, या सेशन के अंदर उसकी कनेक्शन स्थिति देखने के लिए /mcp टाइप करें।
Claude Desktop JSON कॉन्फ़िग
Settings ▸ Developer ▸ Edit Config खोलें। Windows पर फ़ाइल %APPDATA%\Claude\claude_desktop_config.json में होती है। mcpServers के अंतर्गत एक एंट्री जोड़ें:
Claude Desktop को सिर्फ़ विंडो नहीं, पूरी तरह बंद करें, फिर दोबारा खोलें।
💡 कॉमा पर ध्यान दें: एक बचा हुआ trailing comma या गायब brace पूरी फ़ाइल को अमान्य कर देता है, और सर्वर चुपचाप कभी दिखाई नहीं देता। रीस्टार्ट करने से पहले फ़ाइल को किसी भी JSON validator में पेस्ट करें।
सरल प्रॉम्प्ट से टेस्ट करें
पहले एडिटर में एक प्रोजेक्ट खोलें, फिर पूछें:
वर्तमान level के सभी actors की सूची दें और बताएँ कि उनमें से कितने lights हैं।
अगर Claude ऐसे नाम बताता है जो आपके World Outliner से मेल खाते हैं, तो पूरी कड़ी काम कर रही है। अगर वह कहता है कि उसके पास कोई Unreal टूल नहीं है, तो क्लाइंट ने सर्वर लोड ही नहीं किया, इसलिए एडिटर को छूने से पहले config दोबारा जाँचें।
चैट से Blueprints बनाएँ
जब कनेक्शन टिक जाए, तब असली काम शुरू होता है। Blueprint एक class है, और components व default values के साथ class बनाना ठीक वही संरचित काम है जिसे Claude टूल कॉल्स के ज़रिए अच्छी तरह संभालता है।
Claude आज क्या बना सकता है
Python-आधारित सर्वरों के ज़रिए, भरोसेमंद काम ये हैं:
Actor, Pawn या Character जैसी पैरेंट क्लास से Blueprint क्लास बनाना
कॉम्पोनेंट जोड़ना: स्टैटिक मेश, बॉक्स और स्फ़ियर कोलिज़न, पॉइंट लाइट
वेरिएबल, मेश, मटेरियल और कोलिज़न प्रीसेट के डिफ़ॉल्ट मान सेट करना
खुले लेवल में सटीक पोज़िशन पर 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 उसे कई टूल कॉल्स में बाँटता है, हर जवाब जाँचता है, और एडिटर से एरर आने पर दोबारा कोशिश करता है। जैसे-जैसे काम होता है, आप Content Browser में assets को एक-एक करके प्रकट होते हुए देखते हैं।
एक अच्छे पहले सेशन में चार चरण होते हैं:
केवल-पढ़ने वाली रिपोर्ट माँगें, जैसे "/Game/Blueprints में हर Blueprint की सूची दें"।
दो components वाला एक नया Blueprint माँगें।
उसे एडिटर में खोलें और Claude की रिपोर्ट से तुलना करें।
एक छोटा बदलाव माँगें, जैसे sphere radius बढ़ाना, और Details पैनल में मान की पुष्टि करें।
अगर चारों चरण काम करते हैं, तो आप जानते हैं कि पाइपलाइन पढ़ती है, लिखती है और जाँचती है। केवल तभी बड़े काम माँगें, जैसे प्रॉप्स से पूरे कमरे को सजाना।
जहाँ Blueprint graphs रुक जाते हैं
यह वह सीमा है जिसे ज़्यादातर ट्यूटोरियल छोड़ देते हैं। एक सर्वर का दस्तावेज़ साफ़ कहता है कि Blueprint node graphs को Python से नहीं लिखा जा सकता। Components, defaults और variables ठीक हैं। उस रास्ते पर Event Graph को node-by-node जोड़ना भरोसेमंद नहीं है।
इसका उपाय काम का साफ़ बँटवारा है। Claude logic को एक C++ parent class में लिखता है, और उसे UFUNCTION(BlueprintCallable) और BlueprintImplementableEvent के साथ expose करता है। आप compile करते हैं। फिर Claude एक Blueprint child बनाता है, उसके defaults सेट करता है, और उसे level में रखता है। graph छोटा रहता है, क्योंकि असली logic C++ में रहता है।
काम
केवल Python वाला रास्ता
C++ parent class के साथ
Components जोड़ना
भरोसेमंद
भरोसेमंद
Default values सेट करना
भरोसेमंद
भरोसेमंद
Event Graph nodes जोड़ना
भरोसेमंद नहीं
इसके बजाय C++ functions को कॉल करता है
दोबारा इस्तेमाल होने वाला logic
साझा करना मुश्किल
एक ही class में रहता है
नए सर्वर हाल के इंजन वर्ज़न पर सीधे Blueprint graph को पढ़ने और एडिट करने का दावा करते हैं। इसे उम्मीद भरा मानें और असली काम पर भरोसा करने से पहले इसे अपने प्रोजेक्ट की कॉपी पर टेस्ट करें।
Unreal में काम करने वाले प्रॉम्प्ट
टाइपिंग का काम सर्वर करता है। नतीजा फिर भी आपका प्रॉम्प्ट तय करता है। ये आदतें retry की दर को साफ़ तौर पर कम करती हैं:
हर asset और path का नाम लें। "/Game/Blueprints में BP_Pickup" "एक pickup" से बेहतर है।
एक बार में एक बदलाव माँगें। छोटे कदम जाँचने और वापस लेने में आसान होते हैं।
रिपोर्ट माँगकर खत्म करें। "बताइए आपने क्या बदला" आपको एडिटर से मिलाने के लिए एक checklist देता है।
अपना इंजन वर्ज़न बताएँ। Python API नाम रिलीज़ों के बीच बदलते हैं, इसलिए शुरू में ही "Unreal 5.6" लिखें।
Save रोके रखें। सभी assets save करने से पहले Claude से कहें कि नतीजे की समीक्षा होने तक रुके।
पहले commit करें। Git with LFS या Perforce इस्तेमाल करें, और हर सेशन से पहले commit करें, ताकि खराब रन एक revert की दूरी पर रहे।
अस्पष्ट प्रॉम्प्ट
बेहतर प्रॉम्प्ट
"एक दरवाज़ा बनाएँ"
"/Game/Props में BP_Door बनाओ, जिसमें DoorMesh नाम का static mesh component और 200 units चौड़ा box trigger हो। path की रिपोर्ट दो।"
"मेरी lighting ठीक करो"
"level की हर light उसकी intensity और mobility के साथ सूचीबद्ध करो। अभी कुछ मत बदलो।"
"assets साफ़ करो"
"/Game/Textures में 4096 pixels से बड़ी textures सूचीबद्ध करो। कुछ भी delete मत करो।"
💡 चार-लाइन टेम्पलेट: लक्ष्य, asset path, शर्तें, क्या रिपोर्ट करना है। इसे हर बार इस्तेमाल करें और आपके प्रॉम्प्ट छोटे और सटीक रहेंगे।
लंबे सेशन बहक जाते हैं। 20 या 30 टूल कॉल्स के बाद Claude को याद नहीं रहता कि कौन-से assets मौजूद हैं, और वह path अनुमान से लिखने लगता है। ऐसा हो तो एक नई चैट खोलें और मौजूदा स्थिति का छोटा सार चिपकाएँ: इस्तेमाल हो रहे फ़ोल्डर, Blueprint के नाम और नामकरण का नियम। दस पंक्तियों का सार दो घंटे के इतिहास से बेहतर है।
Enable Remote Execution फिर से जाँचें और एडिटर रीस्टार्ट करें
Timeouts
एडिटर शेडर या level load में व्यस्त है
एडिटर खाली होने तक रुकें, फिर दोबारा कोशिश करें
पोर्ट पहले से इस्तेमाल में
कोई दूसरा ऐप 30010 पर है
UE_MCP_PORT और Remote Control पोर्ट को मेल खाने के लिए बदलें
एडिटर कभी नहीं मिला
Firewall या VPN multicast को रोक रहा है
239.0.0.1:6766 पर UDP की अनुमति दें या VPN रोकें
जब कुछ विफल हो, तो पहले एडिटर का Output Log पढ़ें। Remote कमांड्स की Python एरर वहीं छपती हैं, और Claude को समस्या ठीक करने के लिए अक्सर वही सटीक टेक्स्ट चाहिए होता है। अगर आपके क्लाइंट ने एरर आगे नहीं भेजी, तो उसे खुद चैट में पेस्ट करें।
एक सर्वर का दस्तावेज़ यह भी इशारा करता है कि जब remote execution बंद ही रहे, तो bEnableRemotePythonExecution=True में DefaultRemoteControl.ini देखें, इसलिए ऊपर की checklist से समस्या न सुलझे तो वह फ़ाइल जाँचें।
कनेक्शन को सुरक्षित करें
UEMCP का अपना पेज चेतावनी देता है कि remote execution प्रोटोकॉल में कोई authentication नहीं है। जो भी पोर्ट तक पहुँच सकता है, वह आपके एडिटर के अंदर Python चला सकता है। कनेक्शन को localhost पर रखें, पोर्ट को साझा office Wi-Fi पर कभी खुला न छोड़ें, और अगर आपकी मशीन ऐसे नेटवर्क पर है जिसे आप नियंत्रित नहीं करते, तो firewall नियम जोड़ें। Claude Code भी टूल कॉल्स से पहले अनुमति माँगता है, इसलिए किसी भी ऐसे प्रॉम्प्ट को मंज़ूरी देने से पहले पढ़ें जो मनमाना Python चलाता हो।
PicassoIA के साथ आज़माएँ
एक Unreal प्रोजेक्ट को सिर्फ़ Blueprints से ज़्यादा चाहिए। उसे design specs, level briefs और reference art चाहिए, और PicassoIA ब्राउज़र में उस हिस्से को संभालता है।
PicassoIA पर Claude Sonnet 5 इस्तेमाल करें
पहले PicassoIA पर सिस्टम की योजना बनाएँ, फिर साफ़ नतीजा अपने Unreal सेशन को सौंपें। Claude Sonnet 5 के साथ दिनचर्या यह है:
PicassoIA पर Claude Sonnet 5 पेज खोलें।
लक्ष्य सरल शब्दों में लिखें: "एक pickup actor जो घूमता है, आवाज़ चलाता है और overlap पर खुद को destroy कर देता है। Unreal 5.6।"
components, variables, events और asset paths वाली एक क्रमांकित spec माँगें।
हर spec पंक्ति को एक स्वतंत्र प्रॉम्प्ट में बदलने को कहें, जो "बताइए आपने क्या बदला" पर खत्म हो।
वे प्रॉम्प्ट एक-एक करके अपने Claude Code सेशन में चिपकाएँ, जो Unreal MCP सर्वर से जुड़ा हो।
दो पैरामीटर सुझाव: हर रन में अनुरोध को एक ही system तक सीमित रखें, और पहले वाक्य में इंजन वर्ज़न लिखें। बड़े gameplay system के लिए Claude Fable 5 या Claude Opus 4.7 आज़माएँ, और C++ headers के तेज़ ड्राफ़्ट के लिए Gemini 3.5 Flash जल्दी काम करता है।
Claude से आँगन, जहाज़ के अंदरूनी हिस्से या जंगल के खुले मैदान बनवाने से पहले, सबको mood की एक जैसी तस्वीर दें। PicassoIA पर Seedream 5 Pro, GPT Image 2 और Flux 2 Pro जैसे इमेज मॉडल एक वाक्य को सेकंडों में फोटोरियलिस्टिक reference frame में बदल देते हैं। ये 2D इमेज बनाते हैं, इसलिए इन्हें lighting, materials और set dressing के लिए visual brief की तरह इस्तेमाल करें, फिर Claude से level को उसके मेल में बनवाएँ।
अपने मौजूदा Unreal प्रोजेक्ट का एक सीन चुनें और उसका एक पैराग्राफ़ का विवरण लिखें। PicassoIA खोलें, उसी पैराग्राफ़ से तीन reference images बनाएँ, और जो सही लगे उसे रखें। उसका विवरण अपने अगले Claude प्रॉम्प्ट में डालें, और देखें कि पहली कोशिश कितनी करीब बैठती है। जिस पल प्रॉम्प्ट और तस्वीरें एक-दूसरे से मेल खाने लगती हैं, आपकी पाइपलाइन उसी पल तेज़ हो जाती है।