Description

Problem description: When the Third Person Character gets attached to any other Actor (AttachToActor, Rule: Keep World), from the view of other clients the character (capsule, skeletal mesh) is out of sync [Image Removed].

[Image Removed] Out of sync in that case means two things: (1) the capsule+skeletal mesh keep moving at the velocity and with the animation that the character had at the point of attachment, so even if the pawn of the owning client comes to a halt or changes direction, the capsule and mesh do not follow (observed from other clients). (2) the capsule leaves a "ghost" collision at the point of attachment, i.e. even though the capsule moves as described in (1) as can be observed when "hidden in game" is set to false on the capsule, an active collision remains at the location the character was at when getting attached. This collision (again, which only exists for other clients) does not show when invoking the "show collision" console command.

Observed result as shown on this screens[Link Removed]hot: [Link Removed] - server shows correct behavior, whereas from client1's POV the character controlled by the server just keeps running (invisible on the screenshot, there is also a collision from the character's capsule right where the server character should be).

  • Note 1: step 8. can be set up in various ways (e.g. [Link Removed] result stays the same.
  • Note 2: this issue does not seem to occur with the First Person character.

I uploaded a clean Thirdperson Template project with the steps above implemented here (4.18.2): [Link Removed]

(project also attached)

 

Steps to Reproduce

Steps to reproduce:

  1. Create new Thirdperson project
  1. Open ThirdpersonCharacter blueprint and make sure Replication is set to true
  1. Create new Blueprint Actor, "BP_AttachmentReplication"
  1. Here, set Replicates to true
  1. Add Box Collision Component to "BP_AttachmentReplication"
  1. Set Component Replicates to true on the Box Collision
  1. Add an On Begin Overlap Event for the Box Collision Component
  1. Set up graph as in this screenshot: [Link Removed]
  1. Place "BP_AttachmentReplication" Actor in Level
  1. Set "Number Of Players" to 2+
  1. Hit Play and walk each Character inside the collision box of the "BP_AttachmentReplication" Actor

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

37
Login to Vote

Won't Fix
ComponentUE - Networking
Affects Versions4.18
CreatedDec 20, 2017
ResolvedAug 18, 2021
UpdatedAug 18, 2021