flockbay 0.10.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -0
- package/bin/flockbay-mcp.mjs +56 -0
- package/bin/flockbay.mjs +78 -0
- package/dist/codex/flockbayMcpStdioBridge.cjs +383 -0
- package/dist/codex/flockbayMcpStdioBridge.d.cts +2 -0
- package/dist/codex/flockbayMcpStdioBridge.d.mts +2 -0
- package/dist/codex/flockbayMcpStdioBridge.mjs +381 -0
- package/dist/flockbayScreenshotGate-DJX3Is5d.mjs +136 -0
- package/dist/flockbayScreenshotGate-DkxU24cR.cjs +138 -0
- package/dist/index--o4BPz5o.cjs +10311 -0
- package/dist/index-CUp3juDS.mjs +10268 -0
- package/dist/index.cjs +43 -0
- package/dist/index.d.cts +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +40 -0
- package/dist/lib.cjs +33 -0
- package/dist/lib.d.cts +957 -0
- package/dist/lib.d.mts +957 -0
- package/dist/lib.mjs +23 -0
- package/dist/runCodex-D3eT-TvB.cjs +3449 -0
- package/dist/runCodex-o6PCbHQ7.mjs +3446 -0
- package/dist/runGemini-Bt0oEj_g.mjs +3183 -0
- package/dist/runGemini-CBxZp6I7.cjs +3185 -0
- package/dist/types-C-jnUdn_.cjs +4498 -0
- package/dist/types-DGd6ea2Z.mjs +4450 -0
- package/kits/kit.open_world/kit.json +59 -0
- package/package.json +130 -0
- package/scripts/claude_local_launcher.cjs +73 -0
- package/scripts/claude_remote_launcher.cjs +16 -0
- package/scripts/claude_version_utils.cjs +391 -0
- package/scripts/ripgrep_launcher.cjs +33 -0
- package/scripts/session_hook_forwarder.cjs +49 -0
- package/scripts/test-codex-abort-history.mjs +77 -0
- package/scripts/unpack-tools.cjs +222 -0
- package/tools/licenses/difftastic-LICENSE +21 -0
- package/tools/licenses/ripgrep-LICENSE +3 -0
- package/tools/unreal-mcp/UPSTREAM_VERSION.md +8 -0
- package/tools/unreal-mcp/upstream/Docs/README.md +8 -0
- package/tools/unreal-mcp/upstream/Docs/Tools/README.md +7 -0
- package/tools/unreal-mcp/upstream/Docs/Tools/actor_tools.md +184 -0
- package/tools/unreal-mcp/upstream/Docs/Tools/blueprint_tools.md +268 -0
- package/tools/unreal-mcp/upstream/Docs/Tools/editor_tools.md +104 -0
- package/tools/unreal-mcp/upstream/Docs/Tools/node_tools.md +274 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Config/FilterPlugin.ini +8 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Private/Commands/UnrealMCPBlueprintCommands.cpp +1160 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Private/Commands/UnrealMCPBlueprintNodeCommands.cpp +924 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Private/Commands/UnrealMCPCommonUtils.cpp +709 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Private/Commands/UnrealMCPEditorCommands.cpp +896 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Private/Commands/UnrealMCPProjectCommands.cpp +72 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Private/Commands/UnrealMCPUMGCommands.cpp +544 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Private/MCPServerRunnable.cpp +321 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Private/UnrealMCPBridge.cpp +419 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Private/UnrealMCPModule.cpp +21 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Public/Commands/UnrealMCPBlueprintCommands.h +34 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Public/Commands/UnrealMCPBlueprintNodeCommands.h +27 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Public/Commands/UnrealMCPCommonUtils.h +59 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Public/Commands/UnrealMCPEditorCommands.h +40 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Public/Commands/UnrealMCPProjectCommands.h +20 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Public/Commands/UnrealMCPUMGCommands.h +82 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Public/MCPServerRunnable.h +34 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Public/UnrealMCPBridge.h +64 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/Public/UnrealMCPModule.h +22 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/Source/UnrealMCP/UnrealMCP.Build.cs +78 -0
- package/tools/unreal-mcp/upstream/MCPGameProject/Plugins/UnrealMCP/UnrealMCP.uplugin +36 -0
- package/tools/unreal-mcp/upstream/Python/README.md +40 -0
- package/tools/unreal-mcp/upstream/Python/pyproject.toml +22 -0
- package/tools/unreal-mcp/upstream/Python/scripts/actors/test_cube.py +203 -0
- package/tools/unreal-mcp/upstream/Python/scripts/blueprints/test_create_and_spawn_blueprints_with_different_components.py +497 -0
- package/tools/unreal-mcp/upstream/Python/scripts/blueprints/test_create_and_spawn_cube_blueprint.py +194 -0
- package/tools/unreal-mcp/upstream/Python/scripts/node/test_component_reference.py +267 -0
- package/tools/unreal-mcp/upstream/Python/scripts/node/test_create_bird_blueprint_with_input_and_camera.py +618 -0
- package/tools/unreal-mcp/upstream/Python/scripts/node/test_input_mapping.py +366 -0
- package/tools/unreal-mcp/upstream/Python/scripts/node/test_physics_variables.py +390 -0
- package/tools/unreal-mcp/upstream/Python/tools/blueprint_tools.py +420 -0
- package/tools/unreal-mcp/upstream/Python/tools/editor_tools.py +369 -0
- package/tools/unreal-mcp/upstream/Python/tools/node_tools.py +430 -0
- package/tools/unreal-mcp/upstream/Python/tools/project_tools.py +64 -0
- package/tools/unreal-mcp/upstream/Python/tools/umg_tools.py +333 -0
- package/tools/unreal-mcp/upstream/Python/unreal_mcp_server.py +398 -0
- package/tools/unreal-mcp/upstream/Python/uv.lock +521 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
# Unreal MCP Blueprint Tools
|
|
2
|
+
|
|
3
|
+
This document provides detailed information about the Blueprint tools available in the Unreal MCP integration.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Blueprint tools allow you to create and manipulate Blueprint assets in Unreal Engine, including creating new Blueprint classes, adding components, setting properties, and spawning Blueprint actors in the level.
|
|
8
|
+
|
|
9
|
+
## Blueprint Tools
|
|
10
|
+
|
|
11
|
+
### create_blueprint
|
|
12
|
+
|
|
13
|
+
Create a new Blueprint class.
|
|
14
|
+
|
|
15
|
+
**Parameters:**
|
|
16
|
+
- `name` (string) - The name for the new Blueprint class
|
|
17
|
+
- `parent_class` (string) - The parent class for the Blueprint
|
|
18
|
+
|
|
19
|
+
**Returns:**
|
|
20
|
+
- Information about the created Blueprint including success status and message
|
|
21
|
+
|
|
22
|
+
**Example:**
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"command": "create_blueprint",
|
|
26
|
+
"params": {
|
|
27
|
+
"name": "MyActor",
|
|
28
|
+
"parent_class": "Actor"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### add_component_to_blueprint
|
|
34
|
+
|
|
35
|
+
Add a component to a Blueprint.
|
|
36
|
+
|
|
37
|
+
**Parameters:**
|
|
38
|
+
- `blueprint_name` (string) - The name of the Blueprint
|
|
39
|
+
- `component_type` (string) - The type of component to add (use component class name without U prefix)
|
|
40
|
+
- `component_name` (string) - The name for the new component
|
|
41
|
+
- `location` (array, optional) - [X, Y, Z] coordinates for component's position, defaults to [0, 0, 0]
|
|
42
|
+
- `rotation` (array, optional) - [Pitch, Yaw, Roll] values for component's rotation, defaults to [0, 0, 0]
|
|
43
|
+
- `scale` (array, optional) - [X, Y, Z] values for component's scale, defaults to [1, 1, 1]
|
|
44
|
+
- `component_properties` (object, optional) - Additional properties to set on the component
|
|
45
|
+
|
|
46
|
+
**Returns:**
|
|
47
|
+
- Information about the added component including success status and message
|
|
48
|
+
|
|
49
|
+
**Example:**
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"command": "add_component_to_blueprint",
|
|
53
|
+
"params": {
|
|
54
|
+
"blueprint_name": "MyActor",
|
|
55
|
+
"component_type": "StaticMeshComponent",
|
|
56
|
+
"component_name": "Mesh",
|
|
57
|
+
"location": [0, 0, 0],
|
|
58
|
+
"rotation": [0, 0, 0],
|
|
59
|
+
"scale": [1, 1, 1],
|
|
60
|
+
"component_properties": {
|
|
61
|
+
"bVisible": true
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### set_static_mesh_properties
|
|
68
|
+
|
|
69
|
+
Set the mesh for a StaticMeshComponent.
|
|
70
|
+
|
|
71
|
+
**Parameters:**
|
|
72
|
+
- `blueprint_name` (string) - The name of the Blueprint
|
|
73
|
+
- `component_name` (string) - The name of the StaticMeshComponent
|
|
74
|
+
- `static_mesh` (string, default: "/Engine/BasicShapes/Cube.Cube") - Path to the static mesh asset
|
|
75
|
+
|
|
76
|
+
**Returns:**
|
|
77
|
+
- Result of the mesh setting operation including success status and message
|
|
78
|
+
|
|
79
|
+
**Example:**
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"command": "set_static_mesh_properties",
|
|
83
|
+
"params": {
|
|
84
|
+
"blueprint_name": "MyActor",
|
|
85
|
+
"component_name": "Mesh",
|
|
86
|
+
"static_mesh": "/Engine/BasicShapes/Sphere.Sphere"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### set_component_property
|
|
92
|
+
|
|
93
|
+
Set a property on a component in a Blueprint.
|
|
94
|
+
|
|
95
|
+
**Parameters:**
|
|
96
|
+
- `blueprint_name` (string) - The name of the Blueprint
|
|
97
|
+
- `component_name` (string) - The name of the component
|
|
98
|
+
- `property_name` (string) - The name of the property to set
|
|
99
|
+
- `property_value` (any) - The value to set for the property
|
|
100
|
+
|
|
101
|
+
**Returns:**
|
|
102
|
+
- Result of the property setting operation including success status and message
|
|
103
|
+
|
|
104
|
+
**Example:**
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"command": "set_component_property",
|
|
108
|
+
"params": {
|
|
109
|
+
"blueprint_name": "MyActor",
|
|
110
|
+
"component_name": "Mesh",
|
|
111
|
+
"property_name": "StaticMesh",
|
|
112
|
+
"property_value": "/Game/StarterContent/Shapes/Shape_Cube.Shape_Cube"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### set_physics_properties
|
|
118
|
+
|
|
119
|
+
Set physics properties on a component.
|
|
120
|
+
|
|
121
|
+
**Parameters:**
|
|
122
|
+
- `blueprint_name` (string) - The name of the Blueprint
|
|
123
|
+
- `component_name` (string) - The name of the component
|
|
124
|
+
- `simulate_physics` (boolean, optional) - Whether to simulate physics, defaults to true
|
|
125
|
+
- `gravity_enabled` (boolean, optional) - Whether gravity is enabled, defaults to true
|
|
126
|
+
- `mass` (float, optional) - The mass of the component, defaults to 1.0
|
|
127
|
+
- `linear_damping` (float, optional) - Linear damping value, defaults to 0.01
|
|
128
|
+
- `angular_damping` (float, optional) - Angular damping value, defaults to 0.0
|
|
129
|
+
|
|
130
|
+
**Returns:**
|
|
131
|
+
- Result of the physics properties setting operation including success status and message
|
|
132
|
+
|
|
133
|
+
**Example:**
|
|
134
|
+
```json
|
|
135
|
+
{
|
|
136
|
+
"command": "set_physics_properties",
|
|
137
|
+
"params": {
|
|
138
|
+
"blueprint_name": "MyActor",
|
|
139
|
+
"component_name": "Mesh",
|
|
140
|
+
"simulate_physics": true,
|
|
141
|
+
"gravity_enabled": true,
|
|
142
|
+
"mass": 10.0,
|
|
143
|
+
"linear_damping": 0.05,
|
|
144
|
+
"angular_damping": 0.1
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### compile_blueprint
|
|
150
|
+
|
|
151
|
+
Compile a Blueprint.
|
|
152
|
+
|
|
153
|
+
**Parameters:**
|
|
154
|
+
- `blueprint_name` (string) - The name of the Blueprint to compile
|
|
155
|
+
|
|
156
|
+
**Returns:**
|
|
157
|
+
- Result of the compilation operation including success status and message
|
|
158
|
+
|
|
159
|
+
**Example:**
|
|
160
|
+
```json
|
|
161
|
+
{
|
|
162
|
+
"command": "compile_blueprint",
|
|
163
|
+
"params": {
|
|
164
|
+
"blueprint_name": "MyActor"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### set_blueprint_property
|
|
170
|
+
|
|
171
|
+
Set a property on a Blueprint class default object.
|
|
172
|
+
|
|
173
|
+
**Parameters:**
|
|
174
|
+
- `blueprint_name` (string) - The name of the Blueprint
|
|
175
|
+
- `property_name` (string) - The name of the property to set
|
|
176
|
+
- `property_value` (any) - The value to set for the property
|
|
177
|
+
|
|
178
|
+
**Returns:**
|
|
179
|
+
- Result of the property setting operation including success status and message
|
|
180
|
+
|
|
181
|
+
**Example:**
|
|
182
|
+
```json
|
|
183
|
+
{
|
|
184
|
+
"command": "set_blueprint_property",
|
|
185
|
+
"params": {
|
|
186
|
+
"blueprint_name": "MyActor",
|
|
187
|
+
"property_name": "bCanBeDamaged",
|
|
188
|
+
"property_value": true
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### set_pawn_properties
|
|
194
|
+
|
|
195
|
+
Set common Pawn properties on a Blueprint.
|
|
196
|
+
|
|
197
|
+
**Parameters:**
|
|
198
|
+
- `blueprint_name` (string) - Name of the target Blueprint (must be a Pawn or Character)
|
|
199
|
+
- `auto_possess_player` (string, optional) - Auto possess player setting (None, "Disabled", "Player0", "Player1", etc.), defaults to empty string
|
|
200
|
+
- `use_controller_rotation_yaw` (boolean, optional) - Whether the pawn should use the controller's yaw rotation, defaults to false
|
|
201
|
+
- `use_controller_rotation_pitch` (boolean, optional) - Whether the pawn should use the controller's pitch rotation, defaults to false
|
|
202
|
+
- `use_controller_rotation_roll` (boolean, optional) - Whether the pawn should use the controller's roll rotation, defaults to false
|
|
203
|
+
- `can_be_damaged` (boolean, optional) - Whether the pawn can be damaged, defaults to true
|
|
204
|
+
|
|
205
|
+
**Returns:**
|
|
206
|
+
- Response indicating success or failure with detailed results for each property
|
|
207
|
+
|
|
208
|
+
**Example:**
|
|
209
|
+
```json
|
|
210
|
+
{
|
|
211
|
+
"command": "set_pawn_properties",
|
|
212
|
+
"params": {
|
|
213
|
+
"blueprint_name": "MyPawn",
|
|
214
|
+
"auto_possess_player": "Player0",
|
|
215
|
+
"use_controller_rotation_yaw": true,
|
|
216
|
+
"can_be_damaged": true
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### spawn_blueprint_actor
|
|
222
|
+
|
|
223
|
+
Spawn an actor from a Blueprint.
|
|
224
|
+
|
|
225
|
+
**Parameters:**
|
|
226
|
+
- `blueprint_name` (string) - The name of the Blueprint to spawn
|
|
227
|
+
- `actor_name` (string) - The name for the spawned actor
|
|
228
|
+
- `location` (array, optional) - [X, Y, Z] coordinates for the actor's position, defaults to [0, 0, 0]
|
|
229
|
+
- `rotation` (array, optional) - [Pitch, Yaw, Roll] values for the actor's rotation, defaults to [0, 0, 0]
|
|
230
|
+
- `scale` (array, optional) - [X, Y, Z] values for the actor's scale, defaults to [1, 1, 1]
|
|
231
|
+
|
|
232
|
+
**Returns:**
|
|
233
|
+
- Information about the spawned actor including success status and message
|
|
234
|
+
|
|
235
|
+
**Example:**
|
|
236
|
+
```json
|
|
237
|
+
{
|
|
238
|
+
"command": "spawn_blueprint_actor",
|
|
239
|
+
"params": {
|
|
240
|
+
"blueprint_name": "MyActor",
|
|
241
|
+
"actor_name": "MyActorInstance",
|
|
242
|
+
"location": [0, 0, 100],
|
|
243
|
+
"rotation": [0, 45, 0],
|
|
244
|
+
"scale": [1, 1, 1]
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## Error Handling
|
|
250
|
+
|
|
251
|
+
All command responses include a "success" field indicating whether the operation succeeded, and a "message" field with details in case of failure.
|
|
252
|
+
|
|
253
|
+
```json
|
|
254
|
+
{
|
|
255
|
+
"success": false,
|
|
256
|
+
"message": "Failed to connect to Unreal Engine"
|
|
257
|
+
}
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Implementation Notes
|
|
261
|
+
|
|
262
|
+
- All transform arrays (location, rotation, scale) must contain exactly 3 float values
|
|
263
|
+
- Empty lists for transform parameters will be automatically converted to default values
|
|
264
|
+
- The server maintains detailed logging of all operations
|
|
265
|
+
- All commands require a successful connection to the Unreal Engine editor
|
|
266
|
+
- Failed operations will return detailed error messages in the response
|
|
267
|
+
- Component types should be specified without the 'U' prefix (e.g., "StaticMeshComponent" instead of "UStaticMeshComponent")
|
|
268
|
+
- For socket-based communication, refer to the test scripts in unreal-mcp/Python/scripts/blueprints for examples
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Unreal MCP Editor Tools
|
|
2
|
+
|
|
3
|
+
This document provides detailed information about the editor tools available in the Unreal MCP integration.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Editor tools allow you to control the Unreal Editor viewport and other editor functionality through MCP commands. These tools are particularly useful for automating tasks like focusing the camera on specific actors or locations.
|
|
8
|
+
|
|
9
|
+
## Editor Tools
|
|
10
|
+
|
|
11
|
+
### focus_viewport
|
|
12
|
+
|
|
13
|
+
Focus the viewport on a specific actor or location.
|
|
14
|
+
|
|
15
|
+
**Parameters:**
|
|
16
|
+
- `target` (string, optional) - Name of the actor to focus on (if provided, location is ignored)
|
|
17
|
+
- `location` (array, optional) - [X, Y, Z] coordinates to focus on (used if target is None)
|
|
18
|
+
- `distance` (float, optional) - Distance from the target/location (default: 1000.0)
|
|
19
|
+
- `orientation` (array, optional) - [Pitch, Yaw, Roll] for the viewport camera
|
|
20
|
+
|
|
21
|
+
**Returns:**
|
|
22
|
+
- Response from Unreal Engine containing the result of the focus operation
|
|
23
|
+
|
|
24
|
+
**Example:**
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"command": "focus_viewport",
|
|
28
|
+
"params": {
|
|
29
|
+
"target": "PlayerStart",
|
|
30
|
+
"distance": 500,
|
|
31
|
+
"orientation": [0, 180, 0]
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### take_screenshot
|
|
37
|
+
|
|
38
|
+
Capture a screenshot of the viewport.
|
|
39
|
+
|
|
40
|
+
**Parameters:**
|
|
41
|
+
- `filename` (string, optional) - Name of the file to save the screenshot as (default: "screenshot.png")
|
|
42
|
+
- `show_ui` (boolean, optional) - Whether to include UI elements in the screenshot (default: false)
|
|
43
|
+
- `resolution` (array, optional) - [Width, Height] for the screenshot
|
|
44
|
+
|
|
45
|
+
**Returns:**
|
|
46
|
+
- Result of the screenshot operation
|
|
47
|
+
|
|
48
|
+
**Example:**
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"command": "take_screenshot",
|
|
52
|
+
"params": {
|
|
53
|
+
"filename": "my_scene.png",
|
|
54
|
+
"show_ui": false,
|
|
55
|
+
"resolution": [1920, 1080]
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Error Handling
|
|
61
|
+
|
|
62
|
+
All command responses include a "status" field indicating whether the operation succeeded, and an optional "message" field with details in case of failure.
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"status": "error",
|
|
67
|
+
"message": "Failed to get active viewport"
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Usage Examples
|
|
72
|
+
|
|
73
|
+
### Python Example
|
|
74
|
+
|
|
75
|
+
```python
|
|
76
|
+
from unreal_mcp_server import get_unreal_connection
|
|
77
|
+
|
|
78
|
+
# Get connection to Unreal Engine
|
|
79
|
+
unreal = get_unreal_connection()
|
|
80
|
+
|
|
81
|
+
# Focus on a specific actor
|
|
82
|
+
focus_response = unreal.send_command("focus_viewport", {
|
|
83
|
+
"target": "PlayerStart",
|
|
84
|
+
"distance": 500,
|
|
85
|
+
"orientation": [0, 180, 0]
|
|
86
|
+
})
|
|
87
|
+
print(focus_response)
|
|
88
|
+
|
|
89
|
+
# Take a screenshot
|
|
90
|
+
screenshot_response = unreal.send_command("take_screenshot", {"filename": "my_scene.png"})
|
|
91
|
+
print(screenshot_response)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Troubleshooting
|
|
95
|
+
|
|
96
|
+
- **Command fails with "Failed to get active viewport"**: Make sure Unreal Editor is running and has an active viewport.
|
|
97
|
+
- **Actor not found**: Verify that the actor name is correct and the actor exists in the current level.
|
|
98
|
+
- **Invalid parameters**: Ensure that location and orientation arrays contain exactly 3 values (X, Y, Z for location; Pitch, Yaw, Roll for orientation).
|
|
99
|
+
|
|
100
|
+
## Future Enhancements
|
|
101
|
+
|
|
102
|
+
- Support for setting viewport display mode (wireframe, lit, etc.)
|
|
103
|
+
- Camera animation paths for cinematic viewport control
|
|
104
|
+
- Support for multiple viewports
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
# Unreal MCP Node Tools
|
|
2
|
+
|
|
3
|
+
This document provides detailed information about the Blueprint node tools available in the Unreal MCP integration.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Node tools allow you to manipulate Blueprint graph nodes and connections programmatically, including adding event nodes, function nodes, variables, and creating connections between nodes.
|
|
8
|
+
|
|
9
|
+
## Node Tools
|
|
10
|
+
|
|
11
|
+
### add_blueprint_event_node
|
|
12
|
+
|
|
13
|
+
Add an event node to a Blueprint's event graph.
|
|
14
|
+
|
|
15
|
+
**Parameters:**
|
|
16
|
+
- `blueprint_name` (string) - Name of the target Blueprint
|
|
17
|
+
- `event_type` (string) - Type of event (BeginPlay, Tick, etc.)
|
|
18
|
+
- `node_position` (array, optional) - [X, Y] position in the graph (default: [0, 0])
|
|
19
|
+
|
|
20
|
+
**Returns:**
|
|
21
|
+
- Response containing the node ID and success status
|
|
22
|
+
|
|
23
|
+
**Example:**
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"command": "add_blueprint_event_node",
|
|
27
|
+
"params": {
|
|
28
|
+
"blueprint_name": "MyActor",
|
|
29
|
+
"event_type": "BeginPlay",
|
|
30
|
+
"node_position": [100, 100]
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### add_blueprint_input_action_node
|
|
36
|
+
|
|
37
|
+
Add an input action event node to a Blueprint's event graph.
|
|
38
|
+
|
|
39
|
+
**Parameters:**
|
|
40
|
+
- `blueprint_name` (string) - Name of the target Blueprint
|
|
41
|
+
- `action_name` (string) - Name of the input action to respond to
|
|
42
|
+
- `node_position` (array, optional) - [X, Y] position in the graph (default: [0, 0])
|
|
43
|
+
|
|
44
|
+
**Returns:**
|
|
45
|
+
- Response containing the node ID and success status
|
|
46
|
+
|
|
47
|
+
**Example:**
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"command": "add_blueprint_input_action_node",
|
|
51
|
+
"params": {
|
|
52
|
+
"blueprint_name": "MyActor",
|
|
53
|
+
"action_name": "Jump",
|
|
54
|
+
"node_position": [200, 200]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### add_blueprint_function_node
|
|
60
|
+
|
|
61
|
+
Add a function call node to a Blueprint's event graph.
|
|
62
|
+
|
|
63
|
+
**Parameters:**
|
|
64
|
+
- `blueprint_name` (string) - Name of the target Blueprint
|
|
65
|
+
- `target` (string) - Target object for the function (component name or self)
|
|
66
|
+
- `function_name` (string) - Name of the function to call
|
|
67
|
+
- `params` (object, optional) - Parameters to set on the function node
|
|
68
|
+
- `node_position` (array, optional) - [X, Y] position in the graph (default: [0, 0])
|
|
69
|
+
|
|
70
|
+
**Returns:**
|
|
71
|
+
- Response containing the node ID and success status
|
|
72
|
+
|
|
73
|
+
**Example:**
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"command": "add_blueprint_function_node",
|
|
77
|
+
"params": {
|
|
78
|
+
"blueprint_name": "MyActor",
|
|
79
|
+
"target": "Mesh",
|
|
80
|
+
"function_name": "SetRelativeLocation",
|
|
81
|
+
"params": {
|
|
82
|
+
"NewLocation": [0, 0, 100]
|
|
83
|
+
},
|
|
84
|
+
"node_position": [300, 300]
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### connect_blueprint_nodes
|
|
90
|
+
|
|
91
|
+
Connect two nodes in a Blueprint's event graph.
|
|
92
|
+
|
|
93
|
+
**Parameters:**
|
|
94
|
+
- `blueprint_name` (string) - Name of the target Blueprint
|
|
95
|
+
- `source_node_id` (string) - ID of the source node
|
|
96
|
+
- `source_pin` (string) - Name of the output pin on the source node
|
|
97
|
+
- `target_node_id` (string) - ID of the target node
|
|
98
|
+
- `target_pin` (string) - Name of the input pin on the target node
|
|
99
|
+
|
|
100
|
+
**Returns:**
|
|
101
|
+
- Response indicating success or failure
|
|
102
|
+
|
|
103
|
+
**Example:**
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"command": "connect_blueprint_nodes",
|
|
107
|
+
"params": {
|
|
108
|
+
"blueprint_name": "MyActor",
|
|
109
|
+
"source_node_id": "node_1",
|
|
110
|
+
"source_pin": "exec",
|
|
111
|
+
"target_node_id": "node_2",
|
|
112
|
+
"target_pin": "exec"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### add_blueprint_variable
|
|
118
|
+
|
|
119
|
+
Add a variable to a Blueprint.
|
|
120
|
+
|
|
121
|
+
**Parameters:**
|
|
122
|
+
- `blueprint_name` (string) - Name of the target Blueprint
|
|
123
|
+
- `variable_name` (string) - Name of the variable
|
|
124
|
+
- `variable_type` (string) - Type of the variable (Boolean, Integer, Float, Vector, etc.)
|
|
125
|
+
- `default_value` (any, optional) - Default value for the variable
|
|
126
|
+
- `is_exposed` (boolean, optional) - Whether to expose the variable to the editor (default: false)
|
|
127
|
+
|
|
128
|
+
**Returns:**
|
|
129
|
+
- Response indicating success or failure
|
|
130
|
+
|
|
131
|
+
**Example:**
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"command": "add_blueprint_variable",
|
|
135
|
+
"params": {
|
|
136
|
+
"blueprint_name": "MyActor",
|
|
137
|
+
"variable_name": "Health",
|
|
138
|
+
"variable_type": "Float",
|
|
139
|
+
"default_value": 100.0,
|
|
140
|
+
"is_exposed": true
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### create_input_mapping
|
|
146
|
+
|
|
147
|
+
Create an input mapping for the project.
|
|
148
|
+
|
|
149
|
+
**Parameters:**
|
|
150
|
+
- `action_name` (string) - Name of the input action
|
|
151
|
+
- `key` (string) - Key to bind (SpaceBar, LeftMouseButton, etc.)
|
|
152
|
+
- `input_type` (string, optional) - Type of input mapping (Action or Axis, default: "Action")
|
|
153
|
+
|
|
154
|
+
**Returns:**
|
|
155
|
+
- Response indicating success or failure
|
|
156
|
+
|
|
157
|
+
**Example:**
|
|
158
|
+
```json
|
|
159
|
+
{
|
|
160
|
+
"command": "create_input_mapping",
|
|
161
|
+
"params": {
|
|
162
|
+
"action_name": "Jump",
|
|
163
|
+
"key": "SpaceBar",
|
|
164
|
+
"input_type": "Action"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### add_blueprint_get_self_component_reference
|
|
170
|
+
|
|
171
|
+
Add a node that gets a reference to a component owned by the current Blueprint.
|
|
172
|
+
|
|
173
|
+
**Parameters:**
|
|
174
|
+
- `blueprint_name` (string) - Name of the target Blueprint
|
|
175
|
+
- `component_name` (string) - Name of the component to get a reference to
|
|
176
|
+
- `node_position` (array, optional) - [X, Y] position in the graph (default: [0, 0])
|
|
177
|
+
|
|
178
|
+
**Returns:**
|
|
179
|
+
- Response containing the node ID and success status
|
|
180
|
+
|
|
181
|
+
**Example:**
|
|
182
|
+
```json
|
|
183
|
+
{
|
|
184
|
+
"command": "add_blueprint_get_self_component_reference",
|
|
185
|
+
"params": {
|
|
186
|
+
"blueprint_name": "MyActor",
|
|
187
|
+
"component_name": "Mesh",
|
|
188
|
+
"node_position": [400, 400]
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### add_blueprint_self_reference
|
|
194
|
+
|
|
195
|
+
Add a 'Get Self' node to a Blueprint's event graph.
|
|
196
|
+
|
|
197
|
+
**Parameters:**
|
|
198
|
+
- `blueprint_name` (string) - Name of the target Blueprint
|
|
199
|
+
- `node_position` (array, optional) - [X, Y] position in the graph (default: [0, 0])
|
|
200
|
+
|
|
201
|
+
**Returns:**
|
|
202
|
+
- Response containing the node ID and success status
|
|
203
|
+
|
|
204
|
+
**Example:**
|
|
205
|
+
```json
|
|
206
|
+
{
|
|
207
|
+
"command": "add_blueprint_self_reference",
|
|
208
|
+
"params": {
|
|
209
|
+
"blueprint_name": "MyActor",
|
|
210
|
+
"node_position": [500, 500]
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### find_blueprint_nodes
|
|
216
|
+
|
|
217
|
+
Find nodes in a Blueprint's event graph.
|
|
218
|
+
|
|
219
|
+
**Parameters:**
|
|
220
|
+
- `blueprint_name` (string) - Name of the target Blueprint
|
|
221
|
+
- `node_type` (string, optional) - Type of node to find (Event, Function, Variable, etc.)
|
|
222
|
+
- `event_type` (string, optional) - Specific event type to find (BeginPlay, Tick, etc.)
|
|
223
|
+
|
|
224
|
+
**Returns:**
|
|
225
|
+
- Response containing array of found node IDs and success status
|
|
226
|
+
|
|
227
|
+
**Example:**
|
|
228
|
+
```json
|
|
229
|
+
{
|
|
230
|
+
"command": "find_blueprint_nodes",
|
|
231
|
+
"params": {
|
|
232
|
+
"blueprint_name": "MyActor",
|
|
233
|
+
"node_type": "Event",
|
|
234
|
+
"event_type": "BeginPlay"
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## Error Handling
|
|
240
|
+
|
|
241
|
+
All command responses include a "success" field indicating whether the operation succeeded, and an optional "message" field with details in case of failure.
|
|
242
|
+
|
|
243
|
+
```json
|
|
244
|
+
{
|
|
245
|
+
"success": false,
|
|
246
|
+
"message": "Blueprint 'MyActor' not found in the project",
|
|
247
|
+
"command": "add_blueprint_event_node"
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## Type Reference
|
|
252
|
+
|
|
253
|
+
### Node Types
|
|
254
|
+
|
|
255
|
+
Common node types for the `find_blueprint_nodes` command:
|
|
256
|
+
|
|
257
|
+
- `Event` - Event nodes (BeginPlay, Tick, etc.)
|
|
258
|
+
- `Function` - Function call nodes
|
|
259
|
+
- `Variable` - Variable nodes
|
|
260
|
+
- `Component` - Component reference nodes
|
|
261
|
+
- `Self` - Self reference nodes
|
|
262
|
+
|
|
263
|
+
### Variable Types
|
|
264
|
+
|
|
265
|
+
Common variable types for the `add_blueprint_variable` command:
|
|
266
|
+
|
|
267
|
+
- `Boolean` - True/false values
|
|
268
|
+
- `Integer` - Whole numbers
|
|
269
|
+
- `Float` - Decimal numbers
|
|
270
|
+
- `Vector` - 3D vector values
|
|
271
|
+
- `String` - Text values
|
|
272
|
+
- `Object Reference` - References to other objects
|
|
273
|
+
- `Actor Reference` - References to actors
|
|
274
|
+
- `Component Reference` - References to components
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
[FilterPlugin]
|
|
2
|
+
; This section lists additional files which will be packaged along with your plugin. Paths should be listed relative to the root plugin directory, and
|
|
3
|
+
; may include "...", "*", and "?" wildcards to match directories, files, and individual characters respectively.
|
|
4
|
+
;
|
|
5
|
+
; Examples:
|
|
6
|
+
; /README.txt
|
|
7
|
+
; /Extras/...
|
|
8
|
+
; /Binaries/ThirdParty/*.dll
|