Book Image

Unreal Engine 4 Virtual Reality Projects

By : Kevin Mack, Robert Ruud
Book Image

Unreal Engine 4 Virtual Reality Projects

By: Kevin Mack, Robert Ruud

Overview of this book

Unreal Engine 4 (UE4) is a powerful tool for developing VR games and applications. With its visual scripting language, Blueprint, and built-in support for all major VR headsets, it's a perfect tool for designers, artists, and engineers to realize their visions in VR. This book will guide you step-by-step through a series of projects that teach essential concepts and techniques for VR development in UE4. You will begin by learning how to think about (and design for) VR and then proceed to set up a development environment. A series of practical projects follows, taking you through essential VR concepts. Through these exercises, you'll learn how to set up UE4 projects that run effectively in VR, how to build player locomotion schemes, and how to use hand controllers to interact with the world. You'll then move on to create user interfaces in 3D space, use the editor's VR mode to build environments directly in VR, and profile/optimize worlds you've built. Finally, you'll explore more advanced topics, such as displaying stereo media in VR, networking in Unreal, and using plugins to extend the engine. Throughout, this book focuses on creating a deeper understanding of why the relevant tools and techniques work as they do, so you can use the techniques and concepts learned here as a springboard for further learning and exploration in VR.
Table of Contents (20 chapters)
Title Page
About Packt
Contributors
Preface
12
Where to Go from Here
Index

Understanding the client-server model


Now that we have a running test we can play with, let's get a bit of theory out of the way. It wouldn't be a bad idea to leave this test level open and explore it while we talk about this next concept.

To understand how multiplayer gameplay works in Unreal, you first need to understand how information moves between the connected game sessions and how changes are made to the game environment. There's no way around this. To write multiplayer code successfully, you have to build a clear mental model of what's going on, or you'll wind up hitting a lot of walls. Multiplayer is challenging to debug—if something doesn't work, you can't simply set a breakpoint in your blueprint and trace through to see what happened. Very often, all you'll know is that a bit of information you thought should have gone to the other machine never got there. If you take the time to understand how networking works, you'll have a much easier time figuring out what's gone wrong when...