Description

When using SetChildActorClass to change a Child Actor Class, the change will replicate on the Server but not the Client. The Client will have the original Actor Class after the change happens. This issue does not happen in 4.20.3.

This issue was reported and tested in 4.21.2 (CL-4753647). This was reproduced in 4.22 (CL-5035897) and Main 4.23 (CL-5091052)

See also [Link Removed]

Steps to Reproduce
  1. Open the UE4 Editor and create a Blank project
  2. Create an Actor, add a Child Actor Component, and allow the component to replicate
  3. Create two Actors based off of StaticMeshActor and set them to a Cube and Sphere respectfully
  4. Create a GameMode and on BeginPlay implement the logic in the attached screenshot
  5. Set PIE to start with 2 players and then press Play

OR

  1. Download and open the attached project
  2. Set PIE to start with 2 players and then press Play

Results: Server will have the new actor, client successfully creates a new actor, but it creates the old one.

Expected: Client should also display the new actor.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-70343 in the post.

5
Login to Vote

Cannot Reproduce
ComponentUE - Gameplay
Affects Versions4.224.234.21.2
Target Fix4.24
CreatedFeb 20, 2019
ResolvedOct 1, 2019
UpdatedOct 2, 2019