UActorComponent replication not working when spawned in Blueprint
When an Actor Component is spawned at runtime in a Blueprint (not in the construction script, in BeginPlay for example) it is improperly replicated which results in the component not being created on the clients. When doing the same from C++ this works fine.
When writing the Actor Component to the network IsNameStableForNetworking() return true. Then when reading the component from the network, bStablyNamed will also be true which results in the new component not being created on the client while it should be.
The reason why IsNameStableForNetworking() returns true for Actor Components spawned though a Blueprint (and not though C++) isn't clear to me. I have traced the problem to UObject::IsNameStableForNetworking() returning true because IsDefaultSubobject() returns true, because
The documentation of IsDefaultSubobject() says:
asked Aug 06 '18 at 10:25 PM in Bug Reports
Follow this question
Once you sign in you will be able to subscribe for any updates here