OnPostLogin spawn issue

How can I start a level completely black and fade in after everything is loaded?

This topic still comes up on Google search and I struggled with this problem for a while.
For any future Googlers, here’s a rather simple solution that worked for me:

  • Add a second post process volume
  • Enable infinite extent (unbound)
  • Set e.g. “color gain” or “gamma” to 0.0 (category: color grading)
  • Make a new level sequence “FadeIn”
  • Add two sequencer keyframes for the volume’s Blend Weight, start 1.0, end 0.0
  • On BeginPlay or whenever your client is 100% ready, play the level sequence

Essentially this avoids the problem with hooking up into load events or moving the 0,0,0 camera entirely because any camera that could possibly exist would simply render a black screen at the start.

I no longer have the “camera flash”, not even when testing in the editor.