Keep simulation changes with custom class

I have a BP class extending Actor. The only component in it is a static mesh component set to simulate physics. When I try to “Keep simulation changes” on it I get a “No properties were saved” error. Is there anything I should do to make my class ready to be used with this engine feature?

Hello ZoltanE,

Have a look at this documentation to ensure that you’re understanding exactly what Keep Simulation Changes does: Keep Simulation Changes | Unreal Engine Documentation

I went into a project, placed an actor blueprint that I had created, and started simulating. Once simulating, I rotated and changed the position of my actor, then pressed K (the shortcut for Keep Simulation Changes). When I stopped the simulation, my changes were saved. There shouldn’t be any prep work required to get this feature to function properly. Give it another shot, and if it still isn’t working for you, let me know exactly what you did so I can attempt to reproduce the issue. Thank you.

Have a great day,

Sean Flint

I did read the documentation and everything seemed straightforward.
I actually have two variations of the issue: One instance throws up the aforementioned “no properties were copied” message while on another success is indicated yet on stop nothing is changed. I compared the two unreal object texts but didn’t see any differences which would readily explain the difference in behaviour: they have different meshes, transforms, but that’s about it… I could take another look or paste the stuff here if necessary.

Here is a simplified version of the blueprint:

(I removed all references to other parts of the project.) Place an instance on a map, hit simulate and try to save the changes: it will not copy the properties.

EDIT: Everything works as expected with a standard static mesh.
EDIT #2: Fixed link which was not pointing to the simplified BP.

So if I place that PhysicsActorSimple on my persistent level (which streams sub levels under all the physics actors) then I get the no copy message. If I place it on a “new level” with that default platform then it says one property copied and on stop rotation seems to be stored indeed. I mean only rotation, translation is not copied from the simulation. O_o

Hello ZoltanE,

I’ve been able to reproduce your issue. I’ve gone ahead and entered a bug report, UE-21688. It looked to be related to the object simulating physics. Once I turned this option off and made the object world dynamic, the values were properly saved.

Have a great day,

Sean Flint

I came here for an answer to this same problem and saw that there didn’t seem to be one. Although it sounds like this could be some kind of bug like Sean says, I tried something a little unorthodox… I have a bin I wanted to be filled with tennis balls and they are all instances of a blueprint class that simulates physics and can be picked up by a motion controller. I was having the same problem where I’d run the simulation and hit K for keep simulation changes, but once I stopped the simulation everything jumped back to where they were placed by me.
Here’s the weird answer:
run the simulation, and once your objects are settled to where you want to keep that location, select all of your objects and right click, and edit/copy them. Then stop the simulation and delete all the objects you have selected. Then just go ahead and PASTE!!! they paste in the simulated state because that is the transform information copied! It was a long shot but I’m glad I tried it.

Hope this helps someone else too!

Rob

2 Likes

"select all of your objects and right click, and edit/copy them. Then stop the simulation and delete all the objects you have selected. Then just go ahead and PASTE!!! " that resolve my problem !

and the “Keep simulation changes” not work !!

@anonymous_user_ad3660a6 Hello - 3 years later :slight_smile:

Yes I confirm what You say - I’ve been trying to use the “K” shortcut on the fullscreen viewport window while changing the position of actors that were present in the scene before I entered game mode - the “K” or Keep Simulation Changes simply does not work!!!

I’m trying to use it with SteamVR pluginn on UE 5.1 - de nada!

But Your method works - I just copy the objects while in game mode (by exiting the viewport with Shift+F1 - after I stop game mode I delete the objects and paste them from clipboard.

Super crazy to be forced to use this workaround!!

Best!

1 Like

got same problem, the workaround is not solution for me bacause I use constructor script and I need to re-setting my constructor blueprint everytime I copy paste. It is real issue, hopefully UE will fix this issue soon