MCP: set_actor_transform resets rotation and scale when only location is provided (contradicts its own schema)

Summary

The ToolsetTransform schema states that unset fields mean “don’t change” when modifying existing objects:

“Unset fields mean ‘identity’ when creating objects and ‘don’t change’ when modifying existing ones.”

In practice, calling set_actor_transform with only location set resets rotation to identity. The unset fields are treated as “identity”, not as “don’t change”.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Assets

Steps to Reproduce

1.- Place any actor in the level and give it a non-zero rotation (e.g. yaw = 90).
2.- Read it back with ActorTools.get_actor_transform to confirm the rotation.
3.- Call ActorTools.set_actor_transform passing only xform.location, leaving rotation and scale unset.
4.- Read the transform again.

Expected Result

Location updates; rotation and scale keep their previous values, as documented.

Observed Result

Before: location(-491.5, 1024.5, 36) rotation(pitch 0, yaw 90, roll 0)
Call: xform = { “location”: { “x”: -491.5, “y”: 1024.5, “z”: -500 } }
After: location(-491.5, 1024.5, -500) rotation(pitch 0, yaw 0, roll 0) ← reset

Platform(s)

windows

Additional Notes

The failure is silent: the call succeeds, no warning is emitted, and only the requested field looks correct. An agent doing bulk placement — the main use case for this toolset — can flatten the rotation of every actor it touches without anyone noticing until much later.