Proper way to replicate construction variables?

So I have a few properties in my blueprint that are set to Editable & Expose to Spawn. On the server I create the blueprint and pass in the desired values. In the blueprint construction I’m using the properties to adjust how the blueprint looks (color, size, etc). The properties are set to replicated however when the construction script is executed on the client the values are not yet replicated. How should this be handled?

Should I be using the properties on BeginPlay instead of the construction? Is there any guarantee that the values have been replicated by the time BeginPlay is called? If not, how do you all handle this? If know I can hack it by checking every few frames to see if the values have been replicated but I really don’t want to do this for every blueprint and every property that is part of the “initialization”…

I know this is very old but I’m having a similar issue. I have a blueprint that spawns a “forcefield” blueprint. I have exposed variables which sets the scale, colour etc. I have done print screens to debug and the values passed just get ignored by the clients. So the server sees it okay, the client sees the forcefield but has the unchanged default values. Dis you manage to fix it?

4.20 and still the same issue

Still in an issue in 5.2, replicated variables do not work in construction script for some reason, is this even fixable?

Exposed vars don’t work on replicated actors in construction because they aren’t provided pre-construct. Only the server has those values.

Clients should not be attempting to use rep vars in the construction script of replicated actors. The servers replicated actor should be setup exactly as it should be on receival and spawning by the clients sim.

If you do need clients to modify the actor on spawn, then use Begin Play. But this will potentially modify the actor client-side so that it doesn’t match the servers.