Virtual Reality Mini-Degree [2019]

This is the 2019 edition of this curriculum, and as such, it won’t be updated any further. The evergreen edition can be accessed through our subscription here.

Welcome to the world’s most comprehensive online curriculum on VR game development, where you will learn and master the foundations of C#, Unity and VR by building practical projects.

Featuring the latest VR developments of 2019, whether your goal is to make VR games for fun, start a business in this exciting field, or become a professional Unity developer, this online curriculum contains everything that you need to reach your goals.

Learn with fully authorized courses

This curriculum has been extensively reviewed and authorized by Unity Technologies, the company behind the Unity Engine.

As an Authorized Learning Partner, our approved Unity courses satisfy the highest standards in terms of both quality and relevancy.

BONUS: 3 Interactive C# courses

By enrolling in the Virtual Reality Mini-Degree you’ll get access to three interactive courses on our mobile app Codemurai (available on Android and iOS) so that you can cement your knowledge of C# and Unity fundamentals while on the go.

Learning goals

  • Code in C# and build immersive games with Unity
  • Locomotion in VR: teleportation, cabin experiences, arm swinging and much more
  • User interface design in VR
  • Utilizing hand tracked controllers, including Unity 2019’s new XR Input Mapping system
  • Working with 360° media (photos and video)
  • Preventing simulator sickness
  • Performance and industry best practices for mobile and desktop VR

VR platforms covered

The Virtual Reality Mini-Degree covers development for all modern VR platforms, including:

  • Oculus Rift
  • Oculus Go, Gear VR
  • Oculus Quest
  • HTC Vive / SteamVR-compatible headsets
  • Google Cardboard (Android and iOS)
  • Windows Mixed Reality

Course author

Pablo Farias Navarro is a certified Unity developer and founder of ZENVA, where he has taught game development to +1,000,000 students and authored +100 courses. As part of his work in game development education, Pablo was invited to join the Intel Software Innovator Program, and has run game programming workshops in San Francisco, Brisbane and Bangalore. Pablo has been making games since 1996 and has been obsessed with VR since he saw The Matrix.

Projects Included

Unity Basics – Learn Unity and C# by Building a Multi-Level 3D Platformer

This module aimed at those with no prior Unity or C# experience. You’ll be introduced to the Unity Editor and the basics of Object-Oriented Programming as you build a fully-functional Mario-style game with different screens and levels.

Learning goals:

  • Unity Editor basics
  • Transforms and game objects
  • Unity Scripting in C#
  • Object-Oriented Programming
  • Multi-level functionality
  • Canvas UI
  • Importing external assets from Blender

VR Platform Experience and Platform Setup

In this module, we create a VR experience that consists of a platform that flies to different destinations. We make this project run in all the platforms and cover some performance basics.

Learning goals:

  • VR flying platform experience
  • C# arrays
  • Basic setup on all platforms: Cardboard (Android and iOS), Gear VR, Oculus, HTC Vive (OpenVR)
  • Performance and light baking basics

VR Hand Tracked Controllers

Take your VR skills to the next level by learning how to develop Virtual Reality applications that feature hand tracked controllers. By taking advantage of Unity’s natively supported features, this application works on all the main desktop and mobile VR platforms.

Learning Goals:

  • Headset and controller tracking
  • Controller position and rotation
  • XR input mapping (registering which buttons are being pressed)
  • Adapting the project for different platforms

Space Station App with VR Pointers

In this module, we build a reusable pointer and interaction system while creating an educational experience about the International Space Station and its various components, usable on all major platforms.

Learning goals:

  • Interactable VR objects
  • VR pointer system
  • Adapting to controllers and reticle
  • Working with Events
  • Combining everything into a VR experience
VR Forest Experience with Mosquitos

In this module, we create a VR experience where a peaceful night in the forest is interrupted by giant mosquitos. We use the VR Standard Assets from Unity to create a reticle for gaze-based interaction. This game is also adapted to work with SteamVR-compatible controllers. This includes the HTC Vive, Oculus Touch and other vendors.

