Hi Recruiter/HR. Welcome to this partial code release.
VR Project, from a programming perspective is the most complex project that I made on my own. It's available as Vertical Slice, comments and feedback is appreciated.
Also, you can see the history of the project on this page
So my job in this project is as:
- Gameplay Programmer
- Tools Programmer (As Debugging Tools/Convert Files Format/Continuous Integration)
- UI Programmer
- Shader/Material Programmer (For basic tasks.)
- Sound Designer
- Writer
- AI Programmer
Other People who worked on the project were:
- Andres Castellanos Camacho
- Graduated with a Bachelor's degree in English Philology
- as Story Script Cleaner/ProofReader for English Language)
- Graduated with a Bachelor's degree in English Philology
VR Project currently use OpenXR and Unreal Engine 4.27 (Started the project with 4.23 and with vendor-based VR Libraries) and is developed with these third-party libraries:
- Unreal Third-Party Plugins:
- For Runtime
- NVidia Deep Learning SuperSampling (DLSS) - UE4 Plugin By Nvidia
- Used to improve performance for SuperHigh resolution VR Headsets like HP Reverb G2 or Pimax or improve framerate in "weak" Graphics Cards supported
- AMD FidelityFX™ Super Resolution (FSR) - UE4 Plugin by AMD/GPUOpen - MIT License
- Same as Above but for AMD GPUs or no-RTX GPUs
- FMODStudio - UE4Integration by Firelight Technologies Pty Ltd - MIT License.
- Used for improving Audio Design Workflow thanks to their similar appearance to a Digital Audio Workstation and adding features like Pitch Shifter, Random Tracks or just support for Third-Party Plugins like Steam Audio (phonon) and easy to implement to almost every Game Engine.
- Using Free Indie License. (Revenue: under $200k, Budget: under $500k)
- As Today (2023/03/16), I have the right to use FMOD Engine, for limited Commercial use as I can explain here
Steam AudioOculus Oclussion (For FMOD)One of the most powerful advanced HRTF libraries currently for Game Engines, Used for example in Half-Life: Alyx (One of the most blockbuster VR Games at the moment).- When It was developed there wasn't a version of Steam Audio for FMOD compatible with Unreal Engine (Since 2023, There is., So maybe come-up in a new version)
- FMODDialogueIntegration by Gabriel Bustillo del Cuvillo (gabuscuv) - Apache License 2
- This is an Asset-Type Format Plugin developed by me designed for Dialogue between characters, with Support for Animation Assets and customized Subtitles Formats for distinguishing every character. (Useful for accessibility)
- VRExpansionPlugin by Joshua Statzer (MordenTral) - MIT License
- When this project started, I should have used this from the beginning. I think it is one of the most important libraries on this list since it allows me to implement interactive doors, and VR Physics efficiently. Sounds like a joke but ... plus to my misfortune the doors that I'm using have IK Bones, So It required an extra tinkering for the physics.
- NVidia Deep Learning SuperSampling (DLSS) - UE4 Plugin By Nvidia
- Editor/Debug Builds:
- UnrealImGui by Sebastian Gross (segross) - MIT License
- Imgui by Omar Cornut (ocornut) - MIT License
- Useful for Debugging in realtime without Unreal Editor UI
- Like events activations or subtitles testing or realtime status display
- VMC4UE by Yutaka Takahashi (HAL9HARUKU) - MIT License
- Real Repository: Requires a linked Epic Games Account - UE4 EULA
- Powered by VirtualMotionCapture & VMCProtocol by sh-akira
- This is one of the star plugins for this project.
A hacky way but effective and cheap to get MotionCapture (in software-side, because you still need to have Vive Trackers)
- VRM4U by Haruyoshi Yamamoto (Ruyo) - MIT License
- Allows the use of VRM Avatar required for Motion Capture (For make the tracking accurate, the Skeleton from VMC and target SkeletialMesh must be equal or similar)
- It could be useful for include a Third-Party Avatar Support via VRoid or .vrm standalone (But It's not planned for the 1.0 version)
- ueOSC by Yutaka Takahashi (HAL9HARUKU) - MIT License - I don't know, It's required for VMC4UE but no idea.
- UnrealImGui by Sebastian Gross (segross) - MIT License
- For Runtime
- C++ Libs:
- magic_enum By Daniil Goncharov
(Neargye) - MIT License
- It's a wonderful lib for C++17 when it's used with ImGui allows me to test events in real time without running manually (For Example an In-Game Action). So yeah, It was useful.
- FMOD Studio by Firelight Technologies Pty Ltd - FMOD EULA
- See above "FMODStudio - UE4Integration"
- magic_enum By Daniil Goncharov
(Neargye) - MIT License
- Tools
- Arrow (Game Narrative Design Tool) by M.H.Golkar (mhgolkar)
- It was quite useful for organizing my ideas about scenes and saves/export to json which is useful for export dialogues to csv with in-house tools for import in UE4 in a way easy. (and the Note Nodes are useful for metadata)
- Arrow (Game Narrative Design Tool) by M.H.Golkar (mhgolkar)
This Project has less C++ than my previous project because of a lack of time.
I gained some knowledge doing this project my way.
However, the current C++ code is more about Debugging/Interfaces/Enum than actual Gameplay code and probably has more Regular C++ than Unreal C++ (somehow?). And a lot of code is already optimized thanks to plugins like "VRExpansionPlugin",
So...
A lot of code I wrote at the beginning of this project is somehow deprecated (and removed from this repo).
So This project is more Blueprint code than C++ code (But I don't have any issue porting code from BP to C++, If It's required.)
If You desired to read a code with more C++ gameplay oriented code, I would recommend looking at my improved version of Ben Tristem's Exercise
It has some odds decisions like don't use code interfaces for stuff like ammo or health, but It was already based on existent code, So yeah, nowadays, It's not my proudest work.
- Using different libraries from different environments (UnrealImgui and magic_enum)
- Casting between Regular C++ and Unreal C++
- Deprecated (for this project) but A useful explanation about how to deal manually with HiddenActors but visible for SceneCaptureComponent in a direct/dynamic way
Almost every gif has a long version on youtube (click them!)
-
Domotic Stairs
-
Highlight VR Buttons
-
Domotic System (Disconnected) + CloudServices (HackingSystem/HelpSystem) (Old Gif)
-
Blueprint Example Code:
- WBP_CameraPanel
This video does not represent the current status of the project. A Quite old video about ASync Level Loading
-
Tools/Scripts
-
You can see these ones above.
-
For UE4Editor:
- EventCheckingToolkit
- HighlightButtonChecker
-
For ImGUI/UE4
Dynamic Music with SFX Sounds - Alpha
- Holograph Shader
- Highlight VR Buttons from VR Controllers
- Time Paradox Shader
- HQ_ResidentialHouse (Differences between originals and modded)
-
Wallace From MetaHumans service provided by Epic Games via Quixel
-
Assets from Quixel MegaScans (Using Unreal Unlimited License)
- Decals
- Textures
- Props
-
Under the OpenData License
- OpenStreetMaps
- United Kingdom: Contains Ordnance Survey data © Crown copyright and database right 2010-19.
- OpenStreetMaps
-
Under Domain Public:
- ROT-13 cipher image made by Benjamin D. Esham based in Matt Crypto work.
-
Under the Unreal Marketplace EULA
- HQ_ResidentialHouse by NotLonely
- Assets Modded by me - Require original assets license & access to my private modded assets repo
- ProIconPack by Piontek
- GenericNPCAnimPack by Siarhei Chekolian
- Drivable Cars Basic Pack: 3D assets and Blueprints by Digital Dive Studio
- The Blueprints assets are modified to fix some fault programming design and integration on the project
- SDF Robo Progress Bars by Krystian Komisarek
- Realtime Archviz AssetPack - Bistro Restaurant Scene by Dominique Buttiens
- HQ_ResidentialHouse by NotLonely
-
Under GameDevMarket PRO EULA
- From Humble Music & Sound Effects for Games, Films, and Content Creators Bundle Part 2
- Unreal and its logo are Epic’s trademarks or registered trademarks of Epic Games, Inc in the US and elsewhere.
- FMOD and its logo are trademarks or registered trademarks of Firelight Technologies, Inc in the US and elsewhere.
- NVIDIA and the NVIDIA logo are trademarks and/or registered trademarks of NVIDIA Corporation in the U.S. and/or other countries.
- Advanced Micro Devices, AMD and AMD Arrow logo and AMD FidelityFX are trademarks and/or registered trademarks of Advanced Micro Devices
- Oculus and its logo are trademarks or registered trademarks of FACEBOOK TECHNOLOGIES, LLC, Inc in the US and elsewhere
VRProject Partial Release For Recruiter & HR Documentation © 2021 by Gabriel Bustillo del Cuvillo (gabuscuv) is licensed under CC BY-NC-ND 4.0