
Explore building a VR RPG in Unity using the XR Toolkit for Oculus Quest 2, covering enemies, inventory and equip systems, player selection, testing, and maintainable, scalable practices.
Explore building a VR RPG with inverse kinematics animation, a modular character with appearance changes, item management UI, enemy patrols and attacks, and a state-based damage system with experience upgrades.
Set up Unity project for Quest by switching to Android, installing XR Interaction Toolkit and Input System, configuring left and right controller actions, enabling Oculus plugin, and building to Quest.
Switch the right hand controller to a direct interactor, remove ray components, and add a super collider set as trigger with an interactable component to enable grabbing.
Learn to interact with the VR UI in Unity by resizing the UI canvas to match the plane and then click the button inside the scene.
Import a paid VR asset, attach the head and hands to the main camera and controllers, then adjust rotations and head position to fix alignment before building.
Debug a Unity VR game on Oculus Quest 2 by viewing logs, creating a hello function, attaching it to a button, and filtering Unity logs via command prompt.
Learn to handle controller input in Unity VR RPG by binding primary and secondary button presses for left and right hands, generating actions, implementing interfaces, and logging debug output.
Explore dependency resolution in Unity using separation of concerns and techniques like get component, get components and children, serialisation, scriptural objects, events, and singletons.
Learn to implement an inventory system in Unity using the Game Foundation package, adding items, defining item definitions, and picking up items with controller input and physics overlaps.
Create a singleton event manager with on show UI and unhide UI actions, exposing functions to control UI from other classes, positioning UI three units in front of the camera.
Switch between left-hand direct interactor and right-hand ray interactor, enabling one at a time. Use on show and on hide events to disable movement while the UI is open.
Equip and fire a pistol in a Unity VR RPG with xr toolkit, managing primary weapons, enabling and disabling gear, and firing bullets via instantiation on Oculus Quest 2.
Implement a Unity stat system: a stat class with base and current values, change events, and derived stats like health and mana, with a dynamic UI.
Implement stat modifiers in a Unity VR RPG by creating a stat modifier class with flat and percentage types, managing a modifiers list, and recalculating stat values on equipment changes.
Learn to create and run Unity unit tests by organizing test assemblies, adding script references, and implementing edit mode and play mode tests to validate stat calculations with Game Foundation.
Implement enemy AI in Unity VR RPG with patrols, vision radius, and attack range using a NavMesh agent and an animator-driven state machine.
Learn how scriptable objects save memory by sharing data assets across entities, enable dependency resolution, and manage runtime values and events that persist in play mode but not in builds.
Create a serializable skill system to track the player's combat level and experience, with current and required experience, a skill type, and an on level up event.
Learn how object pooling in Unity reduces processing by reusing deactivated game objects instead of creating and destroying them, with preloaded bullets, arrows, enemies, text, and items.
Implement a sword as a primary weapon item with attack, set up inventory and enemy spawn points, and test interactions and level-up effects in VR.
Fixes a bug where the enemy health bar stays visible after respawn by listening to the take damage event, updating refresh logic, and using a delay coroutine to hide it.
Design and wire a character selection screen that lets players choose hairstyle, facial hair, gender, face, hair color, and skin color, plus random starting stats via a modular character controller.
Develop a weapon controller system to equip primary and off-hand weapons, manage weapon state, and respond to on-equip and on-unequip events with abstract base and derived primary/secondary controllers in Unity.
Fix a shield equipment bug by aligning inventory and equipment model events, updating on item added to inventory and on removed from inventory events, and ensuring proper equip and unequip behavior in Unity XR Toolkit.
Refactor the equipment system to stop using the old equip event, expose public equip functions, and wire the modular character controller and inventory to respond to equip and unequipped events.
Fix a bug in stat modifiers by updating the stats UI and removal logic, ensuring shield and weapon modifiers apply and remove correctly via item IDs and UI actions.
Split the game into four scenes—kissy face, base, character selection, and Tutorial—load them additively, and manage transitions with a level manager that shows and hides UI.
Learn to implement a radial menu for limited controller buttons with a centralized UI manager and show/hide events. Wire elements for equipment, inventory, stats, and menu in Unity XR Toolkit.
Learn to implement a Unity VR save system that records the player's position and rotation, using a saveable interface, saveable entities, a save manager, and Vector3 and Quaternion surrogates.
Implement saveable interfaces to persist inventory and equipment data with Game Foundation, initialize the framework, and wire the inventory and equipment UI to reflect initialization.
Create serializable save data and implement saveable interfaces to persist modular character parts, weapon ids, color data, and player stats and level across sessions.
Implement and test a VR save system by configuring save and saveable entities, wiring the level and character managers, and persisting equipment and stats across unload.
Import the Cynthy studio adventure pack, create level one with a nav mesh, add a viking enemy prefab with colliders, and prepare quest 2 VR with build and rig settings.
This course is targeted to those that want to take their video game development journey to the next level. In this course, we'll be building a virtual reality role playing game from scratch.
In this course, you will learn:
How to build and test games for the Oculus Quest 2
How to use Unity’s new Input System
How to write code that’s efficient & modular
How to build games with Unity’s XR Toolkit
How to create inventory, stats, and equipment systems
How to make and work with user interfaces in Unity
How to implement enemy AI
How to modify the player’s appearance in VR
How to write unit and integration tests in Unity
How to import and use assets from the Asset Store
How to implement a save system
And more…
Why this course?
Unlike other courses which focus on teaching you the basics of Unity & C#, this course uses the latter to build a complex game on the assumption that you will learn from seeing how it’s done. This is the only course that teaches you how to make a RPG for Virtual Reality headsets (specifically the Oculus Quest 2).
This course is under active development. I plan on continually updating this course with new content as quickly as my time allows.
If all this sounds appealing to you, please join me, and I’ll see you inside the course.