top of page

Start Guide

​This is the start guide tutorial in which you can get all the required information for starting with Head Mounted VR plugin.

Prologue

Head Mounted VR is advanced Unreal Engine VR plugin which is using C++ only but it is not necessary to know the C++ programming language to use it since everything is game-ready and can be used in blueprints. For the better understating and learning, start guide contains references to the Unreal Engine Documentation and section for it. The start guide has 4 sections: Unreal Documentation,  Hot to use classes documentation, Plugin Content, First Steps. 

Fast Travel

Unreal Engine Collision
Gradient

Unreal Engine Documentation

Head Mounted VR Code Blur
Gradient

How to use the classes documentation

Head Mounted VR Sandbox Level
Gradient

Plugin Content

Head Mounted VR Hands
Gradient

First steps

Unreal Engine Documentation

Physics

Head Mounted VR  relies on physics.

Unreal Documentation (Physics)

Collsion

"Collision Responses and Trace Responses form the basis for how Unreal Engine 5 handles collision and ray casting during run time. Every object that can collide gets an Object Type and a series of responses that define how it interacts with all other object types. When a collision or overlap event occurs, both (or all) objects involved can be set to affect or be affected by blocking, overlapping, or ignoring each other. Trace Responses work the same way, except the trace (ray cast) itself can be defined as one of the Trace Response types, thusly allowing Actors to either block it or ignore it based on their Trace Responses." @UNREAL DOCUMENTATION

Unreal Documentation (Collision Overview)

Unreal Documentation (Collision Tutorials)

Unreal Documentation (Collision Response Reference)

Head Mounted VR: UE Example collision collide no event
Head Mounted VR: UE ExampleUnreal Engine Collision Overlap

Physics Constraint

All is connected by physics constraints. For example every single connection beetwen hands and objects, doors, drawers, levers etc.

 

"A constraint is a type of joint. It allows you to connect two Actors (presumably one physically simulating), and also apply limits or forces. Unreal Engine has a very flexible and data-driven constraint system that allows designers to make many different types of joints simply by changing some options. The engine has a few default joint types (ball-and-socket, hinge, prismatic) but they only differ in their settings." @UNREAL DOCUMENTATION

Unreal Documentation
Unreal C++ API Reference

Head Mounted VR: UE Example physics-constraint-skeletal-constraint

Traces with Raycasts

"There may be instances in your game where you want to determine if the player character is looking at something, and if so, alter the game state in some way (for example, highlight something when a player looks at it). Or maybe you want to determine if an enemy can see the player character, and if so, start shooting or engaging them in some way. You can accomplish both scenarios by using Traces (or Raycasts) to "shoot" out an invisible ray which will detect geometry between two points and if geometry is hit, return what was hit so that you may then do something with it. There are different options available when running a Trace. You can run a Trace to check for collision with any Objects where hit Objects are returned, or you can run a Trace by Trace Channel where any Objects hit will return hit information if the Object is set to specifically respond to a specified Trace Channel (which can be set via Collision Settings). In addition to running traces by Objects or by Trace Channel, you can run your Trace to detect Single hits or Multi hits, where a Single Trace returns a singular hit result and a Multi Trace returns multiple hits resulting from the Trace. With Traces, you can also specify the type of ray that is used: a straight line, a box, a capsule, or a sphere." @UNREAL DOCUMENTATION

Unreal Documentation

Unreal C++ API Reference

Head Mounted VR: UE Example single-vs-multi
Head Mounted VR: UE Example shape-traces-example

XR Development (UE 5)

