This fixes an issue where when loading a large level sometimes the character isnt spawned when begin play runs on the controller, so now we run the code on possess instead so the character is always spawned when the code is run.

Add the highlighted nodes shown in the image below, location at the top of the image.

You will need to create a new custom event and call it ClientPossess set it to Run On Owning Client and tick on reliable.

Make the changes to the area of code show below, location at the top of the screenshot.