spatialos / UnrealGDK

SpatialOS GDK for Unreal Plugin

Home Page:https://docs.improbable.io/unreal/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Actors with `ReplicateMovement` enabled and non-replicated root components don't get transform updates.

oblm opened this issue · comments

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 the RootComponent (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 that FPhysicsReplication does will not pass through the RootComponent, 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

Internal ticket

UNR-4485