"XR refers to the collection of the following experiences:

  • Augmented reality: Where sensory information overlays the user's view of the real world through a handheld or wearable device.

  • Virtual reality: Where a virtual environment replaces the user's view through a wearable device.

  • Mixed reality: Where an experience is a blend between augmented reality and virtual reality.

  • Unreal Engine supports both developing for XR platforms and using XR devices in your content creation pipeline. The sections below contain links to documentation on how you can work with XR devices in your projects." @UNREAL DOCUMENTATION

    Unreal Documentation

    Unreal C++ API Reference

    Virtual Reality Development(UE 4.27)

    "Virtual reality (VR) refers to an interactive experience where the user's real-world environment is replaced by a virtual environment through a wearable device. The Unreal Engine VR framework provides a rich, unified framework for building virtual reality apps using the Unreal Engine." @UNREAL DOCUMENTATION

    Unreal Documentation

    Unreal C++ API Reference

    How to use the classes documentation

    Classes

    The website has the classes page button on which is located at the menu bar. The are displayed all avalible classes with a short description and blueprint/C++ status. Blueprint/C++ means that class can be inherited in both blueprint and C++. C++ only means that class can be inherited only in C++(Usually stuctures, interfaces etc).

    Head Mounted VR classes page

    Class page

    The class page contains Blueprint class name, Short description, C++ general information, C++ API Reference button(advanced C++ users only), Class general information and Blueprint API Reference.

    Head Mounted VR Class Page

    Plugin Content

    Demo
    C++ Classes
    The Plugin contains 41 unique C++ classesDown below is source folder hierarchy.
    The Plugin has the following classes:
    •  VR Player - Whole new player pawn class was developed especially for VR. It has a completely new movement which was written from scratch to fit the VR concept. 

    •  VR Hands - Player’s hands are fully physically based and like in player class there was a huge research on immersion, collision and interaction with objects.

    • VR Grab Component - This is a scene component which attach parent player can pick up by using one of grab methods (enum EGrabMethod).

    •  VR Static Mesh - This is a static object which player can pick up by using one of grab methods (enum EGrabMethod).

    •  VR Skeletal Mesh - This is a skeletal object which player can pick up using one of grab methods (enum EGrabMethod).

    •  Loading Handler - This is a loading class for transition between levels (Player will be teleported to the loading room and then to the selected level or streaming level).

    •  VR Weapon - The fundamental base for every weapon class. Easy game ready setup.

    •  VR Ammo Clip - This is base ammo clip class which slides into the weapon.

    •  VR Ammo RoundA simple bullet class which can be loaded into the gun(Can be used in revolvers).

    •  VR Ammo Box - Large ammo box which will automatically add certain amount of ammo to the player.

    •  VR Button This is a physic base button class. Can be used in the game world or as a child actor component.

    •  VR ClimbableClimbable class. Can be used for ladders, obstacles etc.

    •  VR Code LockThis is a code lock class. Player can type password by pressing the buttons.

    •  VR Door - Door with which player can interact. It can be used as a big door or as a small door for the closets.

    •  VR DrawerDrawer with which player can interact.

    •  VR Equipment Player can interact with this class after grab by pressing the following buttons: trigger button, A button and B button.

    •  VR Equipment SkeletalPlayer can interact with this class after grab by pressing the following buttons: trigger button, A button and B button.

    •  VR Hand InventoryInventory class which is can be attached to the player's hand.

    •  VR Lever BaseThis is a the base lever class which can interact with players hands. Look at lever rotatable or slide class. Use only if you want to develop new lever type.

    •  VR Lever SlideThis is a physic lever class which can slide. Player can interact with it.

    •  VR Main Menu - Main menu parent class which can be attached to the players hand on spawn.

    •  VR Pause Menu - Main menu parent class which can be attached to the players after holding the menu button.

    ​​

    •  Menu Loading Widget This is a class for a simple loading widget which is used in VR Hands class. It shows while a player is holding the menu button.

    ​​

    Diagram
    Demo content
    How to find plugin content?

    Head Mounted VR plugin has the demo exaple. It can be found by turning on "Show Plugin Content" in the UE content browser.

    Configuration

    Optimized config file from the demo.

    How To Turn On Content of Head Mounted VR Plugin

    What is inside?

    Inside the demo exaple you can find the following folders: Animations, Blueprints, Input, Maps, Materials, Meshes, Particles, PhysicalMaterials, Skeletal Meshes, Sounds and Textures. All blueprint assets are used "Map_0" level.

    Head Mounted VR Demo Content

    First Steps

    Head Mounted VR Player
    Gradient

    Create your first VR Player Pawn

    Head Mounted VR Hands
    Gradient

    Create your first VR Hand

    Head Mounted VR Code Blur
    Gradient

    Explore The Classes

    bottom of page