When passing dictionary (map) variables through replicated (to server) functions, the value will not print out on the client. In 4.19.2 (CL-4033788) this caused a crash but in 4.20.2 (CL-4302132) and Main 4.21 (CL-4309299) it causes the PrintString to print nothing on the client.

Steps to Reproduce
  1. Open the UE4 Editor and create a new First Person template project
  2. Navigate to the FirstPersonCharacter Blueprint and open it
  3. In the Event Graph, create an event called "ServerMAP" and set Replicates to: "Run on Server" and check Reliable
  4. Add a Map (Dictionary) input to the "ServerMAP" event that takes an Integer and Bool
  5. From "ServerMAP" get the Keys, add them to a "ForEachLoop", and add the Array Element to a "PrintString"
  6. Add an input node such as "Y", call "ServerMAP" and connect it to the Pressed Exec
  7. From the Map input connect a "Make Map"
  8. Add a few key/value pairs to the "Make Map"
  9. Under Play change the Number of Players to "2"
  10. Then Play in a New Editor Window and press "Y" on the Client

Results: The PrintString prints nothing on the Client

Expected: The PrintString should properly loop through the keys and print them out on the Client

Have Comments or More Details?

There's no existing public thread on this issue, so head over to AnswerHub just mention UE-63265 in the post.

Login to Vote

Won't Fix
Affects Versions4.20.24.21
CreatedAug 23, 2018
ResolvedAug 18, 2021
UpdatedAug 18, 2021