ue-mcp 1.3.10-beta.13 → 1.3.10-beta.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.
Files changed (58) hide show
  1. package/README.md +3 -3
  2. package/dist/surface/context/tool-search.d.ts +1 -0
  3. package/dist/surface/context/tool-search.js +81 -23
  4. package/dist/surface/context/tool-search.js.map +1 -1
  5. package/dist/tool-counts.json +7 -7
  6. package/dist/tools/animation.js +2 -1
  7. package/dist/tools/animation.js.map +1 -1
  8. package/dist/tools/asset.js +11 -9
  9. package/dist/tools/asset.js.map +1 -1
  10. package/dist/tools/blueprint.js +2 -2
  11. package/dist/tools/blueprint.js.map +1 -1
  12. package/dist/tools/editor.js +3 -3
  13. package/dist/tools/editor.js.map +1 -1
  14. package/dist/tools/pcg.js +9 -9
  15. package/dist/tools/pcg.js.map +1 -1
  16. package/dist/tools/reflection.js +1 -1
  17. package/dist/tools/reflection.js.map +1 -1
  18. package/dist/tools/specs/animation.generated.js +31 -4
  19. package/dist/tools/specs/animation.generated.js.map +1 -1
  20. package/dist/tools/specs/asset.generated.js +128 -13
  21. package/dist/tools/specs/asset.generated.js.map +1 -1
  22. package/dist/tools/specs/pcg.generated.js +44 -8
  23. package/dist/tools/specs/pcg.generated.js.map +1 -1
  24. package/dist/ue-mcp.default.yml +235 -100
  25. package/package.json +2 -2
  26. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/HandlerJsonProperty.h +392 -19
  27. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Animation/AnimationHandlers.cpp +177 -0
  28. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Animation/AnimationHandlers.h +1 -0
  29. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Animation/AnimationHandlers_ControlRigSequencer.cpp +215 -43
  30. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Asset/AssetHandlers.cpp +230 -9
  31. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Asset/AssetHandlers.h +3 -0
  32. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Asset/AssetHandlers_BulkProperties.cpp +15 -3
  33. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Asset/AssetHandlers_Import.cpp +542 -12
  34. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Asset/AssetHandlers_Sockets.cpp +29 -1
  35. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Editor/EditorHandlers.cpp +18 -7
  36. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Editor/EditorHandlers_PIERuntime.cpp +6 -3
  37. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Level/LevelHandlers_Save.cpp +2 -0
  38. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PCG/PCGHandlers.cpp +567 -79
  39. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PCG/PCGHandlers.h +2 -0
  40. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/PCG/PCGHandlers_Subgraph.cpp +119 -63
  41. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/Reflection/ReflectionHandlers_Schema.cpp +5 -1
  42. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/SkeletalMesh/SkeletalMeshHandlers.cpp +211 -0
  43. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/SkeletalMesh/SkeletalMeshHandlers.h +1 -0
  44. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/AnimationPhysicsAssetConstraintsTests.cpp +262 -0
  45. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/AssetExportTests.cpp +250 -0
  46. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/AssetNestedArrayPathTests.cpp +273 -0
  47. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/AssetTargetedSaveTests.cpp +156 -0
  48. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/DataTableRowWriteTests.cpp +444 -3
  49. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/EditorFunctionCallTests.cpp +52 -0
  50. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/MCPDataTableTestTypes.h +18 -0
  51. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/MCPKeyedPathTestTypes.h +72 -0
  52. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/MCPKeyedPathTests.cpp +553 -0
  53. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/MCPNestedArrayPathTestTypes.h +53 -0
  54. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/PCGDisconnectNotifyTests.cpp +67 -0
  55. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Tests/PCGHandlerTests.cpp +409 -0
  56. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Public/HandlerParams.h +25 -0
  57. package/plugin/ue_mcp_bridge/UE_MCP_Bridge.uplugin +2 -2
  58. package/skills/ue-mcp-animation/SKILL.md +7 -0
package/README.md CHANGED
@@ -8,9 +8,9 @@
8
8
  <img width="1354" height="586" alt="{6F52BA62-D736-454E-AD30-A1C98F9EEBAA}" src="https://github.com/user-attachments/assets/9380e080-c608-4609-ba21-90e6b0a3ba7f" />
9
9
 
10
10
 
11
- **Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->26<!-- /count --> category tools covering <!-- count:actions -->1972+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows and an npm plugin system for extending the surface.
11
+ **Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->26<!-- /count --> category tools covering <!-- count:actions -->1975+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows and an npm plugin system for extending the surface.
12
12
 
13
- That total is <!-- count:ownActions -->1142+<!-- /count --> actions of ue-mcp's own plus Epic's entire native AI Toolset Registry: on UE 5.8+ its <!-- count:nativeToolActions -->830<!-- /count --> official Unreal tools are called in-process and surfaced as `epic_*` actions in the matching category, Sequencer in `animation`, PCG in `pcg`, static meshes in `asset`.
13
+ That total is <!-- count:ownActions -->1145+<!-- /count --> actions of ue-mcp's own plus Epic's entire native AI Toolset Registry: on UE 5.8+ its <!-- count:nativeToolActions -->830<!-- /count --> official Unreal tools are called in-process and surfaced as `epic_*` actions in the matching category, Sequencer in `animation`, PCG in `pcg`, static meshes in `asset`.
14
14
 
15
15
  ```mermaid
16
16
  flowchart LR
@@ -142,7 +142,7 @@ flows:
142
142
  flow(action="run", flowName="build_and_check")
143
143
  ```
144
144
 
