How do I dynamically create stably named sub-objects to replicate?

I am working in a blueprint actor trying to generate some static meshes in its constructor and have them replicated from a dedicated server.
The blueprint is as follows: (you can assume the execute pin is connected, I am skipping the node on my current build)

The best that I can tell from the error message a client gets when loggin in is that a subobject of the parent actor is not “stably named” which I am not sure I have any control over in blueprints, though it would be awesome if I did.

The error output is as follows:


LogNetTraffic:Error: ReadContentBlockHeader: Stably named sub-object not found. Actor: 
LogNet:Error: UActorChannel::ReceivedBunch: ReadContentBlockHeader FAILED. Bunch.IsError() == TRUE. Closing connection. RepObj: NULL, Channel: 71
LogNet:Warning: Network Failure: GameNetDriver[ConnectionLost]: Your connection to the host has been lost.

The most frustrating part is that while using the PIE dedicated server, this all works and replicates and plays nice… but proceeds to kick any client connecting to it on a fully baked build, wasting hours on build time. because somewhere along the line the development environment decides to lie to its developers about what the game can and cannot do. (hence the bug report tag)

Is there a right way to do this?

"In general, these are the guidelines to go by to determine if you can reference an object over the network:

Any replicated actor can be replicated as a reference
Any non-replicated actor must be stably named (loaded directly from a package)
Any replicated component can be replicated as a reference
Any non-replicated component must be stably named.
All other UObjects (non actors or components) must come directly from loaded packages
Stably Named Objects

Stably named objects are simply objects that will exist on both the server and the client, and have exactly the same name.

Actors are stably named if they were loaded directly from packages (not spawned during gameplay).

Components are stably named if they were:

Loaded directly from a package
Added via simple construction scripts
Manually marked (via UActorComponent::SetNetAddressable)
This should only be used when you know you are manually naming the component so that it has the same name on the server and client (a good example are components added in an AActor C++ constructor)"

But…

Good question, same problem. I have a problem in the editor but have no problem if game packaged.
Did You find the solution?

Stable object name documentation does not helps for me.

I have not spent much more time with this info and sadly don’t have a good solution, thank you for this information, I will certainly try to take it into account on my next attempt.