Version 0.1 Update Notes - 25/11/22
Features Added
Movement Methods
⦁ Teleport
⦁ Shift movement
⦁ Smooth Locomotion
⦁ Smooth Locomotion & Teleport
⦁ Flying
⦁ Snap to actor teleport
- on by default if you want only snap to actor movement, use teleportation or Shift Movement method and remove the Nav mesh component from the level
⦁ Ability to lean over tables and ledges without being pushed away. (Player collision only updates with input movement.)
⦁ Ability to adjust Player Camera Height.
Inputs
⦁ Fully supported Enhanced Input system.
⦁ Dynamically changes user inputs based on movement method being used.
⦁ User inputs fully supports
- Vive Wand
- Oculus touch
- Valve Index
- Mixed Reality
Includes Data Assets
⦁ Includes a Data Asset designed to control the VR Character which can be used to modify it's default settings making it easier to manage your character and project. Also persists across levels so no need to set variables in the Game Instance but this will be done when the save system is added in the future.
Editor Utility Widget
⦁ Created an in editor documentation system so you can read the documentation inside your project.
Actors
⦁ Load level, floor pad.
⦁ Move player too location, floor pad - Used for teleport and shift movement to teleport player to new location, example up stairs.
Optomisation
⦁ No longer using Canvas panels for UMG Widgets - Reducing draw calls and improving CPU performance at runtime.
⦁ No longer updating player capsule on tick, only updates when input method is used. Player height is the only thing which updates on tick.
GDXR VR Template for unreal 5.1- Documentation
Last Updated 28/11/22
Version 0.2 Update Notes - 09/12/22
https://www.patreon.com/posts/gdxr-vr-template-75721302?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator&utm_content=join_link
Fixed - Player Position Bug when using Oculus Quest 2 (Player Would be Offset).
Fixed - Teleport Spawning players bellow meshes.
Fixed - Improved player capsule position when teleporting
Fixed - Improved player capsule position when using Shift movement
Fixed - Camera popping when using snap and smooth rotation
Fixed - Camera height Bug when spawning the GDXR_VRCharacter on a surface higher then z-0
Fixed - Offset Player position when teleporting. (Fixed inside Try Teleport Function
Added - Plugin Dependencies, now set to include OpenXR and Enhanced Input.
Added - Custom function “is using snap rotation”
Added - Smooth Rotation
Added - Smooth rotation multiplier to control rotation speed.
Added - Comments to all data asset variables for easier understanding.
Added - Gaze interaction Component
Added - Gaze interaction Interface used for activating looked at actors.
Added - Commented C_GazeInteraction Component
Added - ScreenFade Interface
Added - Loadlevel Interface
Added - Weapon Type Function Library
Added - Weapon Type SingleShot.
Added - New Niagara System NS_MuzzleFlash
Added - New Data Table Example for easily configuring actors such as weapons. DT_WeaponInfo
Added - Pistol Sound Effect
Added - Shift Movement Speed Variable inside the DA_CharacterVariables
Removed - Sphere Projectile blueprint originally included with the VR template. (Not required)
Removed - Temporarily camera height offset (Causing a lot of bugs, requires redesign).
Features Added
Gaze interaction
⦁ Implemented Gaze interaction Component.
⦁ Added Gaze interaction Example.
⦁ Added ability to hide Gaze Interaction at runtime (for example hide during cut scenes and such).
⦁ Added ability to change gaze Z location to reduce eye strain.
⦁ Added ability to disable gaze Interaction completely if not required.
Smooth Rotation
⦁ Can now choose between smooth rotation or snap rotation
⦁ Control smooth rotation speed
Screen Fade
⦁ Screen Fade interface to activate screen fade from any actor. Simply get player character and search for Display Screen Fade. To fade to solid colour.
⦁ 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.
Load New Level
⦁ Load new level is an interface inside the GDXR_VRCharacter, if Load new level is called from separate blueprint it will fade to colour and then open the new level.
Shift Movement
⦁ Added new variables to control movement speed.
⦁ Added the option to stop the current Shift Movement when choosing a new destination. Stops the player mid movent if there trying to telleport again.
Weapon Example
⦁ Removed the sphere projectile and replaced it with a custom line trace function allowing for different weapon types.
⦁ Muzzle Flash Niagara system example.
⦁ Uses WeaponInfo Data table to populate weapon stats when first spawned.
Sword
⦁ Added Sword grabbable object example
Optomisation
Gaze interaction
⦁ No longer uses any cast nodes to improve references and performance.
⦁ Now includes tick interval for the gaze component to help performance. Gaze Interaction only fires every 0.2 seconds when used.
⦁ If gaze interaction is disabled it stops the components tick to improve performance.
⦁ The gaze interaction component is already added to the GDXR_VRCharacter and can be deleted if you wish but disabling the gaze interaction in DA_Character Variables will disable it and its tick event so you don’t really need to delete it.
Screen Fade
⦁ Set the screen fade mesh visibility attached to the camera to hidden by default. Visibility is enabled using blueprints when player is created and hidden once fade ends.
⦁ Screen Fade material is set to User interface resulting in a shader count of only 2
⦁ No longer uses delay nodes when using screen fade before loading a level.
⦁ No longer uses a sphere mesh, now uses a plane to reduce poly count.
VR Character
⦁ Only updates capsule position when movement is being used, no more tick event.
Version 0.6 Update Notes - 09/12/22
https://www.patreon.com/posts/gdxr-vr-template-75721302
Fixed - Widget interaction crashing with gaze widget launched
Fixed - Capsule Position When Teleporting
Fixed - Editor crashing with gaze interaction (Shout out to andreyrd for figuring it out after I sent 2 hour in the wrong place).
Fixed - Restart level now restarts to the GDXR VR Template.
Fixed - UMG Interaction with controllers.
Added - UMG Interaction To the Gaze Component.
Added - Ability to swap between hand and controller meshes.
Added - Ability to hide hands when grabbing actors in game
Added - Hide Menu Pointer Icon when using Gaze interaction
Added - Ability to interact with widgets using held actors (Guns have built in example)
Added - Custom function for UMG interaction with held actors called “Held Widget Interaction” Example in BP_Pistol.
Added - UMG Interactions when pointing at UMG screens in the scene.
Added - Custom image textures for user menu’s.
Added - Ability to interact with any UI/UMG while pointing at them with the controller.
Added - Added new Component C_PlayerHud Used to display / control HUD movement in game.
Added - Player HUD to allow you to display/view information on the screen.
Added - Two HUD Movement Methods (More coming soon).
Added - Lock HUD To Player Screen Option through the Data Asset
Added - HUD Follow Player camera movement.
Added - Option to disable/Enable UMG Interaction when pointing at UMG In game. Added - Ability to disable Player Hud from inside the DA_Character variables under the UI/UX heading.
Added - Ability to change HUD distance from camera inside the DA_Character Variables folder. (Will add options to player menu at later date.
Removed - Thumbstick cursor for UMG menu’s. (Made the decision to remove this so movement can be used while interacting with 3d Widgets) - I did add a custom function to be called if you do wish to disable player movement when interacting with UI/UMG.
Features Added
Held Widget Interaction
⦁ Add the held Widget interaction function to any actor and add a relative transform and relative location for which the widget interaction will spawn from
Swap between hands and open XR controllers
⦁ Use character variables Data Asset to choose if your viewing hands or controller meshes
Hide hands and controller meshes when grabbing interactables
⦁ Use character variables Data Asset to choose if you hide controller meshes when grabbing interactables.
Automatically interact with any UI/UMG while pointing at it with controllers or hands.
⦁ This can be disabled inside the DA_CharacterVariables folder using the Enable UMG Interaction Option
Player Options menu (Not all Character Variables have been added) only those which i think players could control.
⦁ Added User settings to the to the level with 3D Widget.
⦁ Settings not required in your project can be deleted from the owning UMG.
Player HUD Component
⦁ Scene component attached to the player camera inside GDXR_VRCharacter used to display the Players HUD.
⦁ If you dont need a hud, simply delete the component from inside the GDXR_VRCharacter.
Choose Hud Movement Methods from DA_CharacterVariables UI/UX Catagory.
Optomisation
Gaze Interaction
⦁ Automatically disables tick when gaze interaction is not displayed on the screen.
Player HUD
⦁ Player HUD no longer requires arrow components in the player blueprint or reference points. Not so much performance update but less work for set up and removes confusion.