GDXR VR Template

This template offers an excellent platform for creating your own VR Projects with Unreal Engine 5.1. Using entirely blueprints, Open XR, and full support for the Enhanced Input System, it gives you a great deal of flexibility and customizability. With its focus on mobile VR, it is also compatible with desktop VR, making it a versatile choice for developers looking to create VR projects across multiple platforms. Furthermore, the template includes various features such as built-in support for 3D audio, advanced rendering, and optimized performance that will help you create immersive and engaging VR experiences. Overall, this template offers an excellent starting point for developers looking to create VR projects that are both innovative and immersive.

The GDXR VR Template is currently being developed through our Patreon. This allows us to make it avalible for early access and also allows you the user to provide us with invaluable feedback. Helping us add to, and improve the plugin with your help.

If you would like to download the plugin you can do so by supporting us on Patreon where a download link is avalible.

Description

  • This template does NOT support replication/Multiplayer (It's in the works). Best used for single-user experiences right now.

Designed to expand the existing OpenXR and Enhanced Input System Frameworks provided by Epic Games. The goal of this plugin is to make VR Development easier and faster for everyone, from beginners to experienced devs. 

The template is designed to provide a framework for the most necessary features required to create a VR experience suitable for Mobile VR (Oculus Quest 1 - 2, (Vive Focus 3 With some slight modifications)) to Desktop VR. This means the project is not Physics based other than player movement. This was a design choice to improve performance on mobile platforms.  

Built with modularity in mind the template and its features have been designed to allow you to enable/disable unwanted features easily through a data asset and some features can also be deleted completely if required. No more digging through individual blueprints and variables to turn features on or off. Decide what features your project requires and use only those. You can also enable or disable these during runtime with a set of custom functions provided. 

Detailed Features List:

All features can be modified, enabled/disabled during runtime if required.

Six Movement Methods (More coming soon).

⦁ Teleport.

⦁ Shift movement.

⦁ Smooth Locomotion.

⦁ Smooth Locomotion & Teleport.

⦁ Flying.

⦁ Snap to actor teleport.

  - Disable or enable Player Movement (used for cut scenes, menu, and more).

  - Can the player Jump?

Hands And Controllers

⦁ Choose between Open XR controller meshes or Skeletal mesh hands with custom hand animations.

⦁ Ability to hide controller meshes and hand when interacting with individual actors.

Movement Direction

⦁ Use the player’s camera for the forward direction.

⦁ Use OpenXR Controller for the forward direction.

Rotation

⦁ Snap Rotation - (Ability to choose angle amount).

⦁ Smooth Rotation - (Choose rotation speed).

Inputs

⦁ Fully supported Enhanced Input system.

⦁ Dynamically changes user inputs based on the selected movement method. 

⦁ User inputs fully support.

  - Vive Wand.

  - Oculus touch.

  - Valve Index.

  - Windows Mixed Reality.

Player HUD example and two movement methods.

⦁ Option to enable a dynamic HUD (Heads up display) to show real-time info to the player.

⦁ Lock the HUD to the player’s camera - (Follows players where they look).

⦁ Dynamic HUD - (tries to follow the player’s camera and always faces the player).

Gaze Interaction Component

⦁ Custom Gaze Interaction Component - (Can be disabled if not required). 

⦁ Contains Gaze Interaction Example. 

⦁ Ability to hide Gaze Interaction at runtime (For example hide during cut scenes and such). 

⦁ Ability to change gaze Z location - (Reduce eye strain.) 

⦁ Ability to use gaze interaction with UMG.

⦁ Ability to hide gaze interaction when not required. - (Enabled using included Function.).

Screen Fade Example

⦁ Screen Fade interface to activate screen fade from any actor. - (Built for Quest 2).

⦁ Screen Fade does a check to see if the player is using the event Load New Level interface. If it is it will load level on fade completion.

Includes Lyra Weapons 

⦁ Uses a custom line trace function allowing for different weapon types. 

⦁ Muzzle Flash - Using Niagara system as an example. 

⦁ Example of how to use Data table to populate weapon stats when first spawned for easy updating.

⦁ Contains weapon reloading example

⦁ ammo count variables

⦁ Weapon UI interaction example (Can shhot UI to interact with it).

Sword 

⦁ Added Sword grabbable object example.

UI/UMG

⦁ Option to automatically display UI Interaction beem if your pointing at a widget. If not it will be hidden.

⦁ If interacting with UMG, Inputs will automatically update to allow button interactions.

⦁ Player Settings menu with 3D widget example.

⦁ Choose between pointing/interacting with UI from a distance or touching UI with the Index finger to interact.

Climbing

⦁ Enable / Disable climbing.

⦁ Option to climb any surface.

⦁ Snap hands to the climbing location(Similar to The ClimbVR)

⦁ Supports custom hand animations when climbing

⦁ Skeletal Mesh hands move smoothly to the snap hand location for a more organic feeling.

Custom Hand Animation

⦁ Enable Custom hand Animations when holding actors.

Player Interaction Examples.

⦁ Pull lever

⦁ Crank Wheel

⦁ Flick Switches

⦁ Sliding Draw

⦁ Push Button

⦁ Tap Button

Holster System (Storage)

⦁ Attach actors to the player at runtime

⦁ Spawn with actors attached to Holster

Grabbing

⦁ Option to Toggle grabbing. Should the player press the grip button a second time to drop a held item?

Technical Details

View the description above for a full list of included features.

Blueprint Classes: 48

Levels/Maps: 2

Materials: 32 (Most have "Fully Rough set to True, to improve shader performance on mobile devices.

Niagara Systems: 6

Skeletal meshes: 8

  • 4 Weapons

  • 2 sets of hands

Static Meshes: 24

Textures 127

Supports

Input: Any VR Platform using the OpenXR Framework.

Network Replicated: No

Supported Development Platforms:

⦁ Windows (Yes)

⦁ Mac (Yes)

Supported Target Build Platforms:

⦁ All Desktop VR (Steam and Oculus - Using the OpenXR Standard).

⦁ Oculus Quest 1 - 2 (You must have the Meta XR Plugin installed for the application to launch on the Meta Device).

⦁ HTC Vive

⦁ Valve Index

Not tested Platforms:

⦁ Vive Focus Series (Waiting for Wave VR Plugin to be released for 5.1).

⦁ Pico Neo Series (Dont have access to an HMD).

⦁ PSVR 1-2 (Not possible to test).