This seems to occur due to the order in which the component is registered and set to replicate in UActorComponent::OnCreatedFromReplication. The component is first registered with the world, which calls BeginPlay, and then it is set as being replicated.
When the RPC is called from BeginPlay, ProcessRemoteFunction checks IsSupportedForNetworking and IsNameStableForNetworking for the component. However, because it is not replicated by default and SetIsReplicated(true) has not been called for it yet, AActorComponent::GetIsReplicated (called from AActorComponent::IsSupportedForNetworking) will return false at this point, causing the ensure.
Create an actor component class that is not replicated by default.
On the server, dynamically create an instance of this component (not a default subobject), and set it to be replicated.
In the component's BeginPlay on the client, call a server RPC, causing an ensure to be hit in ProcessRemoteFunction:
"Attempted to call ProcessRemoteFunction with object that is not supported for networking."
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-329327 in the post.
0 |
Component | UE - Networking |
---|---|
Affects Versions | 5.7 |
Created | Sep 18, 2025 |
---|---|
Updated | Sep 19, 2025 |