UnrealGDK
UnrealGDK copied to clipboard
Actors with `ReplicateMovement` enabled and non-replicated root components don't get transform updates.
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
ReplicateMovementand theRootComponent(Main Chassis) is set to not Replicate - When the
RootComponentisn't set to be simulating,UPrimitiveComponent::SyncComponentToRBPhysics()will do nothing (specifically, it will early out), so all of the work thatFPhysicsReplicationdoes 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