Actors with `ReplicateMovement` enabled and non-replicated root components don't get transform updates.
oblm opened this issue · 0 comments
oblm commented
Description
Actors with ReplicateMovement
enabled and non-replicated root components don't get transform updates.
Expected behavior
Actors with ReplicateMovement
enabled and non-replicated root components don't get transform updates. Indeed, they do if you toggle from Spatial Networking to Native Unreal Networking.
Current behavior
- Given you have an Actor set to
ReplicateMovement
and theRootComponent
(Main Chassis) is set to not Replicate - When the
RootComponent
isn't set to be simulating,UPrimitiveComponent::SyncComponentToRBPhysics()
will do nothing (specifically, it will early out), so all of the work thatFPhysicsReplication
does will not pass through theRootComponent
, meaning these commands never reach the Actor.
Possible solution
You can workaround this by overloading AActor::PostNetReceivePhysicState
in order to manually handle specific cases. A more robust solution will need more investigation.
Environment
UnrealGDK: 0.11.0
UnrealEngine: 4.25-SpatialOSUnrealGDK