145
- Every one of the <!-- count:actions -->1972+<!-- /count --> actions is also a flow task. Flows support step references, retries, rollback, custom tasks in your own `.js`/`.ts`, and shell steps. See [Flows](https://ue-mcp.com/docs/flows/).
145
+ Every one of the <!-- count:actions -->1975+<!-- /count --> actions is also a flow task. Flows support step references, retries, rollback, custom tasks in your own `.js`/`.ts`, and shell steps. See [Flows](https://ue-mcp.com/docs/flows/).
146
146
 
147
147
  ## Plugins
148
148
 
@@ -17,6 +17,7 @@ type SearchableTool = {
17
17
  actions?: Record<string, {
18
18
  description?: string;
19
19
  bridge?: string;
20
+ effect?: string;
20
21
  }>;
21
22
  };
22
23
  /** Rank the graph supplied by the caller, including that session's plugins. */
@@ -35,24 +35,57 @@ const SYNONYM_GROUPS = [
35
35
  ["config", "setting", "property", "param", "parameter"],
36
36
  ["nudge", "clockwise", "counterclockwise", "viewpoint"],
37
37
  ];
38
- // Words too common/short to discriminate. "a"/"an"/"as" as substrings match
39
- // almost every action name, so they must not contribute to scoring.
38
+ // Words too common to discriminate between actions, so they must not
39
+ // contribute to scoring (or to the adjacent-word pairs built from it).
40
40
  const STOPWORDS = new Set([
41
41
  "a", "an", "as", "at", "be", "by", "do", "for", "from", "in", "into", "is", "it",
42
42
  "its", "of", "on", "or", "the", "to", "up", "via", "with", "and", "that", "this",
43
43
  "my", "me", "i", "we", "you", "want", "need", "make", "get", "set", "new", "some",
44
+ "each", "every", "all", "any", "several",
44
45
  ]);
45
- function meaningfulTerms(rawTerms) {
46
- return rawTerms.filter((t) => t.length >= 3 && !STOPWORDS.has(t));
46
+ // A task summary says what the caller wants done to what. An action's effect
47
+ // answers the first half, so single-effect asks demote the opposite effect.
48
+ const READ_VERBS = new Set(["read", "get", "list", "inspect", "check", "dump", "show", "find", "query", "which", "what"]);
49
+ const MUTATE_VERBS = new Set([
50
+ "set", "add", "create", "delete", "remove", "write", "modify", "change", "rename",
51
+ "spawn", "import", "move", "apply", "assign", "update", "replace", "fix", "make",
52
+ ]);
53
+ const INTENT_PENALTY = 3;
54
+ // Descriptions are long free text, so their hits grow with length, not with
55
+ // relevance. Capped, a verbose action cannot outvote a name that says the word.
56
+ const TEXT_HIT_CAP = 3;
57
+ const PHRASE_HIT = 3;
58
+ // A query word naming the tool itself ("material parameter") outweighs incidental description text.
59
+ const TOOL_NAME_HIT = 2;
60
+ const PHRASE_HIT_CAP = 6;
61
+ /** Fold plurals and common verb suffixes. Both sides use it. */
62
+ function stem(w) {
63
+ const root = w.replace(/ies$/, "y").replace(/(ss|x)es$/, "$1").replace(/([^s])s$/, "$1")
64
+ .replace(/^(.{4,})(ing|ed|er)$/, "$1");
65
+ // Inflected verbs can drop a silent e: deleted/deleting must meet delete.
66
+ return MUTATE_VERBS.has(`${root}e`) ? `${root}e` : root;
67
+ }
68
+ /**
69
+ * The meaningful words of a text, in order, stemmed. Split on anything that is
70
+ * not a letter or digit, so punctuation ("class,") and underscores never glue
71
+ * words together, and match on whole words, never substrings: "movement" is not
72
+ * "move", "count" is not in "account", "order" is not in "reorder".
73
+ */
74
+ function wordsOf(text) {
75
+ return text.toLowerCase().split(/[^a-z0-9]+/).filter((t) => t.length >= 3 && !STOPWORDS.has(t)).map(stem);
47
76
  }
48
- function expandTerms(rawTerms) {
49
- const out = new Set(rawTerms);
50
- for (const term of rawTerms) {
51
- for (const group of SYNONYM_GROUPS) {
52
- if (group.some((g) => term.includes(g) || g.includes(term))) {
77
+ const pairsOf = (words) => new Set(words.slice(1).map((w, i) => `${words[i]} ${w}`));
78
+ // Index compounds on both sides without changing the order used for phrases.
79
+ const joinedWords = (words) => [...words, ...words.slice(1).map((w, i) => words[i] + w)];
80
+ const STEMMED_GROUPS = SYNONYM_GROUPS.map((g) => new Set(g.map(stem)));
81
+ /** The query words plus every member of a synonym group one of them belongs to. */
82
+ function expandTerms(words) {
83
+ const out = new Set(words);
84
+ for (const w of words) {
85
+ for (const group of STEMMED_GROUPS) {
86
+ if (group.has(w))
53
87
  for (const g of group)
54
88
  out.add(g);
55
- }
56
89
  }
57
90
  }
58
91
  return out;
@@ -67,10 +100,17 @@ export function searchToolGraph(tools, query, limit = 20) {
67
100
  const q = (query ?? "").toLowerCase().trim();
68
101
  if (!q)
69
102
  return [];
70
- const rawTerms = meaningfulTerms(q.split(/\s+/).filter(Boolean));
71
- if (rawTerms.length === 0)
103
+ const queryWords = wordsOf(q);
104
+ if (queryWords.length === 0)
72
105
  return [];
73
- const terms = expandTerms(rawTerms);
106
+ const terms = expandTerms(joinedWords(queryWords));
107
+ const queryPairs = pairsOf(queryWords);
108
+ const queryPhrase = ` ${queryWords.join(" ")} `;
109
+ const verbs = q.split(/[^a-z0-9]+/).map(stem);
110
+ const reads = verbs.some((v) => READ_VERBS.has(v));
111
+ const writes = verbs.some((v) => MUTATE_VERBS.has(v));
112
+ const readOnlyAsk = reads && !writes;
113
+ const writeOnlyAsk = writes && !reads;
74
114
  // The live graph, not the pristine declaration: discovery has to see the
75
115
  // Epic and plugin actions the server actually advertises, and with one graph
76
116
  // per editor session those are no longer the same objects (#817).
@@ -80,19 +120,37 @@ export function searchToolGraph(tools, query, limit = 20) {
80
120
  if (DEPRIORITIZE.has(actionName))
81
121
  continue;
82
122
  const desc = spec?.description ?? "";
83
- const nameL = actionName.toLowerCase();
84
- const hay = `${tool.name} ${nameL} ${desc}`.toLowerCase();
85
- let score = 0;
123
+ const nameWords = wordsOf(actionName);
124
+ const descWords = wordsOf(desc);
125
+ const nameSet = new Set(joinedWords(nameWords));
126
+ const toolSet = new Set(joinedWords(wordsOf(tool.name)));
127
+ const textSet = new Set(joinedWords(descWords));
128
+ let nameHits = 0;
129
+ let textHits = 0;
86
130
  for (const t of terms) {
87
- if (!t)
88
- continue;
89
- if (nameL.includes(t))
90
- score += 3; // action-name hit weighs most
91
- else if (hay.includes(t))
92
- score += 1;
131
+ if (nameSet.has(t))
132
+ nameHits += 3; // action-name hit weighs most
133
+ else if (toolSet.has(t))
134
+ nameHits += TOOL_NAME_HIT; // the tool is half the address ("material.list_parameters")
135
+ else if (textSet.has(t))
136
+ textHits += 1;
137
+ }
138
+ // Two query words side by side in the name or description is a phrase
139
+ // ("movement component"), far stronger than the two words apart.
140
+ let phraseHits = 0;
141
+ for (const p of [...pairsOf(nameWords), ...pairsOf(descWords)])
142
+ if (queryPairs.has(p))
143
+ phraseHits += PHRASE_HIT;
144
+ for (const p of queryPairs) {
145
+ const joined = p.replace(" ", "");
146
+ if (nameWords.includes(joined) || descWords.includes(joined))
147
+ phraseHits += PHRASE_HIT;
93
148
  }
94
- if (hay.includes(q))
149
+ let score = nameHits + Math.min(textHits, TEXT_HIT_CAP) + Math.min(phraseHits, PHRASE_HIT_CAP);
150
+ if (` ${[...wordsOf(tool.name), ...nameWords, ...descWords].join(" ")} `.includes(queryPhrase))
95
151
  score += 3; // whole-query phrase bonus
152
+ if ((readOnlyAsk && spec?.effect === "mutate") || (writeOnlyAsk && spec?.effect === "read"))
153
+ score -= INTENT_PENALTY;
96
154
  if (score <= 0)
97
155
  continue;
98
156
  // Collapse aliases that route to the same bridge handler (e.g.
@@ -1 +1 @@
1
- {"version":3,"file":"tool-search.js","sourceRoot":"","sources":["../../../src/surface/context/tool-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-search.js","sourceRoot":"","sources":["../../../src/surface/context/tool-search.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "tools": 26,
3
- "actions": 1972,
4
- "ownActions": 1142,
5
- "bridgeActions": 1911,
3
+ "actions": 1975,
4
+ "ownActions": 1145,
5
+ "bridgeActions": 1914,
6
6
  "localActions": 61,
7
7
  "perTool": {
8
8
  "project": 69,
9
- "asset": 221,
9
+ "asset": 223,
10
10
  "blueprint": 145,
11
11
  "level": 146,
12
12
  "material": 92,
13
- "animation": 461,
13
+ "animation": 462,
14
14
  "landscape": 37,
15
15
  "pcg": 55,
16
16
  "foliage": 15,
@@ -34,6 +34,6 @@
34
34
  },
35
35
  "nativeToolsets": 52,
36
36
  "nativeToolActions": 830,
37
- "generatedAt": "2026-10-06T00:55:16.577Z",
38
- "version": "1.3.10-beta.13"
37
+ "generatedAt": "2026-10-08T03:13:19.608Z",
38
+ "version": "1.3.10-beta.15"
39
39
  }
@@ -23,6 +23,7 @@ export const animationTool = categoryTool("animation", "Animation assets, skelet
23
23
  list_sockets: specBp("read", "List sockets.", "list_animation_sockets"),
24
24
  list_skeletal_meshes: specBp("read", "List skeletal meshes. directory scopes the read to one folder and is now honoured; it was advertised and ignored, so a scoped call used to get the whole project back.", "list_skeletal_meshes"),
25
25
  get_physics_asset: specBp("read", "Read physics asset.", "get_physics_asset_info"),
26
+ get_physics_asset_constraints: specBp("read", "Read every constraint template of a PhysicsAsset: constraintName, bone1 (child) and bone2 (parent); linear x/y/z motion and limit; swing1/swing2/twist motion (Free|Limited|Locked) with limit degrees; per-limit soft flag, stiffness and damping; whether the linear and angular drives are enabled; parentDominates and disableCollision; and frame1/frame2, the constraint frame's position and rotation in each body's space. get_physics_asset lists only body bone names and asset(read_properties) shows ConstraintSetup as opaque object paths, so diagnosing a contorted ragdoll used to need Python. Pass the PhysicsAsset path, or the SkeletalMesh it is assigned to. boneName keeps the constraints touching one bone; limit caps the rows and total still counts every match. Also reports bodyCount, constraintCount and the preview skeletal mesh path.", "get_physics_asset_constraints"),
26
27
  create_sequence: specBp("mutate", "Create blank AnimSequence.", "create_sequence"),
27
28
  set_bone_keyframes: specBp("mutate", "Set bone transform keyframes.", "set_bone_keyframes"),
28
29
  bake_keyframes_batch: specBp("mutate", "Bake per-bone keyframe arrays for many bones into an AnimSequence in one call. Auto-creates each bone track first (set_bone_keyframes silently leaves a T-pose if the track is missing), wraps the batch in one transaction, and raises if any bone fails instead of reporting hollow success (#540).", "bake_keyframes_batch"),
@@ -67,7 +68,7 @@ export const animationTool = categoryTool("animation", "Animation assets, skelet
67
68
  begin_control_rig_edit: specBp("mutate", "UE 5.8 only. Create a Sequencer Control Rig editing session over a source AnimSequence; native returns unsupported_engine_version on older engines. Baseline first: before this call, reuse or create a Control Rig for the target character, bind/import the exact target skeleton, add the intended controls, author Forward Solve, add Backward/Inverse Solve, verify it with read_control_rig_hierarchy/read_control_rig_graph, and pass an unchanged source round-trip. For a new baseline, the Unreal 5.8 ControlRig toolset (wrapped on this category, or through epic(call_tool)) creates the rig, imports the skeleton bones, adds controls and adds a backward solve graph; a newly created rig alone is not usable. There is no silent fallback to raw bone-key authoring. rigMode='fk' uses UFKControlRig only when generated FK controls are sufficient; rigMode='asset' requires the verified controlRigPath and rejects rigs without inverse execution. bindingTag is the stable natural key for replay. onConflict is skip|error (default error); existing sessions are never modified. layered defaults false. startFrame is inclusive and endFrame is exclusive. Returns the resolved bindingTag/binding GUID, rig, frame range, controls and created/existed status.", "begin_control_rig_edit"),
68
69
  read_control_rig_edit: specBp("read", "UE 5.8 only. Read transform, bool, float/scale-float, and integer/enum controls from a Control Rig editing session without changing editor state; native returns unsupported_engine_version on older engines and has no silent fallback. Scalar samples return value instead of transform. Control metadata includes native controlType, animatable, and enum path/options where applicable. Returns session identity, layered mode, range/rate, filtered control metadata, and requested frame samples.", "read_control_rig_edit"),
69
70
  capture_control_rig_pose: specBp("read", "UE 5.8 only. Capture current live local UControlRig values without opening, scrubbing, refreshing, or evaluating Sequencer; native returns unsupported_engine_version on older engines and has no silent fallback. The addressed LevelSequence must already be focused. Omit controlNames to capture the current Control Rig selection. Returns an immutable captureVersion=1 snapshot with sequence, binding, track, section, rig-object, current-frame, selection, control-type, and typed-value identity for later propagate_pose validation.", "capture_control_rig_pose"),
70
- apply_control_rig_edits: specBp("mutate", "UE 5.8 only. Apply typed Control Rig edits in one transaction; native returns unsupported_engine_version on older engines. There is no silent fallback to raw bone tracks. set_keys writes strictly ordered full per-frame transforms from normalized quaternions and preserves shortest-arc quaternion continuity. A set operation writes one full absolute transform at frame or frames. An offset operation applies translation/rotation/scale deltas across an inclusive frame range with optional edge blends. propagate_pose validates caller-held baseline and accepted live snapshots from the same session, exact rig instance, frame, and complete control set, then keys only controls whose values changed across each control's explicit original donorFrames. Snapshot selection is provenance metadata; the explicit propagation controls are authoritative. mode='fixed' copies the accepted changed channels; mode='local_delta' preserves donor motion while applying the captured local delta. Bool, enum, and int controls support fixed only. contact_lock densely constrains a translatable driver control, or an optional driven bone/socket reference, to a fixed component-space target with smooth edge blends and optional pole/control stabilization. Driver and stabilizer keys are read back transactionally. A drivenReference contact returns verification='bake_and_analyze_required'; bake it and analyze every constrained frame before accepting the bone/socket result. set_bool, set_float, and set_int key matching scalar controls; enum controls use set_int with one of the integer values reported in enumOptions. Sequencer's current interpolation mode is retained. Returns per-operation counts, affected controls/frames and changedChannels; a failed key/readback batch is undone.", "apply_control_rig_edits"),
71
+ apply_control_rig_edits: specBp("mutate", "UE 5.8 only. Apply typed Control Rig edits in one transaction; native returns unsupported_engine_version on older engines. There is no silent fallback to raw bone tracks. set_keys writes strictly ordered full per-frame transforms from normalized quaternions and preserves shortest-arc quaternion continuity. A set operation writes one full absolute transform at frame or frames. An offset operation applies translation/rotation/scale deltas across an inclusive frame range with optional edge blends. propagate_pose validates caller-held baseline and accepted live snapshots from the same session, exact rig instance, frame, and complete control set, then keys only controls whose values changed across each control's explicit original donorFrames. Snapshot selection is provenance metadata; the explicit propagation controls are authoritative. mode='fixed' copies the accepted changed channels; mode='local_delta' preserves donor motion while applying the captured local delta. Bool, enum, and int controls support fixed only. contact_lock densely constrains a translatable driver control, or an optional driven bone/socket reference, to a fixed component-space target with smooth edge blends and optional pole/control stabilization. Driver and stabilizer keys are read back transactionally. A drivenReference or targetReference contact returns verification='bake_and_analyze_required' without passed=true; bake it and analyze every constrained frame before accepting the bone/socket result. set_bool, set_float, and set_int key matching scalar controls; enum controls use set_int with one of the integer values reported in enumOptions. Sequencer's current interpolation mode is retained. Operations are keyed in order, each sampled after the ones before it land, so batched control offsets compose like separate calls: a component-space offset on a child adds to an earlier offset on its parent. Contacts using targetReference, or drivenReference without the FK rotation-chain solver, require a fresh session without earlier rig edits because those references sample the source animation; bake prior edits and begin a new session first. They must also be first in the batch, otherwise contact_lock_reference_batch_unsupported refuses it. Final readback checks stored control/driver poses; it does not re-evaluate target-reference motion after later edits. Driven contacts also check their final FK end-control or asset-driver pose before saving; bone/socket results still require bake and analysis. Returns per-operation counts, affected controls/frames and changedChannels; a failed key/readback batch is undone.", "apply_control_rig_edits"),
71
72
  bake_control_rig_edit: specBp("mutate", "UE 5.8 only. Bake the evaluated Control Rig session to a new AnimSequence asset; native returns unsupported_engine_version on older engines and has no raw-track fallback. The source LevelSequence remains unchanged. outputAssetPath is the output natural key; onConflict is skip|error (default error), never overwrite. Key reduction and Sequencer links are not supported yet, so reduceKeys/createLink must be false or omitted. Returns output asset metadata, frame/rate counts, status, and delete-created-asset rollback.", "bake_control_rig_edit"),
72
73
  analyze_animation: specBp("unknown", "Cross-version, data-driven AnimSequence inspection using the native animation APIs available in the compiled engine. Samples an AnimSequence and reports deterministic numeric motion diagnostics without Python or viewport inference. Returns source/rate/range metadata, sampled local/component transforms, root-motion and continuity metrics, and any written analysis artifacts. facingBones samples the component-space vector from boneA to boneB at every sampled frame, rotates it into the root bone's frame, and reports its yaw per sample (facingYawDegrees; 0 is root +X, 90 is root +Y) and over the clip in summary.facing: averageYawDegrees (circular mean), minYawDegrees, maxYawDegrees, spreadDegrees, resultantLength and degenerateSampleCount for samples where the vector is vertical.", "analyze_animation"),
73
74
  set_root_motion: specBp("mutate", "Set root motion settings on AnimSequence.", "set_root_motion_settings"),
@@ -1 +1 @@
1
- {"version":3,"file":"animation.js","sourceRoot":"","sources":["../../src/tools/animation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"animation.js","sourceRoot":"","sources":["../../src/tools/animation.ts"],"names":[],"mappings":"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"}
@@ -199,9 +199,9 @@ export const assetTool = categoryTool("asset", "Asset management: list, search,
199
199
  },
200
200
  },
201
201
  read: specBp("read", "Read asset via reflection.", "read_asset"),
202
- read_properties: specBp("read", "Read asset properties with values. Blueprint paths resolve to the generated-class CDO (#568). propertyName accepts dotted/indexed paths into nested structs, array elements, and instanced subobjects (e.g. `Config.Traits[1].Params.Field`); landing on an array of subobjects also lists each element's index+class (#527). expandDepth inlines the properties of subobjects OWNED by this asset, so a data asset's nested payload comes back in ONE call instead of a reference you have to chase (#755); references to OTHER assets are marked expandable rather than followed, unless expandExternal=true. Capped by maxExpandedObjects with expansionTruncated reported.", "read_asset_properties"),
202
+ read_properties: specBp("read", "Read asset properties with values. Blueprint paths resolve to the generated-class CDO (#568). propertyName accepts dotted/indexed paths into nested structs, array elements, and instanced subobjects (e.g. `Config.Traits[1].Params.Field`), and keyed paths that pick the one array element whose field equals a value (`Profiles[ProfileId=Axe].Offset.Scale3D`, reported back as indexedPath); landing on an array of subobjects also lists each element's index+class (#527). expandDepth inlines the properties of subobjects OWNED by this asset, so a data asset's nested payload comes back in ONE call instead of a reference you have to chase (#755); references to OTHER assets are marked expandable rather than followed, unless expandExternal=true. Capped by maxExpandedObjects with expansionTruncated reported.", "read_asset_properties"),
203
203
  list_properties: specBp("read", "List reflected properties on any asset.", "read_asset_properties"),
204
- get_properties: specBp("read", "Read property values on any asset; the same read as read_properties with includeValues on by default. propertyName accepts dotted/indexed paths into nested structs, array elements, and instanced subobjects. valueFormat='json' returns structured values.", "get_asset_properties"),
204
+ get_properties: specBp("read", "Read property values on any asset; the same read as read_properties with includeValues on by default. propertyName accepts dotted/indexed/keyed paths into nested structs, array elements, and instanced subobjects, so one leaf of one element reads without dumping the array: `Profiles[ProfileId=Axe].Offset.Scale3D`. valueFormat='json' returns structured values.", "get_asset_properties"),
205
205
  duplicate: specBp("mutate", "Duplicate asset.", "duplicate_asset"),
206
206
  rename: specBp("mutate", "Rename asset: pass assetPath and newName, or sourcePath and destinationPath. World Partition levels are detected and their __ExternalActors__/__ExternalObjects__ packages migrate atomically alongside the .umap, source-side redirectors get fixed up, and the active editor world is swapped to blank if it matches the source (#409). Refuses if any package is dirty - save first. If a prior rename left externals orphaned at the old path, re-running reconciles them. Rollback descriptor is emitted even on partial failure so the inverse rename can recover. `force=true` lets the call merge into a destination with pre-existing externals (used by rollback). For batches of 3+ scene-referenced non-world assets use bulk_rename instead.", "rename_asset"),
207
207
  bulk_rename: specBp("mutate", "Batched rename using IAssetTools::RenameAssets - single transaction with one redirector-fixup pass (matches Content Browser drag). Use this over looped rename for scene-referenced assets. World assets are rejected (status=rejected_world); use rename_asset which handles WP externals atomically (#409). The fix-up pass cannot see a referencer that is not loaded, so each renamed item reports redirectorLeft and the result carries redirectorsLeft/redirectorsRemoved plus redirectorPackages, which feeds straight into fixup_redirectors (#908). A batch that would leave another object of a multi-object package at the old path is refused with reason=package_objects_left_behind and splitPackages naming each one; nothing moves (#1137).", "bulk_rename_assets"),
@@ -223,7 +223,7 @@ export const assetTool = categoryTool("asset", "Asset management: list, search,
223
223
  },
224
224
  create_subobject: specBp("mutate", "Create a named subobject OWNED by an existing asset, inside that asset's package, and return its object path for later property writes. This is the missing half of editing a data asset whose payload is named subobjects referenced from a struct array: set_property, bulk_set_properties and append_array_elements can edit the entries, and this makes a new one. Component classes are accepted, unlike create_asset_by_class; Actors are refused because they are spawned into a level. className takes a /Script/Module.Class path, which is how you name a plugin class the Python `unreal` module never exposes. The new object is created RF_Standalone and the package is saved in the same call, so it survives the garbage collection that used to eat a fresh object within one call and is reachable by path from the next one. properties are applied to a throwaway instance first, so a bad path or value creates nothing. outer='asset' (default) gives '<asset>.<name>'; outer='package' puts it beside the asset in the package (#975).", "create_subobject"),
225
225
  bulk_upsert_data_assets: specBp("mutate", "Create or update up to 500 UDataAsset instances in ONE call. Every descriptor is first applied to a transient copy, so a bad class, property path, or value rejects the whole batch before a package is touched; nothing is half-written by a typo. Per-item status is created | updated | unchanged | skipped | failed (dryRun reports wouldCreate | wouldUpdate | wouldRemainUnchanged | wouldSkip), each with its own error when it failed. Replaying the same request returns unchanged, and only changed packages are saved. Emits a rollback descriptor that restores prior values and deletes what it created.", "bulk_upsert_data_assets"),
226
- save: specBp("mutate", "Save one asset, or every dirty asset under /Game when assetPath is omitted. force=true saves regardless of the dirty flag - several edits (OFPA level actors, some subsystem property writes) never mark their package dirty, so a dirty-only save skipped them and still reported success. Returns the package name plus on-disk file path, size and mtime so the write can be verified rather than trusted (#768). A failed save returns the engine's reason in error and saveDiagnostics, and when the engine refused a reference to a private object, illegalReference names that object, the object and property holding it, and how to clear it (#1120).", "save_asset"),
226
+ save: specBp("mutate", "Save one asset, exactly the packages named by assetPaths, or every dirty asset under /Game when both are omitted. assetPaths resolves each asset, object or package path to its loaded package (naming a World Partition actor names its external package), refuses the whole call before writing anything if one names nothing in memory, and reports each package as saved, notDirty or failed with a reason; no other package is written. The save-everything form refuses a call carrying any key it does not take, so a misspelt selector cannot widen it. force=true saves regardless of the dirty flag - several edits (OFPA level actors, some subsystem property writes) never mark their package dirty, so a dirty-only save skipped them and still reported success. Returns the package name plus on-disk file path, size and mtime so the write can be verified rather than trusted (#768). A failed save returns the engine's reason in error and saveDiagnostics, and when the engine refused a reference to a private object, illegalReference names that object, the object and property holding it, and how to clear it (#1120).", "save_asset"),
227
227
  save_all_dirty: specBp("mutate", "Flush every dirty package to disk in one call. Reports the packages it attempted, which ones reached disk (with file path, size and mtime) and which are still dirty afterwards, because a bare savedAll boolean has come back true while packages were never written (#768).", "save_all_dirty"),
228
228
  set_mesh_material: specBp("mutate", "Assign material to static mesh slot.", "set_mesh_material"),
229
229
  set_mesh_materials_batch: specBp("mutate", "Assign materials across many meshes and slots in one call, so an N mesh x M slot kit costs one round trip instead of N*M. StaticMesh and SkeletalMesh both work. Address a slot by slotName (survives a reimport reordering slot indices) or by slotIndex (default 0); passing both is rejected when they disagree. Every submitted assignment returns its own index/ok/status/error, status being ok|updated|unchanged|invalid|protected|duplicate|not_found|slot_not_found|failed|skipped. Default is all-or-nothing: any preflight rejection aborts before a mesh is touched. Pass continueOnError to apply the assignments that did pass and keep the rejects reported alongside them. Each mesh is written and saved once no matter how many of its slots the batch names, and the rollback payload restores only the writes that landed (#822).", "set_mesh_materials_batch"),
@@ -239,6 +239,7 @@ export const assetTool = categoryTool("asset", "Asset management: list, search,
239
239
  get_static_mesh_build_settings: specBp("read", "Read a StaticMesh source model's FMeshBuildSettings (bRecomputeNormals, bRecomputeTangents, bUseMikkTSpace, bRemoveDegenerates, bGenerateLightmapUVs, BuildScale3D and every other field) by its engine property name. lodIndex picks the source model (default 0). Returns settings and sourceModelCount.", "get_static_mesh_build_settings"),
240
240
  set_static_mesh_build_settings: specBp("mutate", "Write FMeshBuildSettings fields on a StaticMesh source model, then rebuild and save it. settings is keyed by engine property name, e.g. {bRecomputeNormals: true}; an unknown name or wrong type refuses the whole call before anything changes. A call that changes nothing skips the rebuild. Returns previous and settings, and rolls back to the previous values.", "set_static_mesh_build_settings"),
241
241
  read_skeletal_mesh_skin_weights: specBp("read", "Read existing per-vertex skin influences from one SkeletalMesh source LOD and profile. The caller must name 1-256 source MeshDescription vertex IDs, so a read cannot dump a whole mesh. Each influence returns boneName, boneIndex, normalized weight and exact uint16 rawWeight. Render data may use 8-bit weights unless high-precision skin weights are enabled. Generated LODs without source geometry are refused.", "read_skeletal_mesh_skin_weights"),
242
+ read_skeletal_mesh_bone_vertex_bounds: specBp("read", "Measure where each bone's skinned vertices sit on one SkeletalMesh source LOD and profile, so physics bodies, sockets and hit volumes can be sized from the mesh instead of guessed. By default each source vertex counts once, for its dominant bone; minWeight counts it for every bone weighing at least that much. boneNames limits the report to those bones (a named bone with no vertices comes back with vertexCount 0); omitted, every bone that owns a vertex is listed. Each bone returns boneName, boneIndex, parentName, vertexCount, bindPose (its component-space reference transform), componentSpace {min, max, center, extent} in the bind pose and boneSpace {min, max, center, extent} in the bone's own bind-pose frame, the frame a physics body on that bone uses. Also returns vertexCount, unweightedVertexCount and, with minWeight, belowThresholdVertexCount. Read-only.", "read_skeletal_mesh_bone_vertex_bounds"),
242
243
  set_skeletal_mesh_skin_weights: specBp("mutate", "Replace skin influences on explicitly selected source MeshDescription vertices in one existing SkeletalMesh LOD/profile. The complete batch is validated before mutation: invalid or duplicate vertices/bones, non-finite/negative/out-of-range weights and all-zero sets fail without a write. Unreal's FBoneWeights normalizes, quantizes to uint16 source weights and prunes ordinary edits to its influence limit; actual before/after values are read back. Other source vertices and source profiles are untouched. Rebuilding may refresh derived render data and dependent generated LODs. A changed mesh is rebuilt and saved; an identical request is a no-op. Rollback payloads use restoreRawWeights with exact uint16 rawWeight values.", "set_skeletal_mesh_skin_weights"),
243
244
  read_cloth_data: specBp("read", "Read Chaos cloth data on a skeletal mesh: per clothing asset, its configs (reflected properties), LOD count, and per-LOD point-weight-map summary (name, target, vertex count, min/max - including the MaxDistances mask). Also reports which render sections each clothing asset is bound to (boundSections, bound), every section of every LOD (sections: lodIndex, sectionIndex, materialIndex, usesCloth, clothingAsset, assetLodIndex) and unboundClothingAssets: an asset bound to no section never simulates (#595/#1139).", "read_cloth_data"),
244
245
  bind_cloth_to_section: specBp("mutate", "Bind a clothing asset to one render section so it simulates, as the skeletal mesh editor's section clothing dropdown does. Whatever the section was bound to is unbound first. lodIndex and sectionIndex are validated against the mesh, assetLodIndex against the clothing asset. Saves the mesh; rolls back to the previous binding (#1139).", "bind_cloth_to_section"),
@@ -248,7 +249,7 @@ export const assetTool = categoryTool("asset", "Asset management: list, search,
248
249
  compare_textures: specBp("read", "Compare two Texture2D assets by dimensions, pixel format, and source-content identity (FTextureSource id) - tells you whether an authored texture actually changed without offline pixel-diffing (#697).", "compare_textures"),
249
250
  import_texture_batch: specBp("mutate", "Import many textures in one call - the loop stays inside the editor (no per-file bridge round-trip), so this finishes far faster than N import_texture calls. Per-item result records mirror import_texture. Returns requested/imported/failed counts + items[] (#430).", "import_texture_batch"),
250
251
  reimport: specBp("mutate", "Reimport asset from source file.", "reimport_asset"),
251
- read_datatable: specBp("read", "Read DataTable rows. A large table overflows the response inline: pass outputPath to write the rows (after rowFilter) to a file as a JSON array instead. The response then carries outputPath (resolved absolute path), rowCount, bytes, rowStruct and totalRowCount, with no rows or rowNames. A relative outputPath resolves under the project's Saved/, missing folders are created and an existing file is overwritten.", "read_datatable"),
252
+ read_datatable: specBp("read", "Read DataTable rows. columns narrows each row to its Name and the named top-level row-struct fields, which is how one field is read across every row of a wide table; an unknown name is refused with the row struct's field list, and the response echoes the resolved columns. A large table overflows the response inline: pass outputPath to write the rows (after rowFilter and columns) to a file as a JSON array instead. The response then carries outputPath (resolved absolute path), rowCount, bytes, rowStruct and totalRowCount, with no rows or rowNames. A relative outputPath resolves under the project's Saved/, missing folders are created and an existing file is overwritten.", "read_datatable"),
252
253
  create_datatable: specBp("mutate", "Create DataTable.", "create_datatable"),
253
254
  reimport_datatable: specBp("mutate", "Reimport DataTable from JSON.", "reimport_datatable"),
254
255
  set_datatable_row: specBp("mutate", "Append or overwrite a single DataTable row. row carries row-struct fields, and a partial update merges with the existing row. Idempotent; rollback restores the prior row (#437).", "set_datatable_row"),
@@ -257,6 +258,7 @@ export const assetTool = categoryTool("asset", "Asset management: list, search,
257
258
  remove_datatable_row: specBp("mutate", "Remove a single DataTable row. Idempotent (alreadyDeleted=true if missing) (#437).", "remove_datatable_row"),
258
259
  get_datatable_row: specBp("read", "Read one DataTable row's fields without dumping the whole table (#535).", "get_datatable_row"),
259
260
  set_datatable_cell: specBp("mutate", "Write a single field on a single existing row (merges, leaves other cells untouched). Errors if the row doesn't exist (#535).", "set_datatable_cell"),
261
+ set_datatable_cells: specBp("mutate", "Write many cells across many existing rows in one call, such as relabelling one column on every row. Every cell is validated first (the row exists, the column is a top-level field, the value parses as set_datatable_cell parses it); if any fails, nothing is written and errors[] lists each failing cell. The rest apply in one undo transaction with one Modify/PostEditChange, then every row is re-exported and compared with the export taken before: touched rows may differ only in the requested fields and every other row must be identical, or the write is rolled back and the offending row and field named. Reports changedCells, unchangedCells (already equal), rowsTouched and verified. dryRun validates and reports without writing; save defaults to false; rollback restores the prior values.", "set_datatable_cells"),
260
262
  rename_datatable_row: specBp("mutate", "Rename a row key, preserving its values (#535).", "rename_datatable_row"),
261
263
  fill_datatable_from_json: specBp("mutate", "Bulk-upsert rows from a {rowName: {field: value}} object without touching unrelated rows (non-destructive, unlike reimport_datatable) (#535).", "fill_datatable_from_json"),
262
264
  create_curvetable: specBp("mutate", "Create CurveTable asset.", "create_curvetable"),
@@ -285,11 +287,11 @@ export const assetTool = categoryTool("asset", "Asset management: list, search,
285
287
  list_input_mappings: gameplaySpecBp("read", "List an IMC's key->action bindings with triggers/modifiers. Same as gameplay(read_imc) (#525).", "read_imc"),
286
288
  add_socket: specBp("mutate", "Add socket to StaticMesh or SkeletalMesh. SkeletalMesh writes mesh-local sockets by default; pass a Skeleton asset path to edit skeleton-level sockets. Idempotent on socket name; pass onConflict='update' to overwrite an existing socket's transform with the supplied relativeLocation/relativeRotation/relativeScale (#412).", "add_socket"),
287
289
  remove_socket: specBp("mutate", "Remove socket by name.", "remove_socket"),
288
- list_sockets: specBp("read", "List sockets on a mesh (StaticMesh or SkeletalMesh). SkeletalMesh results include mesh-local sockets plus assigned Skeleton sockets, each with source='mesh' or source='skeleton'.", "list_asset_sockets"),
290
+ list_sockets: specBp("read", "List sockets on a mesh (StaticMesh or SkeletalMesh). SkeletalMesh results include mesh-local sockets plus assigned Skeleton sockets, each with source='mesh' or source='skeleton'. Every skeletal socket also carries componentTransform {location, rotation, scale}: its transform in component space at the reference pose (the SkeletalMesh's pose for a mesh, including its Skeleton's sockets; the Skeleton's own for a Skeleton asset, named in componentTransformPose), so no actor is needed to see where a socket sits. A socket whose bone is missing from that skeleton returns componentTransformError instead.", "list_asset_sockets"),
289
291
  set_socket_transform: specBp("mutate", "Update an existing socket's relative transform on StaticMesh or SkeletalMesh. Pass any subset of relativeLocation/relativeRotation/relativeScale; omitted fields stay at their current values. Errors if the socket does not exist (use add_socket to create). Common after FBX import when SOCKET_* empties land with scale=(100,100,100) (#412).", "set_socket_transform"),
290
- set_property: specBp("mutate", "Set a UPROPERTY on any loaded asset (Material, DataAsset, DataTable, SubsurfaceProfile, etc.) using a dotted path. Blueprint paths resolve to the generated-class CDO so you can author its defaults + Instanced sub-object arrays (#568). Walks nested structs, array elements by index, and instanced subobjects internally - no more read-modify-write copies (e.g. `settings.mean_free_path_distance` on a UMaterial, or `Config.Traits[1].Params.Field` on a config asset #527). Value goes through MCPJsonProperty::SetJsonOnProperty so JSON null clears object refs, structs accept {x,y,z}, arrays/maps round-trip. TMap values take { \"Key\": value } or, for struct keys, [{ key: {...}, value: ... }]; a write that cannot store every entry fails and leaves the old value untouched (#820). The write is saved to the package by default and the result reports persisted plus the package name; a write that could not reach disk (save=false, a protected mount, a read-only file, a refused save) comes back with persisted=false and persistError naming the reason instead of a bare success that reverts on the next editor start (#931) (#420).", "set_asset_property"),
291
- append_array_elements: specBp("mutate", "Append one or more JSON values to a reflected TArray without replacing existing entries. Supports dotted property paths plus native and user-defined USTRUCT elements. All elements are validated before mutation; returns appended indices and rollback data. The append is saved to the package by default and reports persisted / persistError the same way set_property does (#931).", "append_asset_array_elements"),
292
- bulk_set_properties: specBp("mutate", "Set dotted UPROPERTY paths on as many as 500 assets in one preflighted batch. Every asset, path, and value is validated before anything is mutated, and every submitted item comes back with its own ok/status/error, so a bad path in item 300 never hides the other 499 verdicts. Default is all-or-nothing: any preflight rejection aborts before a single UObject is touched. Pass continueOnError to apply the items that did pass and keep the rejects reported alongside them. Returns per-property readback, aggregate counts, targeted save results, and a replayable rollback payload covering only the writes that landed.", "bulk_set_asset_properties"),
292
+ set_property: specBp("mutate", "Set a UPROPERTY on any loaded asset (Material, DataAsset, DataTable, SubsurfaceProfile, etc.) using a dotted path. Blueprint paths resolve to the generated-class CDO so you can author its defaults + Instanced sub-object arrays (#568). Walks nested structs, array elements by index (`Rules[1]`) or by key (`Rules[Id=Axe]`: exactly one element's Id must equal Axe, else the error lists the ids), and instanced subobjects internally - no more read-modify-write copies (e.g. `settings.mean_free_path_distance` on a UMaterial, or `Config.Traits[1].Params.Field` on a config asset #527). Value goes through MCPJsonProperty::SetJsonOnProperty so JSON null clears object refs, structs accept {x,y,z}, arrays/maps round-trip. TMap values take { \"Key\": value } or, for struct keys, [{ key: {...}, value: ... }]; a write that cannot store every entry fails and leaves the old value untouched (#820). The write is saved to the package by default and the result reports persisted plus the package name; a write that could not reach disk (save=false, a protected mount, a read-only file, a refused save) comes back with persisted=false and persistError naming the reason instead of a bare success that reverts on the next editor start (#931) (#420). With save=false, nested array field writes stay in memory, leave the package dirty, and support editor undo; rollback restores the old value with the same save option.", "set_asset_property"),
293
+ append_array_elements: specBp("mutate", "Append one or more JSON values to a reflected TArray without replacing existing entries. Supports dotted property paths plus native and user-defined USTRUCT elements. All elements are validated before mutation; returns appended indices and rollback data. The append is saved to the package by default and reports persisted / persistError the same way set_property does (#931); rollback preserves the same save option, so an unsaved append can be restored without writing to disk.", "append_asset_array_elements"),
294
+ bulk_set_properties: specBp("mutate", "Set dotted UPROPERTY paths (indexed `Rules[1].X` or keyed `Rules[Id=Axe].X`, keys matched once in preflight) on as many as 500 assets in one preflighted batch. Every asset, path, and value is validated before anything is mutated, and every submitted item comes back with its own ok/status/error, so a bad path in item 300 never hides the other 499 verdicts. Default is all-or-nothing: any preflight rejection aborts before a single UObject is touched. Pass continueOnError to apply the items that did pass and keep the rejects reported alongside them. Returns per-property readback, aggregate counts, targeted save results, and a replayable rollback payload covering only the writes that landed.", "bulk_set_asset_properties"),
293
295
  bulk_read_properties: {
294
296
  ...specBp("read", "Read the SAME properties off many assets in one call, filtered and aggregated in the editor. read_properties answers one asset per call, which turns a library-wide question (concurrency settings across 582 sound assets, cull distances across 201 foliage types) into a loop. Select with assetPaths or with directory narrowed by classNames; propertyNames accepts dotted paths into nested structs (e.g. 'CullDistance.Max'), and a Blueprint path reads its generated-class CDO. Predicates, groupBy and countBy all evaluate here: filtering happens before anything crosses the wire, with the same operators as level(query_components). Absent and null are reported separately, because 'this class has no such property' and 'this property is unset' are different findings; suspect is true for either, and suspectOnly returns just those rows. Never writes, and reports dirtiedPackages (#909).", "bulk_read_asset_properties"),
295
297
  timeoutMs: 300_000,
@@ -299,7 +301,7 @@ export const assetTool = categoryTool("asset", "Asset management: list, search,
299
301
  reload_package: specBp("mutate", "Force reload an asset package from disk.", "reload_package"),
300
302
  health_check: specBp("read", "Diagnose stuck-unloadable asset. Returns onDisk/inRegistry/isLoaded/canLoad/isStuck flags so an agent can detect the half-shutdown state where load returns null but the file exists (#279).", "asset_health_check"),
301
303
  force_reload: specBp("mutate", "Aggressive reload from disk: closes open editors, reloads the package (rebuilding a Blueprint's class and CDO so container properties come back fresh, not just scalars), and reports objectReplaced. Refuses a dirty package unless discardUnsaved=true, and fails loudly when the editor would not release the old object rather than serving stale values (#279/#820).", "force_reload_asset"),
302
- export: specBp("mutate", "Export asset to disk file (Texture2D → PNG, StaticMesh → FBX, etc.).", "export_asset"),
304
+ export: specBp("mutate", "Export asset to disk file (Texture2D → PNG, StaticMesh → FBX, etc.). DataTable and CompositeDataTable require a .json or .csv outputPath and use the engine's JSON/CSV serializers: format=json|csv overrides the format inferred from that extension. Other extensions are rejected even with format set. Returns format, rowCount and bytes for tables without inline rows. Relative outputPath resolves against the project directory; missing folders are created and existing files are overwritten.", "export_asset"),
303
305
  search_fts: specBp("read", "Ranked asset search (token-scored over name/class/path). Every match is scored and the ranked list is paged, so the top page is a page rather than the whole answer. maxResults is a deprecated spelling of limit.", "search_assets_fts"),
304
306
  reindex_fts: specBp("mutate", "Rescan a content path so newly added assets on disk become searchable by search_fts.", "reindex_assets_fts"),
305
307
  get_referencers: specBp("read", "Reverse dependency lookup (what references this) (#150). Returns {referencersByPackage, totalReferencers}.", "get_asset_referencers"),
@@ -1 +1 @@
1
- {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/tools/asset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/tools/asset.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export const blueprintTool = categoryTool("blueprint", "Blueprint reading, autho
29
29
  set_component_override_materials: specBp("mutate", "Write OverrideMaterials on a mesh-component template (StaticMeshComponent / SkeletalMeshComponent / any UMeshComponent). Pass materialPaths as a string[] of material asset paths (empty array clears). Avoids any TArray<UObject*> coercion on the generic set_component_property path (#442).", "set_component_override_materials"),
30
30
  add_timeline_track: specBp("mutate", "Add a track to a Blueprint timeline. Creates the UTimelineTemplate if missing, builds the matching curve asset (float/vector/color/event), applies keyframes, bumps TimelineLength to cover the last key, then recompiles so K2Node_Timeline regenerates its output pins. value is a number for float/event, {x,y,z} for vector, {r,g,b,a} for color (#457)", "add_timeline_track"),
31
31
  set_capsule_size: specBp("mutate", "Call UCapsuleComponent::SetCapsuleSize on a CapsuleComponent template (CharacterMovement-friendly path; raw property writes leave the visualizer stale). Pass either or both of halfHeight/radius. Returns the new + previous values (#419).", "set_capsule_size"),
32
- get_component_property: specBp("read", "Read a single property value from an SCS or inherited component template. Returns the ICH override value for child BPs if one exists.", "get_blueprint_component_property"),
32
+ get_component_property: specBp("read", "Read one property of a Blueprint component template; propertyName may be a dotted path to a nested struct field (TransmissionSetup.bUseAutomaticGears). Works on the Blueprint's own SCS components, inherited components (returns the ICH override value for child BPs if one exists) and native C++ default-subobject components such as the movement component, resolved through the Blueprint class default object (CDO). Use read_component_properties for every property at once.", "get_blueprint_component_property"),
33
33
  set_class_default: specBp("mutate", "Set UPROPERTY on Blueprint CDO. Pass value=null to clear an object/class/interface reference (#420).", "set_class_default"),
34
34
  delete_variable: specBp("mutate", "Delete a member variable.", "delete_variable"),
35
35
  add_function_parameter: specBp("mutate", "Add input or output parameter to a function. parameterType takes the add_variable vocabulary, containers included (int[], set<Name>, map<Name,int>); an unrecognized type is rejected.", "add_function_parameter"),
@@ -54,7 +54,7 @@ export const blueprintTool = categoryTool("blueprint", "Blueprint reading, autho
54
54
  add_local_variable: specBp("mutate", "Add function-scope local variable. varType takes the add_variable vocabulary, containers included (int[], set<Name>, map<Name,int>); an unrecognized type is rejected.", "add_local_variable"),
55
55
  list_local_variables: specBp("read", "List local variables in a function.", "list_local_variables"),
56
56
  validate: specBp("read", "Validate blueprint without saving (compile + collect diagnostics).", "validate_blueprint"),
57
- read_component_properties: specBp("read", "Dump ALL UPROPERTYs on a BP component template incl. array contents (#105).", "read_component_properties"),
57
+ read_component_properties: specBp("read", "Read every UPROPERTY on a Blueprint component template, array contents and struct fields included, as UE export text. Works on the Blueprint's own SCS components, inherited components and native C++ default-subobject components a C++ parent class creates (for example the movement component), resolved through the Blueprint class default object (CDO) by instance name or property name. The result carries componentClass and inherited. Use get_component_property for one value (#105).", "read_component_properties"),
58
58
  get_component_collision: specBp("read", "Read a component's EFFECTIVE collision: enabled mode, object type, profile name, and the resolved Block/Overlap/Ignore per channel. read_component_properties cannot answer this - it exports BodyInstance as text, and that text carries only CollisionProfileName plus the responses that DIFFER from the profile, so a response INHERITED from the profile (the Pawn profile blocking Camera) is invisible in it. Each channel reports response (what GetCollisionResponseToChannel actually returns), profileResponse, and overridesProfile, so you can see whether an answer came from the profile or from the component. assetPath takes a Blueprint path OR a native class (/Script/MyGame.MyCharacter or 'MyCharacter'), which is how you verify a C++ constructor's SetCollisionResponseToChannel really landed in the CDO after a rebuild. Project trace and object channels appear under their configured names with enumName alongside. channel narrows it to one; includeAllChannels adds the unused GameTraceChannel slots (#925).", "get_component_collision"),
59
59
  read_node_property: specBp("read", "Read a node pin default OR a reflected node property for verification (#102).", "read_node_property"),
60
60
  reparent_component: specBp("mutate", "Reparent an SCS component under a new parent, recompile and save (#115). Refuses before touching anything when the Blueprint's .uasset is read-only on disk (not checked out) or on a protected mount, and reports saved plus saveError when the write did not reach disk (#932).", "reparent_component"),