Learning goals:

  • VR Standard Assets overview
  • Reticles and VR Eye Raycaster
  • Randomization of trees scale and rotation
  • Skyboxes
  • Particle effects
  • Creation of the mosquito game
  • Adaptation for SteamVR-compatible tracked controllers

Creating VR Experiences with 360 Photos

In this module, we cover the creation of a VR experience using 360 photos. We start from the ground up, covering what 360 photos are, how they are stored and what we need to do in order to prepare them for Unity. This module includes also a discussion around UI in virtual reality. By the end of this module, you’ll have built a 360 photo experience that can be easily re-purposed for any kind of application. You will also end up with reusable UI components you can drop into any Unity project.

Learning goals:

  • Working with 360 photos in Unity
  • UI in VR: the importance of Spatial UI
  • Diegetic UI (UI elements located in the game world) vs non-diegetic UI
  • Gaze interactions: clicking and hovering
  • Building reusable UI components

Interactive VR Quiz with 360 Video

In this module, we build an interactive quiz that uses a 360-degree video to create an immersive environment. Questions and their correct answers are loaded from the cloud, so that the content of the quiz can be modified even after the game is built. 360-degree videos are covered assuming no prior experience with them. This game uses elements developed in previous modules such as spatial UI panels and buttons for gaze-based interactions.

Learning goals:

  • Working with 360 videos in Unity
  • Interactive quiz in VR with gaze-based interaction
  • Loading data from the web
  • Introduction to Coroutines

Space Invaders VR

In this module, we build a complete space invaders game in VR from scratch, where players have to defend a city from an alien attack in a post-apocalyptic world. After starting the game by shooting at a graffiti wall, enemy formations will appear in the sky which the player will have to shoot down. The score will be shown on a graffiti wall, while all dead aliens will fall to the ground and accumulate as piles of junk. This game runs on all VR platforms.

Learning goals:

  • Gun/tool positioning in VR
  • In-game HUD
  • Game state machine to manage the game flow
  • Object pooling technique
  • Adapting the game to work with SteamVR-compatible tracked controllers

Exploration Game with Fixed Teleportation

In this module, we build a game where the player can move around in a VR environment using fixed teleportation, hop onto moving platforms, and has to avoid enemies. Throughout this module, students will build a complete fixed teleportation system that can be dropped into any Unity project.

Learning goals:

  • Types of teleportation in VR
  • Implementing a teleportation system with pods that activate on player proximity
  • Creating an exploration game with enemies to avoid
  • C# and Unity concepts: lists, finding objects, managers, invoking methods at an interval
  • Linear interpolation and easing functions

Puzzle Game

In this module, we cover the creation of a puzzle game where the player has to drag and position pieces in their correct location. When the puzzle is successfully completed, a giant pyramid emerges from the ground. This module includes intermediate C# concepts such as Delegates and Events.

Learning goals:

  • Creating a full puzzle game in VR
  • Reusable component to drag and position elements in VR using the reticle
  • Intermediate C# concepts: Delegates and Events
  • Using Events to notify game objects
  • Working with local and global coordinates

VR Fitness Game

In this module, we cover the creation of an infinite runner in VR where the player has to jump in “reality” in order to jump in virtual reality! The mechanic of this game is that of an infinite runner, where new environmental objects and platforms are created during gameplay. The player has to jump over ditches full of water while running in a low-poly world. The game is also adapted to headsets with no position tracking such as the Google Cardboard.

Learning goals:

  • Creating a unique and completely original game mechanic using position tracking in VR
  • Implementing infinite runner game mechanics
  • Detecting jump in VR
  • Using object spawners with pooling techniques to keep the game efficient
  • Make distant objects disappear
  • Using images to represent distant geometry for efficiency

Cabin Experience

