vbot_crud
Manage virtual robots in Unity or VRChat by creating, reading, updating, deleting, and listing them with support for multiple robot types including Scout, Go2, G1, and custom models.
Instructions
CRUD operations for virtual robots (vbots).
This tool provides complete lifecycle management for virtual robots:
Create: Spawn and register a new virtual robot
Read: Get details of an existing virtual robot
Update: Modify virtual robot properties (scale, position, metadata, etc.)
Delete: Remove and unregister a virtual robot
List: List all virtual robots with optional filtering
Supported robot types:
"scout": Moorebot Scout (mecanum wheels, indoor)
"scout_e": Moorebot Scout E (tracked, waterproof, outdoor)
"go2": Unitree Go2 (quadruped)
"g1": Unitree G1 (humanoid with arms)
"robbie": Robbie from Forbidden Planet (classic sci-fi robot)
"custom": Custom robot type (requires model_path)
Args: operation: CRUD operation to perform: - "create": Create/spawn a new virtual robot - "read": Read/get details of an existing virtual robot - "update": Update properties of an existing virtual robot - "delete": Delete/remove a virtual robot - "list": List all virtual robots (optionally filtered) robot_type: Type of robot (required for "create", optional for "list"). Must be one of: "scout", "scout_e", "go2", "g1", "robbie", "custom". robot_id: Virtual robot identifier (required for "read", "update", "delete"). Auto-generated for "create" if not provided. platform: Target platform ("unity" or "vrchat"). Default: "unity". position: Spawn/update position (x, y, z) for "create" or "update". scale: Size multiplier for "create" or "update" (e.g., 1.0 = original size). metadata: Additional metadata dictionary for "create" or "update". model_path: Path to 3D model file (.glb, .fbx, .vrm) for "create" with "custom" robot_type.
Returns: Dictionary containing operation result with robot details.
Examples: Create a Scout vbot: result = await vbot_crud( operation="create", robot_type="scout", platform="unity", position={"x": 0.0, "y": 0.0, "z": 0.0}, scale=1.0 )
Create Robbie from Forbidden Planet:
result = await vbot_crud(
operation="create",
robot_type="robbie",
platform="unity",
position={"x": 1.0, "y": 0.0, "z": 1.0},
scale=1.0
)
Read vbot details:
result = await vbot_crud(
operation="read",
robot_id="vbot_scout_01"
)
Update vbot scale and position:
result = await vbot_crud(
operation="update",
robot_id="vbot_scout_01",
scale=1.5,
position={"x": 2.0, "y": 0.0, "z": 2.0}
)
Delete a vbot:
result = await vbot_crud(
operation="delete",
robot_id="vbot_scout_01"
)
List all vbots:
result = await vbot_crud(operation="list")
List only Scout vbots:
result = await vbot_crud(
operation="list",
robot_type="scout"
)Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| operation | Yes | ||
| robot_type | No | ||
| robot_id | No | ||
| platform | No | unity | |
| position | No | ||
| scale | No | ||
| metadata | No | ||
| model_path | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||