Skip to content
This repository was archived by the owner on Aug 29, 2024. It is now read-only.
This repository was archived by the owner on Aug 29, 2024. It is now read-only.

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

@oblm

Description

@oblm

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions