>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
C-sharp

Hoe Claude en Cursor Direct te Verbinden met Unity via MCP

https://github.com/IvanMurzak/Unity-MCP/raw/main/docs/img/promo/ai-developer-banner.jpg

De meeste ontwikkelaars zijn gewend om neurale netwerken te behandelen als een slim klembord. We kopiëren een fout uit de console naar een chat met een model, krijgen een gecorrigeerd C#-script terug en plakken het in het project. Maar wanneer je meer moet doen dan alleen een klasse herschrijven—wanneer je dertig prefabs in een cirkel moet plaatsen, een dozijn materialen moet maken, of snel tests direct in de editor moet uitvoeren—begint zo'n heen-en-weer te veel tijd te kosten.

De repository Unity-MCP lost deze routine fundamenteel op. Het project verbindt Unity met populaire assistenten via het Model Context Protocol. Dit is een open standaard van Anthropic die een taalmodel transformeert van een passieve adviseur naar een actieve uitvoerder binnen je ontwikkelomgeving.

https://github. com/IvanMurzak/Unity-MCP/blob/main/docs/img/editor/ai-game-developer-windows. png?raw=true

Wat Unity en MCP Samen Kunnen Doen

De repository bevat meer dan 70 kant-en-klare tools, georganiseerd in logische groepen. De assistent krijgt toegang tot de bestandsstructuur, scene-hiërarchie, Roslyn-compiler en zelfs de profiler.

Je kunt in Cursor of Claude Code een eenvoudige zin schrijven: "Maak drie bollen op elkaar gestapeld en pas er een gouden metallic materiaal op toe." Het model roept zelf de benodigde API's aan, maakt het materiaal-asset, configureert de shader-parameters en voegt de objecten toe aan de scene.

https://github. com/IvanMurzak/Unity-MCP/blob/main/docs/img/editor/setup-skills. jpg?raw=true

Hier zijn de belangrijkste groepen van bewerkingen die de plugin afhandelt:

  • Assets en packages beheren via UPM
  • GameObjects, componenten en prefabs manipuleren
  • Tests uitvoeren in EditMode en PlayMode met rapportage terug naar de chat
  • Dynamische C#-code-uitvoering via Roslyn zonder lange hercompilatie
  • Screenshots vastleggen van de camera of Scene View voor visuele resultaatevaluatie
  • Prestatie- en geheugenmetrieken verzamelen via de ingebouwde profiler

Reflection-ondersteuning is bijzonder handig. Het neurale netwerk kan methoden in de codebase vinden en aanroepen met de vereiste argumenten, zelfs als die methoden privé zijn of zich in externe DLL's bevinden.

Hoe de Server en Gegevensuitwisseling Werken

De architectuur bestaat uit twee delen: een C#-plugin voor Unity en een aparte MCP-server die draait als binary of Docker-container. De client (bijvoorbeeld Claude Desktop of VS Code) communiceert met de server via het stdio- of HTTP-protocol, en de server geeft commando's door aan de draaiende Unity-instantie.

https://github. com/IvanMurzak/Unity-MCP/raw/main/docs/ai-connector-window. gif

Snelle Start via CLI

Het project bevat een handige CLI-package die plugin-installatie en skill-generatie voor modellen automatiseert:

npm install -g unity-mcp-cli
unity-mcp-cli install-plugin ./MyUnityProject
unity-mcp-cli open ./MyUnityProject

Als CLI niet jouw ding is, kun je een kant-en-klare .unitypackage downloaden van GitHub releases of de package toevoegen via OpenUPM.

Let op de strikte padvereiste. Het pad naar je Unity-project mag geen spaties bevatten, anders weigert de lokale server simpelweg te werken.

Aangepaste Tools Maken

De plugin is eenvoudig uit te breiden. Om het neurale netwerk toegang te geven tot de specifieke logica van je game, hoef je alleen maar een reguliere C#-methode te schrijven en deze te markeren met de attributen AiToolType en AiTool.

Alle aanroepen naar de Unity API moeten worden gewrapped in main thread-uitvoering, omdat inkomende verzoeken van de server aankomen op een achtergrondthread:

[AiToolType]
public class LevelBuildingTools
{
    [AiTool("spawn-enemy-wave", Title = "Spawn Enemy Wave")]
    [Description("Спавнит волну врагов заданного типа в указанных координатах")]
    public string SpawnWave(
        [Description("Имя префаба врага")] string enemyType,
        [Description("Количество врагов")] int count
    )
    {
        return MainThread.Instance.Run(() =>
        {
            EnemySpawner.Instance.Spawn(enemyType, count);
            return $"Успешно заспавнено {count} врагов типа {enemyType}";
        });
    }
}

De attributen Description spelen een cruciale rol. Het model leest deze beschrijvingen om te begrijpen wanneer de tool moet worden aangeroepen en welke gegevenstypen als argumenten moeten worden doorgegeven.

Werken in Runtime en Builds

De meeste vergelijkbare integraties zijn beperkt tot Editor-modus. De auteur van Unity- MCP ging verder en voegde een runtime-client toe. Je kunt de server rechtstreeks insluiten in een gebouwde game om de NPC-besturing over te dragen aan een taalmodel.

Dit is hoe initialisatie van de runtime-plugin in code eruitziet:

var mcpPlugin = UnityMcpPluginRuntime.Initialize(builder =>
    {
        builder.WithConfig(config =>
        {
            config.Host = "http://localhost:8080";
            config.Token = "your-token";
        });
        builder.WithToolsFromAssembly(Assembly.GetExecutingAssembly());
    })
    .Build();

await mcpPlugin.Connect();

De repository bevat een schaakbot-voorbeeld waarbij alle zetlogica wordt gedelegeerd naar een externe LLM. Het model vraagt de huidige bordstatus op via een MCP Tool en stuurt de volgende zet terug.

Praktische Scenario's

In de praktijk toont de tool zijn beste resultaten in drie gebieden:

Ten eerste routinematige level- en UI-layout. Een basisscene samenstellen uit een tekstbeschrijving is vele malen sneller dan primitieven handmatig plaatsen.

Ten tweede geautomatiseerde tests en bugopsporing. Het model kan EditMode-tests uitvoeren, de stack trace van een mislukte test lezen, het bronscript openen, de fout herstellen en de verificatie opnieuw uitvoeren.

Ten derde profilering. Geheugen- en rendering-tools leveren nauwkeurige frame-tijdnummers direct in de context van het model, wat helpt om bottlenecks snel te lokaliseren.

Voor Wie Dit Project Nu Nuttig Is

Als je solo prototypen maakt of een klein indie-project runt, zal Unity-MCP veel tijd besparen op routinetaken. De instapdrempel is minimaal: installeer de CLI, kies je favoriete code-editor en je hebt meteen een werkende assistent met toegang tot de scene.

Voor enterprise-teams met tientallen ontwikkelaars zal de oplossing wat zorgvuldigheid vereisen. Je zult configuraties moeten vergrendelen via projectinstellingen en toegangsrechten moeten monitoren als de server extern in Docker wordt geïmplementeerd. De repository wordt actief ontwikkeld, gebruikt de open Apache 2.0-licentie en verwelkomt pull requests.

Gerelateerde projecten