Playcaller
An MCP server for Unity that lets AI verify implementations by performing tap, drag, and flick operations on the Game View.
Ask AI about Playcaller
Powered by Claude Β· Grounded in docs
I know everything about Playcaller. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Playcaller
An MCP server that lets AI agents play-test Unity games like a real player. It provides screenshot capture, input simulation (tap, drag, flick, key press), Play Mode control, and more β all accessible from AI agents.
In short, it's a Playwright MCP for Unity.
Features
- Game View screenshot capture
- Tap, drag, flick, and key input simulation
- Play Mode start / stop / pause
- Scene GameObject hierarchy inspection
- Console log retrieval
- AssetDatabase refresh
- Menu item execution
- Editor state retrieval
Limitations
- Not suited for testing fast-paced action games
- Not suited for evaluating overall game experience
- Not suited for judging visual effects quality
Requirements
- Unity 2022.3 or later
- Python 3.10 or later (uv recommended)
Setup
1. Install the Unity package
- Open Window > Package Manager in the Unity Editor menu bar
- Click the + button in the top-left corner
- Select Add package from git URL...
- Enter the following URL and click Add
https://github.com/takashicompany/playcaller.git
Newtonsoft.Json (com.unity.nuget.newtonsoft-json) will be installed automatically if not already present.
2. Register the MCP server
Run the following command:
claude mcp add playcaller -- uvx playcaller
If something doesn't work, try asking the AI for help.
3. Verify the connection
Launch Claude Code while the Unity Editor is open, and it will connect automatically.
Updating
Unity package
- Open Window > Package Manager
- Select Playcaller from the list
- Click Update
MCP server (PyPI)
uvx --upgrade playcaller
and restart Claude Code.
Notes
Run In Background
If the game does not progress after starting Play Mode via MCP, the project's "Run In Background" setting may be disabled. Enable it in Edit > Project Settings > Player > Resolution and Presentation > Run In Background, or set Application.runInBackground = true in your game code.
HDR projects
In URP/HDRP projects with HDR enabled, playcaller_screenshot may hang due to a known Unity issue. Use playcaller_read_gameview_pixels instead, which reads the GameView's internal buffer directly and works with HDR.
MCP Tools
| Tool | Description |
|---|---|
playcaller_screenshot | Capture a Game View screenshot |
playcaller_read_gameview_pixels | Capture Game View by reading internal buffer (HDR compatible) |
playcaller_tap | Tap at specified coordinates |
playcaller_multi_tap | Execute multiple taps in sequence |
playcaller_drag | Drag operation |
playcaller_flick | Flick (quick swipe) operation |
playcaller_key_press | Keyboard input |
playcaller_playmode | Start / stop / pause Play Mode |
playcaller_wait | Wait for a specified time or frame count |
playcaller_console_log | Retrieve Unity console logs |
playcaller_refresh | Refresh AssetDatabase |
playcaller_get_hierarchy | Get the GameObject hierarchy in the scene |
playcaller_get_gameobject | Get detailed info about a specific GameObject |
playcaller_execute_menu_item | Execute a Unity Editor menu item |
playcaller_get_editor_state | Get the current editor state |
playcaller_game_query | Send a custom query to the running game |
playcaller_set_game_view_size | Set the Game View resolution |
