@comecaramelos/dsh-unity-mcp
Connects DSH to the Unity MCP server — the unity-ai-relay executable the
Unity AI Assistant package (com.unity.ai.assistant) installs — through the
stock @deepseek-ai/dsh-mcp-client stdio bridge, plus a settings/status card in
the Web GUI.
Every tool the relay registers is exposed as a normal mcp__unity__* tool.
Install
dsh plugin --profile web add @comecaramelos/dsh-unity-mcp
The plugin does not download anything: it launches the unity-ai-relay
executable your Unity Editor installed. Install the
Unity AI Assistant
package first, and keep a Unity Editor running — the relay is the Editor's
side-channel, so an Editor that is not running answers
No Unity Editor connected.
Configuration
Settings live under Settings → Plugins → Plugin configuration → DSH Unity MCP.
- Unity relay executable — the executable the bridge launches. Open the picker, hit Fetch executables to search this machine (the search also walks every Windows user profile visible from a WSL host), and pick one. The pick is remembered; applying a different one restarts the connection.
- Extra flags — one flag per row, appended after the
--mcpmode flag the bridge always passes, for example--project-path=/home/roberto/game,--name=MyProject,--log-level=debug. - Reduce log output — keeps the relay's own progress lines out of the DSH console by redirecting its stderr into a log file (turn it off to debug the raw output).
Nothing is picked for you: what the saved rows list is what you can pick, and a path you picked stays picked — if it later stops running it reads broken, it is never silently re-resolved.
Windows relay from WSL
A Windows relay launched through the WSL interop mount works like a native one:
it speaks MCP over stdio, so nothing about the connection changes. The card says
so when that is what is running, and reminds you to keep the relay's arguments
(--log-dir, and --project-path when you pin a project) in their Windows
spelling — the relay resolves them on the Windows side.
Row configuration
For a per-profile pin, edit the plugin row's config:
| Key | Default | Meaning |
|---|---|---|
serverName |
unity |
the bridge's server namespace (tool names are mcp__<serverName>__<tool>) |
relayPath |
"" |
the executable to launch when the card has never picked one |
relayPaths |
the platform's relay locations | the candidate list the Search executables run probes |
extraFlags |
[] |
flags appended after the --mcp mode flag |
command |
"" |
a launcher prefix to wrap the spawn with (the relay needs no wrapper) |
env / cwd |
{} / "" |
passed through to the bridge |
toolCallTimeoutMs |
60000 |
per-tool-call timeout |
failOnStartupError |
false |
fail the load when the bridge cannot start |
reconnect |
{ enabled: true, initialDelayMs: 500, maxDelayMs: 30000, maxAttempts: 10 } |
reconnect policy |
bridgeStderr |
"log" |
console-output routing: "log" captures stderr into a log file, "console" echoes it |
bridgeStderrLog |
"" |
log path override for "log" mode (absolute paths only) |
The environment variable DSH_UNITY_MCP_FLAGS (whitespace-separated) seeds the
launch flags for one run.
Manual installation
Replace /path/to/dsh-unity-mcp with your local checkout:
mkdir -p ~/.dsh/profiles/web/node_modules/@comecaramelos
ln -s /path/to/dsh-unity-mcp ~/.dsh/profiles/web/node_modules/@comecaramelos/dsh-unity-mcp
Add the dependency and bundle to ~/.dsh/profiles/web/package.json, preserving
existing entries:
{
"dependencies": {
"@comecaramelos/dsh-unity-mcp": "link:/path/to/dsh-unity-mcp"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@comecaramelos/dsh-unity-mcp"
]
}
}
}
No comments yet. Be the first to write one.