Ever wanted to pilot your own spaceship, like Han Solo? In this module, we’ll create an aircraft piloting experience, where players can fly over an abandoned city located on a floating island in a virtual vehicle that can be controlled entirely with the buttons on the dashboard. This project demonstrates good practices when it comes to motion sickness and diegetic UI.

Learning goals:

  • Creating an aircraft cabin experience in VR
  • Controlling a virtual vehicle using game-world UI elements
  • Importing models from Blender and MagicaVoxel
  • Creating custom events and delegates
  • Occlusion culling to optimize the rendering of objects in your VR experiences and unlock more performance

VR Platformer Game

In this module, we’ll adapt the platformer game we built when learning the basics of Unity into VR. This will involve several changes to the game, including modifying the home and game over screens so that they are suitable for VR, modifying the player mechanics and HUD, mapping buttons on an external gamepad (we’ll use the Xbox 360 controller, but the skills are applicable to any gamepad), and manually triggering events in the Unity VR Standard Assets.

Learning goals:

  • Adapting an existing 3D platformer game to VR
  • Adaptation of UI screens and HUD
  • Changes to the platformer mechanics and “cursor key” type of movement
  • Mapping buttons for the Xbox 360 controller and other gamepads
  • Manually triggering events in the VR Input class so that we can utilize it with any external device (making our games and your skills future-proof)

Underwater Experience

Build a complete underwater experience in VR, where the player can dive underwater, chase fish and run into dangerous sharks! This experience covers many different aspects such as terrain generation, underwater look and feel, animations, performance and motion sickness considerations.

Learning goals:

  • Build a complete underwater experience: light, colors, fog usage, visibility challenges
  • Developing Unity terrains and addressing performance considerations
  • Preventing spikes in CPU usage by adding randomness to player proximity detection
  • Using the Animator and creating Animation Clips in the Editor
  • Creating a cleaner code-base using C# inheritance and method overriding

First-Person Shooter

First-person shooters are hugely popular and this curriculum wouldn’t be complete without one. In this module, build your own VR FPS game from scratch, where the player can move around the scene using a free-range teleportation system similar to that seen in games such as Arizona Sunshine. The enemies consist of zombies that feature rig animations, allowing them to realistically walk or fall when shot down. The player can collect ammo cartridges and the gun displays how much ammo it has left.

Learning goals:

  • FPS mechanics in VR: shooting bullets, recharging ammo, killing enemies
  • Developing a free-range teleportation system
  • Reusable collectible items
  • Adding humanoid rig animations to a model using the free cloud service, Adobe Mixamo
  • Using the Unity Animator to create transitions and blend animations

RPG

Ever wanted to create your own RPG? In this module, we create an impressive RPG in VR, where the player can explore dungeons, fight skeletons, collect weapons and health, and interact with non-player characters (NPCs). The game uses free teleportation and a reticle-based system to interact with the different elements.

Learning goals:

  • Modular level design
  • Exploring with free teleportation
  • Collecting health and weapons
  • Animator State Machines
  • Enemy AI: Path Finding using NavMesh
  • Light baking
  • Occlusion culling

WHO CAN TAKE THESE COURSES?

We start with the absolute basics and go through everything step-by-step – so even if you have zero experience in programming, you’ll be able to easily follow along.

More experienced? Whether you’re wanting to brush up, expand your skills, or learn a new technology, our courses are structured in a way that makes it easy to skip ahead to the lessons that are relevant and interesting to you.

REINFORCE YOUR LEARNING

Zenva’s courses feature quick challenges that will speed up your learning.

Access live coding lessons where you can practice coding right in your browser, and instantly see the results of any changes you make to the code:

Reinforce key concepts with in-course quizzes, which appear throughout courses:

COURSES BY THE WORLD’S BEST

Our course instructors aren’t just fun to learn from – they’re also industry practitioners, and have been formally certified for their excellent programming and teaching skills. That way, you can be confident that you’re developing strong, modern skills that will set you up for success as a developer.

YOUR COURSES, YOUR WAY

Learn with project-based courses that are designed to be flexible – access them 24/7, fit them around your schedule, and choose the learning materials that suit you best.

