HowTo: Set Default on Blueprint Property during runtime?


I want to be able to set blueprint default values (on instantiated BP actors spawned in a level) during run time, so that in design the defaults are persisted on the BP Actor.

Is this possible?

If not, is it possible in C++?

Thanks for you help.

Default values are just default values, why not simply override them?

Keep the sets of default variables in a Data Table and feed a struct to the object’s constructor.
Alternatively, exposed an enumerator of *object type *and make the constructor fetch the data it needs.

Or maybe you just need child actors, you can edit defaults for these.

I thought of keeping the sets of default values in a data table, but I have a lot of them and would prefer to do it directly.

My use case is this - I have a lot of actors with simulate physics. When the level starts they jiggle around for a while firing a heap of hit events before they settle down. No amount of endless fiddling will get them to sit perfectly on my landscape, and so i was just hoping i could wait a few seconds, and then update each actor with a revised default transform, so the next time i run the game, there is no spurios hits.

I see. Is this what you’re looking for?

If it has to be run-time, consider saving transforms into a saveobject.

Woohoo! Certainly looks like it… thanks!

Never seen this option. Will give it a try.

You Can use your gamemode class to save properties which then can be read by the spawned object in its construction script.