Twenty Milliseconds Logo

This is Twenty Milliseconds, a site documenting what works and what doesn't in virtual reality design.

Loading Screens Shouldn't Move With You

Summary: Developers need to think about every interaction in their application. Some "loading" screens in VR games disable head tracking, which is disorienting to users. The best practices are to avoid loading screens altogether, or to provide a veneer of interactivity while the next world loads.

Loading screens are common in games and other applications, when a large amount of graphical data must be loaded from disk into memory. Instead of showing a black screen, which could be confused with the device turning off, the developers will usually place the words “Loading”, or a logo, or a simple interstitial between the “Start” screen and the beginning of the game or level.

In many Oculus demo applications, loading screens have been fixed on the headset screen, which means that the logo moves when your head moves to stay in front of you. In general, this contrasts with the experience once the “proper” app loads, where the objects on screen stay fixed in a 3D world as your head moves.

Stuck loading screen Stuck loading screen in Elite: Dangerous.

The loading screen is part of the experience. Switching modes from “the content follows your head around” to “the content stays in place when your head moves” is disorienting, and having any content that follows your head around can break immersion. “The real basic principle is ‘head tracking must be active at all times, no exceptions’“, says D from eVRydayVR.

Best Practices

The best possible situation would be to avoid the loading screen altogether by cleverly filling in the background or using low-latency techniques to load the world without making the user wait. That said, users seem to accept the presence of a loading screen, even if it is not ideal.

At the very least, the loading screen icon should not follow the movement of your head. Fix it in a “virtual world” in front of the user, and let them look around.

Better would be to put the user in a virtual room with as much decoration as is allowable by the constraints of the software and hardware. At the very least, a “room” that isn’t a black screen and a logo is useful. The user should be able to know from the environment that the full game is loading, and should be able to look around. For example, in a cockpit game, the loading screen might be some kind of holding bay, or warehouse, and when the level is ready, doors open to reveal the full content. Another example comes from Metroid Prime, which simply does not let you enter the next area of the game until it has finished loading.

The best thing to do is to provide a simple interactive experience while the full level loads. While a full game loads in the FIFA Soccer game, users control a single player, dribbling and shooting at a goalie, in a simple environment.

FIFA Loading Screen FIFA's loading screen

There are potential analogs for other applications, at least where the interaction between the user and the environment could be dumbed down. A user could shoot at a series of targets, inspect a high-level car (for a racing game), or similar.