With an online platform optimized for all modern devices, you can even learn on the go!

✅ Watch video lessons

✅ Download course printouts

✅ Explore interactive lessons

✅ Practice with source code

✅ Build real projects

✅ Earn completion certificates

ACHIEVE REAL RESULTS

Our community of 1,000,000+ learners and developers have used the skills learned with us to publish their own games and websites, land their dream jobs, and even start their own businesses – and you have the potential to do the same!

Check out what our learners think below:

⭐⭐⭐⭐⭐

MIHIR PATEL

I love the lectures, concise course objectives, and how they not only teach you enough to get started, but prepare you for the advanced stuff later down the road.

⭐⭐⭐⭐⭐

MONICA MANCUSI

With Zenva, I started learning a more accurate way to approach problems and develop solutions. It’s full of interesting topics that I love to learn in conjunction with my work.

⭐⭐⭐⭐⭐

CRAIG BICKFORD

I chose Zenva because of the large selection of topics and the fact that I can choose what courses I want to take whenever I want to take them. That level of freedom is unique to Zenva.

⭐⭐⭐⭐⭐

ANDREA CARDENAS-ROEDER

The Unity courses at Zenva helped me achieve a level of comfort with game development that I didn’t think was possible. They give you the confidence to expand your skills, and were so easy to understand.

This curriculum is suitable for complete beginners with no prior coding experience. A virtual reality headset is not required. However, if you’d like to test your projects and skills in a real-world setting, the use of a headset is recommended.

Why should I learn programming?

We’re living in the age of technology. In every industry, demand for developers is high and continues to rise, yet there’s a shortage of skilled developers. As a result, there’s a huge number of exciting opportunities out there for developers who want to take them.

By mastering the skills taught in these courses, you’ll prepare yourself for roles in a wide range of industries. Whether you want to work in a startup or a Fortune 500 company, you’ll learn in-demand knowledge and techniques that will help you to succeed.

What will I achieve by taking these courses?

You’ll not only learn the most in-demand modern languages, frameworks, and tools, but also how to apply them to your own projects and real-world situations.

Additionally, as our courses are primarily project-based, as you learn you’ll develop a rock-solid professional portfolio that can be used to impress potential employers.

Technology changes quickly. What happens if the content becomes outdated?

We’re committed to providing you with the most up-to-date, relevant content. If one of our courses becomes outdated due to modern practices, we’ll update it. Often, we’ll even remake it entirely using the latest versions of the languages, tools and frameworks.

We’re committed to keeping up with cutting-edge developments in the industry, and turn this knowledge into new courses, which we publish every month.

I’m an absolute beginner who’s never coded before. Can I still do these courses?

Yes, you can! We have entry-level courses on all key topics, and each of our curriculums feature guided learning paths that show you what courses are needed to reach your goals.

Additionally, if you need a little extra help, we have expert mentors on hand to answer any course-related questions that you might have.

What time commitment is needed?

We get that you’re busy, and so we’ve designed our courses to be completely flexible, so you can learn at your own pace and fit your courses around your schedule.

While we recommend that you put in at least a few hours a week (the more hours put in, the more you’ll get out!) there are no time limits or deadlines that you need to worry about.

Will these courses help me to change my career?

Many of our students have been able to successfully change their careers, land their dream job, get promoted, and even start their own businesses… and you have the potential to do the same!

You can also combine your existing skills with your new tech skills, and expand your career, rather than changing it completely.

Our courses have been designed to teach you highly transferable skills, and leave you with strong projects that can be added to your professional portfolio – whatever you want to do, we’ll help to get you there! 🙂

Buy Now For $300

OR access ALL Zenva courses with our subscription.

  • Access all 300+ courses
  • New courses added monthly
  • Cancel anytime
  • Certificates of completion

Subscribe

LUNAR NEW YEAR SALE - Get 60% off the annual plan! Claim Offer
+
Don't miss out! Offer ends in