unreal-engine-mcp-server 0.3.0 → 0.4.0
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/.env.production +6 -1
- package/Dockerfile +11 -28
- package/README.md +1 -2
- package/dist/index.js +120 -54
- package/dist/resources/actors.js +71 -13
- package/dist/resources/assets.d.ts +3 -2
- package/dist/resources/assets.js +96 -72
- package/dist/resources/levels.js +2 -2
- package/dist/tools/assets.js +6 -2
- package/dist/tools/build_environment_advanced.js +46 -42
- package/dist/tools/consolidated-tool-definitions.d.ts +232 -15
- package/dist/tools/consolidated-tool-definitions.js +173 -8
- package/dist/tools/consolidated-tool-handlers.js +331 -718
- package/dist/tools/debug.js +4 -6
- package/dist/tools/rc.js +2 -2
- package/dist/tools/sequence.js +21 -2
- package/dist/unreal-bridge.d.ts +4 -1
- package/dist/unreal-bridge.js +211 -53
- package/dist/utils/http.js +4 -2
- package/dist/utils/response-validator.d.ts +6 -1
- package/dist/utils/response-validator.js +43 -15
- package/package.json +5 -5
- package/server.json +2 -2
- package/src/index.ts +120 -56
- package/src/resources/actors.ts +51 -13
- package/src/resources/assets.ts +97 -73
- package/src/resources/levels.ts +2 -2
- package/src/tools/assets.ts +6 -2
- package/src/tools/build_environment_advanced.ts +46 -42
- package/src/tools/consolidated-tool-definitions.ts +173 -8
- package/src/tools/consolidated-tool-handlers.ts +318 -747
- package/src/tools/debug.ts +4 -6
- package/src/tools/rc.ts +2 -2
- package/src/tools/sequence.ts +21 -2
- package/src/unreal-bridge.ts +163 -60
- package/src/utils/http.ts +7 -4
- package/src/utils/response-validator.ts +48 -19
- package/dist/tools/tool-definitions.d.ts +0 -4919
- package/dist/tools/tool-definitions.js +0 -1007
- package/dist/tools/tool-handlers.d.ts +0 -47
- package/dist/tools/tool-handlers.js +0 -863
- package/src/tools/tool-definitions.ts +0 -1023
- package/src/tools/tool-handlers.ts +0 -973
|
@@ -63,8 +63,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
63
63
|
sizeX?: undefined;
|
|
64
64
|
sizeY?: undefined;
|
|
65
65
|
tool?: undefined;
|
|
66
|
-
|
|
66
|
+
subdivisions?: undefined;
|
|
67
|
+
heightFunction?: undefined;
|
|
68
|
+
materialPath?: undefined;
|
|
69
|
+
bounds?: undefined;
|
|
70
|
+
foliageTypes?: undefined;
|
|
71
|
+
seed?: undefined;
|
|
67
72
|
foliageType?: undefined;
|
|
73
|
+
transforms?: undefined;
|
|
74
|
+
meshPath?: undefined;
|
|
68
75
|
density?: undefined;
|
|
69
76
|
position?: undefined;
|
|
70
77
|
brushSize?: undefined;
|
|
@@ -294,8 +301,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
294
301
|
sizeX?: undefined;
|
|
295
302
|
sizeY?: undefined;
|
|
296
303
|
tool?: undefined;
|
|
297
|
-
|
|
304
|
+
subdivisions?: undefined;
|
|
305
|
+
heightFunction?: undefined;
|
|
306
|
+
materialPath?: undefined;
|
|
307
|
+
bounds?: undefined;
|
|
308
|
+
foliageTypes?: undefined;
|
|
309
|
+
seed?: undefined;
|
|
298
310
|
foliageType?: undefined;
|
|
311
|
+
transforms?: undefined;
|
|
312
|
+
meshPath?: undefined;
|
|
299
313
|
density?: undefined;
|
|
300
314
|
position?: undefined;
|
|
301
315
|
brushSize?: undefined;
|
|
@@ -489,8 +503,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
489
503
|
sizeX?: undefined;
|
|
490
504
|
sizeY?: undefined;
|
|
491
505
|
tool?: undefined;
|
|
492
|
-
|
|
506
|
+
subdivisions?: undefined;
|
|
507
|
+
heightFunction?: undefined;
|
|
508
|
+
materialPath?: undefined;
|
|
509
|
+
bounds?: undefined;
|
|
510
|
+
foliageTypes?: undefined;
|
|
511
|
+
seed?: undefined;
|
|
493
512
|
foliageType?: undefined;
|
|
513
|
+
transforms?: undefined;
|
|
514
|
+
meshPath?: undefined;
|
|
494
515
|
density?: undefined;
|
|
495
516
|
position?: undefined;
|
|
496
517
|
brushSize?: undefined;
|
|
@@ -703,8 +724,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
703
724
|
sizeX?: undefined;
|
|
704
725
|
sizeY?: undefined;
|
|
705
726
|
tool?: undefined;
|
|
706
|
-
|
|
727
|
+
subdivisions?: undefined;
|
|
728
|
+
heightFunction?: undefined;
|
|
729
|
+
materialPath?: undefined;
|
|
730
|
+
bounds?: undefined;
|
|
731
|
+
foliageTypes?: undefined;
|
|
732
|
+
seed?: undefined;
|
|
707
733
|
foliageType?: undefined;
|
|
734
|
+
transforms?: undefined;
|
|
735
|
+
meshPath?: undefined;
|
|
708
736
|
density?: undefined;
|
|
709
737
|
position?: undefined;
|
|
710
738
|
brushSize?: undefined;
|
|
@@ -899,8 +927,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
899
927
|
sizeX?: undefined;
|
|
900
928
|
sizeY?: undefined;
|
|
901
929
|
tool?: undefined;
|
|
902
|
-
|
|
930
|
+
subdivisions?: undefined;
|
|
931
|
+
heightFunction?: undefined;
|
|
932
|
+
materialPath?: undefined;
|
|
933
|
+
bounds?: undefined;
|
|
934
|
+
foliageTypes?: undefined;
|
|
935
|
+
seed?: undefined;
|
|
903
936
|
foliageType?: undefined;
|
|
937
|
+
transforms?: undefined;
|
|
938
|
+
meshPath?: undefined;
|
|
904
939
|
density?: undefined;
|
|
905
940
|
position?: undefined;
|
|
906
941
|
brushSize?: undefined;
|
|
@@ -1105,8 +1140,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
1105
1140
|
sizeX?: undefined;
|
|
1106
1141
|
sizeY?: undefined;
|
|
1107
1142
|
tool?: undefined;
|
|
1108
|
-
|
|
1143
|
+
subdivisions?: undefined;
|
|
1144
|
+
heightFunction?: undefined;
|
|
1145
|
+
materialPath?: undefined;
|
|
1146
|
+
bounds?: undefined;
|
|
1147
|
+
foliageTypes?: undefined;
|
|
1148
|
+
seed?: undefined;
|
|
1109
1149
|
foliageType?: undefined;
|
|
1150
|
+
transforms?: undefined;
|
|
1151
|
+
meshPath?: undefined;
|
|
1110
1152
|
density?: undefined;
|
|
1111
1153
|
position?: undefined;
|
|
1112
1154
|
brushSize?: undefined;
|
|
@@ -1289,8 +1331,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
1289
1331
|
sizeX?: undefined;
|
|
1290
1332
|
sizeY?: undefined;
|
|
1291
1333
|
tool?: undefined;
|
|
1292
|
-
|
|
1334
|
+
subdivisions?: undefined;
|
|
1335
|
+
heightFunction?: undefined;
|
|
1336
|
+
materialPath?: undefined;
|
|
1337
|
+
bounds?: undefined;
|
|
1338
|
+
foliageTypes?: undefined;
|
|
1339
|
+
seed?: undefined;
|
|
1293
1340
|
foliageType?: undefined;
|
|
1341
|
+
transforms?: undefined;
|
|
1342
|
+
meshPath?: undefined;
|
|
1294
1343
|
density?: undefined;
|
|
1295
1344
|
position?: undefined;
|
|
1296
1345
|
brushSize?: undefined;
|
|
@@ -1429,12 +1478,146 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
1429
1478
|
type: string;
|
|
1430
1479
|
description: string;
|
|
1431
1480
|
};
|
|
1432
|
-
|
|
1481
|
+
location: {
|
|
1482
|
+
type: string;
|
|
1483
|
+
properties: {
|
|
1484
|
+
x: {
|
|
1485
|
+
type: string;
|
|
1486
|
+
};
|
|
1487
|
+
y: {
|
|
1488
|
+
type: string;
|
|
1489
|
+
};
|
|
1490
|
+
z: {
|
|
1491
|
+
type: string;
|
|
1492
|
+
};
|
|
1493
|
+
};
|
|
1494
|
+
};
|
|
1495
|
+
subdivisions: {
|
|
1496
|
+
type: string;
|
|
1497
|
+
};
|
|
1498
|
+
heightFunction: {
|
|
1499
|
+
type: string;
|
|
1500
|
+
};
|
|
1501
|
+
materialPath: {
|
|
1502
|
+
type: string;
|
|
1503
|
+
};
|
|
1504
|
+
bounds: {
|
|
1505
|
+
type: string;
|
|
1506
|
+
properties: {
|
|
1507
|
+
location: {
|
|
1508
|
+
type: string;
|
|
1509
|
+
properties: {
|
|
1510
|
+
x: {
|
|
1511
|
+
type: string;
|
|
1512
|
+
};
|
|
1513
|
+
y: {
|
|
1514
|
+
type: string;
|
|
1515
|
+
};
|
|
1516
|
+
z: {
|
|
1517
|
+
type: string;
|
|
1518
|
+
};
|
|
1519
|
+
};
|
|
1520
|
+
};
|
|
1521
|
+
size: {
|
|
1522
|
+
type: string;
|
|
1523
|
+
properties: {
|
|
1524
|
+
x: {
|
|
1525
|
+
type: string;
|
|
1526
|
+
};
|
|
1527
|
+
y: {
|
|
1528
|
+
type: string;
|
|
1529
|
+
};
|
|
1530
|
+
z: {
|
|
1531
|
+
type: string;
|
|
1532
|
+
};
|
|
1533
|
+
};
|
|
1534
|
+
};
|
|
1535
|
+
};
|
|
1536
|
+
};
|
|
1537
|
+
foliageTypes: {
|
|
1538
|
+
type: string;
|
|
1539
|
+
items: {
|
|
1540
|
+
type: string;
|
|
1541
|
+
properties: {
|
|
1542
|
+
meshPath: {
|
|
1543
|
+
type: string;
|
|
1544
|
+
};
|
|
1545
|
+
density: {
|
|
1546
|
+
type: string;
|
|
1547
|
+
};
|
|
1548
|
+
minScale: {
|
|
1549
|
+
type: string;
|
|
1550
|
+
};
|
|
1551
|
+
maxScale: {
|
|
1552
|
+
type: string;
|
|
1553
|
+
};
|
|
1554
|
+
alignToNormal: {
|
|
1555
|
+
type: string;
|
|
1556
|
+
};
|
|
1557
|
+
randomYaw: {
|
|
1558
|
+
type: string;
|
|
1559
|
+
};
|
|
1560
|
+
};
|
|
1561
|
+
};
|
|
1562
|
+
};
|
|
1563
|
+
seed: {
|
|
1433
1564
|
type: string;
|
|
1434
|
-
description: string;
|
|
1435
1565
|
};
|
|
1436
1566
|
foliageType: {
|
|
1437
1567
|
type: string;
|
|
1568
|
+
};
|
|
1569
|
+
transforms: {
|
|
1570
|
+
type: string;
|
|
1571
|
+
items: {
|
|
1572
|
+
type: string;
|
|
1573
|
+
properties: {
|
|
1574
|
+
location: {
|
|
1575
|
+
type: string;
|
|
1576
|
+
properties: {
|
|
1577
|
+
x: {
|
|
1578
|
+
type: string;
|
|
1579
|
+
};
|
|
1580
|
+
y: {
|
|
1581
|
+
type: string;
|
|
1582
|
+
};
|
|
1583
|
+
z: {
|
|
1584
|
+
type: string;
|
|
1585
|
+
};
|
|
1586
|
+
};
|
|
1587
|
+
};
|
|
1588
|
+
rotation: {
|
|
1589
|
+
type: string;
|
|
1590
|
+
properties: {
|
|
1591
|
+
pitch: {
|
|
1592
|
+
type: string;
|
|
1593
|
+
};
|
|
1594
|
+
yaw: {
|
|
1595
|
+
type: string;
|
|
1596
|
+
};
|
|
1597
|
+
roll: {
|
|
1598
|
+
type: string;
|
|
1599
|
+
};
|
|
1600
|
+
};
|
|
1601
|
+
};
|
|
1602
|
+
scale: {
|
|
1603
|
+
type: string;
|
|
1604
|
+
properties: {
|
|
1605
|
+
x: {
|
|
1606
|
+
type: string;
|
|
1607
|
+
};
|
|
1608
|
+
y: {
|
|
1609
|
+
type: string;
|
|
1610
|
+
};
|
|
1611
|
+
z: {
|
|
1612
|
+
type: string;
|
|
1613
|
+
};
|
|
1614
|
+
};
|
|
1615
|
+
};
|
|
1616
|
+
};
|
|
1617
|
+
};
|
|
1618
|
+
};
|
|
1619
|
+
meshPath: {
|
|
1620
|
+
type: string;
|
|
1438
1621
|
description: string;
|
|
1439
1622
|
};
|
|
1440
1623
|
density: {
|
|
@@ -1469,7 +1652,6 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
1469
1652
|
path?: undefined;
|
|
1470
1653
|
actorName?: undefined;
|
|
1471
1654
|
classPath?: undefined;
|
|
1472
|
-
location?: undefined;
|
|
1473
1655
|
rotation?: undefined;
|
|
1474
1656
|
force?: undefined;
|
|
1475
1657
|
viewMode?: undefined;
|
|
@@ -1724,8 +1906,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
1724
1906
|
sizeX?: undefined;
|
|
1725
1907
|
sizeY?: undefined;
|
|
1726
1908
|
tool?: undefined;
|
|
1727
|
-
|
|
1909
|
+
subdivisions?: undefined;
|
|
1910
|
+
heightFunction?: undefined;
|
|
1911
|
+
materialPath?: undefined;
|
|
1912
|
+
bounds?: undefined;
|
|
1913
|
+
foliageTypes?: undefined;
|
|
1914
|
+
seed?: undefined;
|
|
1728
1915
|
foliageType?: undefined;
|
|
1916
|
+
transforms?: undefined;
|
|
1917
|
+
meshPath?: undefined;
|
|
1729
1918
|
density?: undefined;
|
|
1730
1919
|
position?: undefined;
|
|
1731
1920
|
brushSize?: undefined;
|
|
@@ -1894,8 +2083,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
1894
2083
|
sizeX?: undefined;
|
|
1895
2084
|
sizeY?: undefined;
|
|
1896
2085
|
tool?: undefined;
|
|
1897
|
-
|
|
2086
|
+
subdivisions?: undefined;
|
|
2087
|
+
heightFunction?: undefined;
|
|
2088
|
+
materialPath?: undefined;
|
|
2089
|
+
bounds?: undefined;
|
|
2090
|
+
foliageTypes?: undefined;
|
|
2091
|
+
seed?: undefined;
|
|
1898
2092
|
foliageType?: undefined;
|
|
2093
|
+
transforms?: undefined;
|
|
2094
|
+
meshPath?: undefined;
|
|
1899
2095
|
density?: undefined;
|
|
1900
2096
|
position?: undefined;
|
|
1901
2097
|
brushSize?: undefined;
|
|
@@ -2083,8 +2279,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
2083
2279
|
sizeX?: undefined;
|
|
2084
2280
|
sizeY?: undefined;
|
|
2085
2281
|
tool?: undefined;
|
|
2086
|
-
|
|
2282
|
+
subdivisions?: undefined;
|
|
2283
|
+
heightFunction?: undefined;
|
|
2284
|
+
materialPath?: undefined;
|
|
2285
|
+
bounds?: undefined;
|
|
2286
|
+
foliageTypes?: undefined;
|
|
2287
|
+
seed?: undefined;
|
|
2087
2288
|
foliageType?: undefined;
|
|
2289
|
+
transforms?: undefined;
|
|
2290
|
+
meshPath?: undefined;
|
|
2088
2291
|
density?: undefined;
|
|
2089
2292
|
position?: undefined;
|
|
2090
2293
|
brushSize?: undefined;
|
|
@@ -2292,8 +2495,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
2292
2495
|
sizeX?: undefined;
|
|
2293
2496
|
sizeY?: undefined;
|
|
2294
2497
|
tool?: undefined;
|
|
2295
|
-
|
|
2498
|
+
subdivisions?: undefined;
|
|
2499
|
+
heightFunction?: undefined;
|
|
2500
|
+
materialPath?: undefined;
|
|
2501
|
+
bounds?: undefined;
|
|
2502
|
+
foliageTypes?: undefined;
|
|
2503
|
+
seed?: undefined;
|
|
2296
2504
|
foliageType?: undefined;
|
|
2505
|
+
transforms?: undefined;
|
|
2506
|
+
meshPath?: undefined;
|
|
2297
2507
|
density?: undefined;
|
|
2298
2508
|
position?: undefined;
|
|
2299
2509
|
brushSize?: undefined;
|
|
@@ -2487,8 +2697,15 @@ export declare const consolidatedToolDefinitions: ({
|
|
|
2487
2697
|
sizeX?: undefined;
|
|
2488
2698
|
sizeY?: undefined;
|
|
2489
2699
|
tool?: undefined;
|
|
2490
|
-
|
|
2700
|
+
subdivisions?: undefined;
|
|
2701
|
+
heightFunction?: undefined;
|
|
2702
|
+
materialPath?: undefined;
|
|
2703
|
+
bounds?: undefined;
|
|
2704
|
+
foliageTypes?: undefined;
|
|
2705
|
+
seed?: undefined;
|
|
2491
2706
|
foliageType?: undefined;
|
|
2707
|
+
transforms?: undefined;
|
|
2708
|
+
meshPath?: undefined;
|
|
2492
2709
|
density?: undefined;
|
|
2493
2710
|
position?: undefined;
|
|
2494
2711
|
brushSize?: undefined;
|
|
@@ -72,18 +72,28 @@ Examples:
|
|
|
72
72
|
description: `Spawn, delete, and apply physics to actors in the level.
|
|
73
73
|
|
|
74
74
|
When to use this tool:
|
|
75
|
-
-
|
|
75
|
+
- Place an actor/mesh, remove an actor, or nudge an actor with a physics force.
|
|
76
|
+
|
|
77
|
+
Supported actions:
|
|
78
|
+
- spawn
|
|
79
|
+
- delete
|
|
80
|
+
- apply_force
|
|
76
81
|
|
|
77
82
|
Spawning:
|
|
78
83
|
- classPath can be a class name (e.g., StaticMeshActor, CameraActor) OR an asset path (e.g., /Engine/BasicShapes/Cube, /Game/Meshes/SM_Rock).
|
|
79
|
-
-
|
|
84
|
+
- Asset paths auto-spawn StaticMeshActor with the mesh assigned.
|
|
80
85
|
|
|
81
86
|
Deleting:
|
|
82
|
-
- Finds actors by label/name (case-insensitive)
|
|
87
|
+
- Finds actors by label/name (case-insensitive) and deletes matches.
|
|
83
88
|
|
|
84
89
|
Apply force:
|
|
85
90
|
- Applies a world-space force vector to an actor with physics enabled.
|
|
86
91
|
|
|
92
|
+
Tips:
|
|
93
|
+
- classPath accepts classes or asset paths; simple names like Cube auto-resolve to engine assets.
|
|
94
|
+
- location/rotation are optional; defaults are used if omitted.
|
|
95
|
+
- For delete/apply_force, provide actorName.
|
|
96
|
+
|
|
87
97
|
Examples:
|
|
88
98
|
- {"action":"spawn","classPath":"/Engine/BasicShapes/Cube","location":{"x":0,"y":0,"z":100}}
|
|
89
99
|
- {"action":"delete","actorName":"Cube_1"}
|
|
@@ -151,9 +161,15 @@ Examples:
|
|
|
151
161
|
When to use this tool:
|
|
152
162
|
- Start/stop a PIE session, move the viewport camera, or change viewmode (Lit/Unlit/Wireframe/etc.).
|
|
153
163
|
|
|
164
|
+
Supported actions:
|
|
165
|
+
- play
|
|
166
|
+
- stop
|
|
167
|
+
- set_camera
|
|
168
|
+
- set_view_mode
|
|
169
|
+
|
|
154
170
|
Notes:
|
|
155
|
-
- View modes are validated
|
|
156
|
-
- Camera accepts location
|
|
171
|
+
- View modes are validated; unsafe modes are blocked.
|
|
172
|
+
- Camera accepts location/rotation (optional); values normalized.
|
|
157
173
|
|
|
158
174
|
Examples:
|
|
159
175
|
- {"action":"play"}
|
|
@@ -221,6 +237,18 @@ Examples:
|
|
|
221
237
|
When to use this tool:
|
|
222
238
|
- Switch to a level, save the current level, stream sublevels, add a light, or start a lighting build.
|
|
223
239
|
|
|
240
|
+
Supported actions:
|
|
241
|
+
- load
|
|
242
|
+
- save
|
|
243
|
+
- stream
|
|
244
|
+
- create_light
|
|
245
|
+
- build_lighting
|
|
246
|
+
|
|
247
|
+
Tips:
|
|
248
|
+
- Use /Game paths for levels (e.g., /Game/Maps/Level).
|
|
249
|
+
- For streaming, set shouldBeLoaded and shouldBeVisible accordingly.
|
|
250
|
+
- For lights, provide lightType and optional location/intensity.
|
|
251
|
+
|
|
224
252
|
Examples:
|
|
225
253
|
- {"action":"load","levelPath":"/Game/Maps/Lobby"}
|
|
226
254
|
- {"action":"stream","levelName":"Sublevel_A","shouldBeLoaded":true,"shouldBeVisible":true}
|
|
@@ -285,6 +313,16 @@ Examples:
|
|
|
285
313
|
When to use this tool:
|
|
286
314
|
- Generate an Anim Blueprint for a skeleton, play a Montage/Animation on an actor, or enable ragdoll.
|
|
287
315
|
|
|
316
|
+
Supported actions:
|
|
317
|
+
- create_animation_bp
|
|
318
|
+
- play_montage
|
|
319
|
+
- setup_ragdoll
|
|
320
|
+
|
|
321
|
+
Tips:
|
|
322
|
+
- Ensure the montage/animation is compatible with the target actor/skeleton.
|
|
323
|
+
- setup_ragdoll requires a valid physicsAssetName on the skeleton.
|
|
324
|
+
- Use savePath when creating new assets.
|
|
325
|
+
|
|
288
326
|
Examples:
|
|
289
327
|
- {"action":"create_animation_bp","name":"ABP_Hero","skeletonPath":"/Game/Characters/Hero/SK_Hero_Skeleton","savePath":"/Game/Characters/Hero"}
|
|
290
328
|
- {"action":"play_montage","actorName":"Hero","montagePath":"/Game/Anim/MT_Attack"}
|
|
@@ -332,6 +370,15 @@ Examples:
|
|
|
332
370
|
When to use this tool:
|
|
333
371
|
- Spawn a Niagara system at a location, create a particle effect by type tag, or draw debug geometry for planning.
|
|
334
372
|
|
|
373
|
+
Supported actions:
|
|
374
|
+
- particle
|
|
375
|
+
- niagara
|
|
376
|
+
- debug_shape
|
|
377
|
+
|
|
378
|
+
Tips:
|
|
379
|
+
- Set color as RGBA [r,g,b,a]; scale defaults to 1 if omitted.
|
|
380
|
+
- Use debug shapes for quick layout planning and measurements.
|
|
381
|
+
|
|
335
382
|
Examples:
|
|
336
383
|
- {"action":"niagara","systemPath":"/Game/FX/NS_Explosion","location":{"x":0,"y":0,"z":200},"scale":1.0}
|
|
337
384
|
- {"action":"particle","effectType":"Smoke","name":"SMK1","location":{"x":100,"y":0,"z":50}}
|
|
@@ -400,6 +447,14 @@ Examples:
|
|
|
400
447
|
When to use this tool:
|
|
401
448
|
- Quickly scaffold a Blueprint asset or add a component to an existing Blueprint.
|
|
402
449
|
|
|
450
|
+
Supported actions:
|
|
451
|
+
- create
|
|
452
|
+
- add_component
|
|
453
|
+
|
|
454
|
+
Tips:
|
|
455
|
+
- blueprintType can be Actor, Pawn, Character, etc.
|
|
456
|
+
- Component names should be unique within the Blueprint.
|
|
457
|
+
|
|
403
458
|
Examples:
|
|
404
459
|
- {"action":"create","name":"BP_Switch","blueprintType":"Actor","savePath":"/Game/Blueprints"}
|
|
405
460
|
- {"action":"add_component","name":"BP_Switch","componentType":"PointLightComponent","componentName":"KeyLight"}`,
|
|
@@ -441,10 +496,19 @@ Examples:
|
|
|
441
496
|
When to use this tool:
|
|
442
497
|
- Create a procedural terrain alternative, add/paint foliage, or attempt a landscape workflow.
|
|
443
498
|
|
|
499
|
+
Supported actions:
|
|
500
|
+
- create_landscape
|
|
501
|
+
- sculpt
|
|
502
|
+
- add_foliage
|
|
503
|
+
- paint_foliage
|
|
504
|
+
|
|
444
505
|
Important:
|
|
445
506
|
- Native Landscape creation via Python is limited and may return a helpful error suggesting Landscape Mode in the editor.
|
|
446
507
|
- Foliage helpers create FoliageType assets and support simple placement.
|
|
447
508
|
|
|
509
|
+
Tips:
|
|
510
|
+
- Adjust brushSize and strength to tune sculpting results.
|
|
511
|
+
|
|
448
512
|
Examples:
|
|
449
513
|
- {"action":"create_landscape","name":"Landscape_Basic","sizeX":1024,"sizeY":1024}
|
|
450
514
|
- {"action":"add_foliage","name":"FT_Grass","meshPath":"/Game/Foliage/SM_Grass","density":300}
|
|
@@ -454,7 +518,7 @@ Examples:
|
|
|
454
518
|
properties: {
|
|
455
519
|
action: {
|
|
456
520
|
type: 'string',
|
|
457
|
-
enum: ['create_landscape', 'sculpt', 'add_foliage', 'paint_foliage'],
|
|
521
|
+
enum: ['create_landscape', 'sculpt', 'add_foliage', 'paint_foliage', 'create_procedural_terrain', 'create_procedural_foliage', 'add_foliage_instances', 'create_landscape_grass_type'],
|
|
458
522
|
description: 'Environment action'
|
|
459
523
|
},
|
|
460
524
|
// Common
|
|
@@ -466,9 +530,52 @@ Examples:
|
|
|
466
530
|
type: 'string',
|
|
467
531
|
description: 'Sculpt tool (Sculpt, Smooth, Flatten, etc.)'
|
|
468
532
|
},
|
|
469
|
-
//
|
|
533
|
+
// Advanced: procedural terrain
|
|
534
|
+
location: {
|
|
535
|
+
type: 'object',
|
|
536
|
+
properties: { x: { type: 'number' }, y: { type: 'number' }, z: { type: 'number' } }
|
|
537
|
+
},
|
|
538
|
+
subdivisions: { type: 'number' },
|
|
539
|
+
heightFunction: { type: 'string' },
|
|
540
|
+
materialPath: { type: 'string' },
|
|
541
|
+
// Advanced: procedural foliage
|
|
542
|
+
bounds: {
|
|
543
|
+
type: 'object',
|
|
544
|
+
properties: {
|
|
545
|
+
location: { type: 'object', properties: { x: { type: 'number' }, y: { type: 'number' }, z: { type: 'number' } } },
|
|
546
|
+
size: { type: 'object', properties: { x: { type: 'number' }, y: { type: 'number' }, z: { type: 'number' } } }
|
|
547
|
+
}
|
|
548
|
+
},
|
|
549
|
+
foliageTypes: {
|
|
550
|
+
type: 'array',
|
|
551
|
+
items: {
|
|
552
|
+
type: 'object',
|
|
553
|
+
properties: {
|
|
554
|
+
meshPath: { type: 'string' },
|
|
555
|
+
density: { type: 'number' },
|
|
556
|
+
minScale: { type: 'number' },
|
|
557
|
+
maxScale: { type: 'number' },
|
|
558
|
+
alignToNormal: { type: 'boolean' },
|
|
559
|
+
randomYaw: { type: 'boolean' }
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
},
|
|
563
|
+
seed: { type: 'number' },
|
|
564
|
+
// Advanced: direct foliage instances
|
|
565
|
+
foliageType: { type: 'string' },
|
|
566
|
+
transforms: {
|
|
567
|
+
type: 'array',
|
|
568
|
+
items: {
|
|
569
|
+
type: 'object',
|
|
570
|
+
properties: {
|
|
571
|
+
location: { type: 'object', properties: { x: { type: 'number' }, y: { type: 'number' }, z: { type: 'number' } } },
|
|
572
|
+
rotation: { type: 'object', properties: { pitch: { type: 'number' }, yaw: { type: 'number' }, roll: { type: 'number' } } },
|
|
573
|
+
scale: { type: 'object', properties: { x: { type: 'number' }, y: { type: 'number' }, z: { type: 'number' } } }
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
},
|
|
577
|
+
// Foliage (for add_foliage)
|
|
470
578
|
meshPath: { type: 'string', description: 'Mesh path' },
|
|
471
|
-
foliageType: { type: 'string', description: 'Foliage type' },
|
|
472
579
|
density: { type: 'number', description: 'Density' },
|
|
473
580
|
// Painting
|
|
474
581
|
position: {
|
|
@@ -503,6 +610,21 @@ Examples:
|
|
|
503
610
|
When to use this tool:
|
|
504
611
|
- Toggle profiling and FPS stats, adjust quality (sg.*), play a sound, create/show a basic widget, take a screenshot, or launch/quit the editor.
|
|
505
612
|
|
|
613
|
+
Supported actions:
|
|
614
|
+
- profile
|
|
615
|
+
- show_fps
|
|
616
|
+
- set_quality
|
|
617
|
+
- play_sound
|
|
618
|
+
- create_widget
|
|
619
|
+
- show_widget
|
|
620
|
+
- screenshot
|
|
621
|
+
- engine_start
|
|
622
|
+
- engine_quit
|
|
623
|
+
|
|
624
|
+
Tips:
|
|
625
|
+
- Screenshot resolution format: 1920x1080.
|
|
626
|
+
- engine_start can read UE project path from env; provide editorExe/projectPath if needed.
|
|
627
|
+
|
|
506
628
|
Examples:
|
|
507
629
|
- {"action":"show_fps","enabled":true}
|
|
508
630
|
- {"action":"set_quality","category":"Shadows","level":2}
|
|
@@ -585,6 +707,9 @@ Safety:
|
|
|
585
707
|
- Dangerous commands are blocked (quit/exit, GPU crash triggers, unsafe visualizebuffer modes, etc.).
|
|
586
708
|
- Unknown commands will return a warning instead of crashing.
|
|
587
709
|
|
|
710
|
+
Tips:
|
|
711
|
+
- Prefer dedicated tools (system_control, control_editor) when available for structured control.
|
|
712
|
+
|
|
588
713
|
Examples:
|
|
589
714
|
- {"command":"stat fps"}
|
|
590
715
|
- {"command":"viewmode wireframe"}
|
|
@@ -616,6 +741,18 @@ Examples:
|
|
|
616
741
|
When to use this tool:
|
|
617
742
|
- Automate Remote Control (RC) preset authoring and interaction from the assistant.
|
|
618
743
|
|
|
744
|
+
Supported actions:
|
|
745
|
+
- create_preset
|
|
746
|
+
- expose_actor
|
|
747
|
+
- expose_property
|
|
748
|
+
- list_fields
|
|
749
|
+
- set_property
|
|
750
|
+
- get_property
|
|
751
|
+
|
|
752
|
+
Tips:
|
|
753
|
+
- value must be JSON-serializable.
|
|
754
|
+
- Use objectPath/presetPath with full asset/object paths.
|
|
755
|
+
|
|
619
756
|
Examples:
|
|
620
757
|
- {"action":"create_preset","name":"LivePreset","path":"/Game/RCPresets"}
|
|
621
758
|
- {"action":"expose_actor","presetPath":"/Game/RCPresets/LivePreset","actorName":"CameraActor"}
|
|
@@ -660,6 +797,26 @@ Examples:
|
|
|
660
797
|
When to use this tool:
|
|
661
798
|
- Build quick cinematics: create/open a sequence, add a camera or actors, tweak properties, and play.
|
|
662
799
|
|
|
800
|
+
Supported actions:
|
|
801
|
+
- create
|
|
802
|
+
- open
|
|
803
|
+
- add_camera
|
|
804
|
+
- add_actor
|
|
805
|
+
- add_actors
|
|
806
|
+
- remove_actors
|
|
807
|
+
- get_bindings
|
|
808
|
+
- add_spawnable_from_class
|
|
809
|
+
- play
|
|
810
|
+
- pause
|
|
811
|
+
- stop
|
|
812
|
+
- set_properties
|
|
813
|
+
- get_properties
|
|
814
|
+
- set_playback_speed
|
|
815
|
+
|
|
816
|
+
Tips:
|
|
817
|
+
- Set spawnable=true to auto-create a camera actor.
|
|
818
|
+
- Use frameRate/lengthInFrames to define timing; use playbackStart/End to trim.
|
|
819
|
+
|
|
663
820
|
Examples:
|
|
664
821
|
- {"action":"create","name":"Intro","path":"/Game/Cinematics"}
|
|
665
822
|
- {"action":"add_camera","spawnable":true}
|
|
@@ -722,6 +879,14 @@ Examples:
|
|
|
722
879
|
When to use this tool:
|
|
723
880
|
- Inspect an object by path (class default object or actor/component) and optionally modify properties.
|
|
724
881
|
|
|
882
|
+
Supported actions:
|
|
883
|
+
- inspect_object
|
|
884
|
+
- set_property
|
|
885
|
+
|
|
886
|
+
Tips:
|
|
887
|
+
- propertyName is case-sensitive; ensure it exists on the target object.
|
|
888
|
+
- For class default objects (CDOs), use the /Script/...Default__Class path.
|
|
889
|
+
|
|
725
890
|
Examples:
|
|
726
891
|
- {"action":"inspect_object","objectPath":"/Script/Engine.Default__Engine"}
|
|
727
892
|
- {"action":"set_property","objectPath":"/Game/MyActor","propertyName":"CustomBool","value":true}`,
|