First came Desktop, then came Web, then Mobile, and now we have Virtual Reality. I don’t know what the future will hold, however, I’m going to make a bet: VR will explode in the next 3-5 years and I want to help contribute to this growth. As of the beginning of this writing, I don’t know much of Unity, however, I’m going to document my progress to learn in what I call my 100 Days of Unity VR Development.

As any VR enthusiasts know, we’re not going to have a repeat of the 1990’s. We have better hardware devices ranging from the Google Cardboard to the Oculus Rift, we have large tech companies like Facebook, Google, and Microsoft taking bets on AR/VR, and finally, we have better development kits available for normal developers like you and me to create our dream applications!

Like what you see? Subscribe to our Newsletter! Do you like what you're reading about Unity game development? Sign up to our email list to be the first to be of new tutorials and content! SUBSCRIBE

I’m a software developer that wants to become part of the VR revolution and help fill in the gap of missing applications in the app store. VR apps might not become the next Mobile apps, but it’s currently at the forefront of technology and it’s extremely exciting to see what the future will be.

So to prevent me from losing motivation, what better way is there than to force me to document my progress! Follow me in my 100 days of VR development! Armed only with my experience with programming, follow along as I learn how to create VR application with Unity.

Disclaimer: I have a day job and *sometimes* have a social life after work so most likely there won’t be consecutive days. My goals are simple:

Show my learning path of what I learned in a useful consumable way to others who are interested in developing VR applications. Have at least 3 updates a week develop and release something presentable to the app store

Will I make it? Read on to find out!

Subscribe To Our Weekly Newsletter! Like these coding articles? Join my mailing list for the latest updates and influence the code that I write! We hate spam. Your email address will not be sold or shared with anyone else.

Learning how to Develop in Unity

Day 1: Going through the Unity Ball Tutorial

We start off Day 1 by getting everything set up. We installed Unity and our editor of choice: Visual Studio.

Next, we start going through Unity’s roll a ball tutorial and learn how to navigate around Unity and some basic game development concepts like the Camera, Colliders, and GameObjects.

Day 2: Going through the Unity Space Shooter Tutorial I

In Day 2, I move on to the next Unity tutorial, the Space Shooter where I learned how to import assets from the tutorial, animate a player ship and shoot projectiles!

Day 3: Going through the Unity Space Shooter Tutorial II

In Day 3, we resumed what we were doing in Day 2 with cleaning up the lasers that we’ve created in the previous day, creating new waves of enemies, and then learning how to use Coroutines.

Day 4: Going through the Unity Space Shooter Tutorial III

In Day 4, we finally finish the Unity Space Tutorial by creating more UI’s and adding in audio effects that are provided to us from the tutorial.

Day 5: Survival Shooter Tutorial I

In Day 5, we start the final tutorial that I’m going to look at. We spent a lot of time setting up the environment for our character to interact with, creating some player animations, creating the enemy, and learning Unity’s powerful Nav Mesh Agent component and how it creates an AI for us to use.

Day 6: Survival Shooter Tutorial II

On Day 6, we finish the Survival Shooter tutorial by implementing shooting enemies with raycasts, the UI, animations for the enemy, and creating different states for the game such as game over.

Creating a Simple First Person Shooter

Day 7: Creating a VERY Simple First Person Shooter

In Day 7, we finally get started creating our own simple game features: a first-person shooter. I intend to use this as a skeleton to practice what I learned and then add some VR capabilities to it before moving on to creating a real VR app. Today, we created a simple terrain for us to use in our game.

Day 8: Creating a Character in a First Person Shooter

In Day 8, we went on to create our first-person character and added some controls to move our character around the terrain with our keyboard and mouse.

Day 9: Setting up a Weapon

In Day 9, we create a simple gun for our player and then use a raycast to shoot bullets at other objects in our game.

Day 10: Creating An Enemy

In Day 10, we create a simple enemy cube and added the code that’s related to an enemy getting attacked.

Day 11: Using Real Enemy Asset From The Unity Asset Store

On Day 11, we look through the Unity asset store to find assets to use are our enemy. We also learn the true power of the Mecanim system that allows us to use the same animations for different models! This is really interesting stuff here today!

Day 12: Creating AI Movements For Enemies In Unity

In Day 12, we use Nav Mesh Agents to create an AI for our enemy knight so that it can chase after the player. We talk about how to bake and what’s necessary to get our AI working.

Day 13: Attacking Enemies, Health System, and Death Animation in Unity

On Day 13, we re-added our shooting code to our player so now after we depleted our enemy knight’s HP, it’ll play its death animation.

Day 14: Finish Attacking the Enemy and Walking Sounds In Unity

On Day 14, we added a push back shooting mechanism for when the enemy knight gets hit. Then we went to implement walking sounds for the enemy that we found from the Unity Asset Store.

Day 15: Adding Shooting, Hit, and More Walking Sound Effects!

On Day 15, we added the remaining sound effects from shooting sounds, enemy getting hit, and the player walking.

Day 16: Using A Real Gun Model In Unity

On Day 16, we found a gun asset to be used in our game from the Unity Asset store. We added the animation for shooting, reloading, and idling. We also added the code needed to shoot from our gun and transitioning to the shooting state.

Day 17: Shooting With A Gun In Unity

On Day 17, we finish exploring making a gun. Along with shooting a raycast directly to the middle of our screen, we create an illusion of firing bullets from our gun towards the center of the screen for a more realistic shooting effect.

Day 18: Creating Weapon Ammo in Unity

Continuing developing our weapon system, today I decided to go and implement an ammo system and the UI that’s involved so we can start reloading our weapon.

After today, we can shoot our gun until we run out of bullets and then reload so we can shoot again.

Day 19 Creating Player Health System and Health UI in Unity

After we finished creating our weapon, we move on to creating a health system for our player. Currently, our player doesn’t take damage, so we’re fixing that.

At the end of today, our player will have health and take damage. We will also have the UI to show our player’s health.

Day 20 Fixing Game Object Collider in Unity

Now that we can take damage, we’re looking back to a strange problem: if we don’t move, our enemy won’t be able to damage us again! On day 20, we look more into colliders and why we’re not running them.

At the end of today, we will be able to get pushed around the enemy and take damage when they hit us.

Day 21 Creating Game Over UI in Unity

After we created a health system for our player and made sure we can take damage properly, it’s finally time to create a game over the state in our game. Today we look into making a game over panel UI and how to create animations to make it appear.

After today is over, we’ll have the game over UI to show to our player when they lose.

Day 22: Creating the Game End State and Game Over Animation

In the day before, we created a game over UI panel that stays in front of our player. Today we’re going to write code that will show our panel when the player loses.

Day 23: Creating a Spawning System for Enemies in Unity

Now we have a way to lose, we need to have a way to win our game. We’re going to do that by learning how to create an enemy wave spawning system.

At the end Day 23, we’ll have the code to create new Knight enemies into our game.

Day 24: Creating Waves for Spawning System in Unity

The day before, we added the code to create enemies, today we continue to make changes to our spawning system so that we can generate multiple waves for the players to challenge.

At the end of the article, we’ll have a complete wave system that creates new Knight enemies.

Day 25: Creating Victory State After We Defeat All Enemies

Now that we have a fully working Wave System, we can finally win the game. Today we’re going to implement a victory system by re-using our game over UI and code.

At the end of Day 25, we’ll have a “complete” game that allows us to lose and win.

Day 26: Adding Missing Audio, UI, and Creating Enemy Victory State

On Day 26, we did some tidying up of things that we didn’t completely address.

By the end of today, we added some audio for when the enemies hit us, added a new crosshair UI, and we made it so that when the player loses, the enemy enters their idle state.

Day 27: Adding New Bandit Enemy

Currently, in our game, we have an enemy spawn system that only creates knight enemies. Boring! Today, we’re going to add 1 new enemy, the bandit.

When we’re done today, we’ll have a bandit enemy that’s faster but have less health than our Knight enemy. We’ll also learn about how easy it is for us to share animations with Unity’s animator controllers.

Day 28: Adding A New Zombie Enemy

Next up in our series of adding new enemies, we added a new zombie enemy that’s slower, but have more health than our knight enemy.

Today we explored the powers of the animator override controller that allows us to use the same game states from other animators, but allow us to create new different animations for our character.

Day 29: Spawning New Enemies in Unity and Dealing With “Ghost” Colliders

Now that we have 2 new enemies, in Day 29, we’ll add them to our Spawn System so we’ll have a more fun game with different types of enemies each wave.

We also went to explore an interesting problem, where dead enemies (their colliders specifically), block our player from shooting other.

Day 30 of 100 Days of VR: Creating a Time Score System in Unity

Now that we have working enemies, the next thing to do is to create a scoring system.

Learn how we make a time base scoring system where players try to clear the game as quickly as possible. Today we’re going to create the code and UI for our scoring system.

Day 31 of 100 Days of VR: Stopping The Time Score System When The Game Is Over

After adding the time-based score system for the game on day 30, we need to be able to stop our score and the rest of the game.

See how we stop our time score when the game is over and how we clean up all of our animations and sounds.

Day 32 of 100 Days of VR: Learning about Saving and Loading Data in Unity

Before we move on to the final part of the game where we save our score, we will explore the pros and cons of 3 different options to save our progress: PlayerPrefs, Data Serialization, and a separate server.

Day 33 of 100 Days of VR: Implementing the High Score System

We explored the different types of strategies that we can save in our game. Now it’s time for us to start implementing the high score system into our game. We’ll be using the simple approach by using PlayerPrefs.

Adding VR Into Our Simple First Person Shooter

Now that we’re starting to work in VR, I’ve made a GitHub repository of the final version of the Simple First Person Shooter so people who are only interested in VR can start here.

Day 34 of 100 Days of VR: Setting Up the Google Cardboard In Unity

We’ve come a long way now. We completed our Simple FPS and now it’s time to start adding some VR mechanics into it. However, before we do that, we have to learn how to do that.

Today, we’re going to look into setting up the Google VR SDK into Unity and learn some of the prefabs and scripts Google provides that helps make developing VR apps easier.

Day 35 of 100 Days of VR: How to Run Google Cardboard on an Android Device in Unity

After exploring the Google VR SDK and the sample app, it’s time to run the demo app on our phone. Today, we’re going to learn everything we need to do to be able to successfully run our VR application on our Android device.

Day 36 of 100 Days of VR: Getting Our FPS Game Running in VR

Now that we know the high-level prefabs needed to work with the Google VR SDK and how to build the sample app, today we’re going to do some clean up in our game and build our own simple FPS game to our phone with VR enabled.

Unfortunately, when building for Google Cardboard, we have to face long build times whenever we want to test the app on our phone.

When we play our app, we’ll encounter a lot of problems some technical problems and some problems that are VR related. Don’t worry, we’ll resolve them all!

Day 37 of 100 Days of VR: Adding Basic VR Changes Into Our FPS

In the day before, we deployed our game in VR. There were a lot of things missing and broken, but being able to play a game we created ourselves in VR was really exciting!

Today, we went in to make some existing changes to make our gun work again by using Google’s implementation of Unity’s Event Trigger system.

Day 38 of 100 Days of VR: Creating a VR First Person Shooter I

Now that we have finally finished bringing everything we learned earlier about using the Google VR SDK, it’s time that we start to move to resolve problems that Google did not provide a solution for.

We went and changed the game to make our game work for Unity. Specifically, we moved the player to the middle of the game so the player will be surrounded by enemies. We also got rid of the ammo system, because the player only has one input and that’s to shoot.

Day 39 of 100 Days of VR: Creating a VR First Person Shooter II

In the next of our series of fixing our VR game, we’re going to fix the remainder of our gameplay bugs.

We look back at the Event Trigger System that we set up. The Event System Trigger only works if we click the input button over and over, but not when we hold down.

We also went in and fixed other problems like weird pushing problems, badly colored enemies, and slowing enemies to make the game easier.

Day 40 of 100 Days of VR: Creating a VR First Person Shooter III – UI

Now that we have added the gameplay back to where it was before, we went back to fix the final piece of our game: the UI. We learned that we can’t use a normal Screen Space Overlay for VR apps, we have to put our UI into the game world space.

We’ve also talked a bit about what good UI should be for VR.

Day 41 of 100 Days of VR: Creating a VR First Person Shooter IV – Game Over Panels

Continuing fixing our UI, we added back in our game over panels along with the animations. We have a problem where the animations are appearing in the wrong location. We fixed that and learned how we can interact with UI elements in Unity.

It turns out we already have everything we needed from our original game!

With our UI finished, we finished transforming our game to support the Google Cardboard.

Day 42 of 100 Days of VR: Using the Daydream Controller with our FPS

Now that we added Google Cardboard support to our FPS. We should do the same with the Daydream, specifically using the Daydream Controller.

Today, we looked at how to use the utility prefab in the Google VR SDK to get our game working with Google Daydream and their controller. It turns out that a lot we can leverage a lot of the work that we did with the Google Cardboard to make our Daydream implementation “just work”!

Day 43 of 100 Days of VR: Setting up Google Spatial Audio in Unity

On Day 43, we finished adding support for the Google Daydream by adding the necessary scripts for our controller to interact with our UI in the game.

Then we looked into Spatial Audio for Unity, which allows Unity to adjust the audio of our environment based off our location, allowing us to be able to tell where the enemies are coming from based off of their footsteps.

Once we have completed this task, we have officially created a simple VR FPS. Congratulations! We have come a long way since we first started on Day 1!

Day 44 of 100 Days of VR: Getting the Final Version Of Our VR FPS Game

On Day 44 we didn’t add anything new to our code, instead today, instead, we have the instruction to download and play around with the full version of the VR FPS and added the ability to switch between our Google Daydream Implementation and our Google Cardboard implementation.

GitHub repository: Unity VR First Person Shooter

Note: it’s the branch VR and not master that has the VR changes

Day 45-58: Creating 3 Different Locomotion in VR in Unity

In this one gigantic post, we looked at 3 ways we looked into 3 different ways of implementing locomotion that can be used with the Google Cardboard. We’ll look into:

Teleporting to locations based off of a curved line/pointer that we shoot to the ground and how to implement a fading effect to prevent getting headaches Walking to where we click on by adding a Nav Mesh Agent and creating a field of vision fade out where we can only focus on the location that we’re looking to move towards. Automatic forward walking

Github repo: Google Cardboard Locomotion Examples

Google Daydream series

Day 59: Playing with the Arm Models in Daydream Element

At the start of our Google Daydream series, we’re going to look at the Google Daydream Element app (and their code), which is really great for starting developers to learn a bit more about how to get things working.

In Day 59 we explore how to properly set up the arm model that the Google VR SDK provides for us and what each of the configuration settings does. We also look at some of the models that Google created were made specifically to do certain tasks such as holding swords, shooting guns, and throwing objects.

Day 60: Setting up the Google Daydream Controller

After we learned how we can set up and configure our remote controller in Daydream Elements, it’s time for us to set up our own game environment that we’ll use for future posts to create new features.

Specifically, today we looked at setting up the Google Daydream Controller and deal with all the kinks involved to get a working controller in our Unity environment.

Day 61 of 100 Days of VR: Intro to Daydream Controller API and Swiping

Now that we have a game environment with a working Daydream Controller, today we start learning about the API available for the Daydream Controller along with implementing swiping with the touchpad on the controller.

Day 62 of 100 Days of VR: Implementing Movement in Google Daydream

Now that we have a taste of the API’s that are available to us on the Daydream, let’s start implementing something that we might be able to use!

Today we look into a simple implementation of how we might use the touchpad to move our character around the game.

Day 63 of 100 days of VR: Rotating a Vector and Moving in the Direction the Player Is Facing In Unity

If you thought the fun ended the day before, prepare yourself for a treat! We implemented movement with the touchpad just the day before, but we have a problem. What if our player turns around?

Today, learn how we can use some trigonometry to rotate a vector so that we move our character based off of the direction that we’re facing.

Day 64 of 100 Days of VR: How to Add an Outline Effect on Game Objects

In day 64, we’re going to start looking at how we can pick up and throw objects in the game, specifically, the first thing we’re going to do is create a highlight effect of the item that we want to pick up.

Today the first step is to set up a shader that we found online that will help us create an outline effect on our game object.

Day 65 of 100 Days of VR: Adding the Outline Effect Material on Game Objects In Unity

Continuing from the previous day, we now have a material that will create an outline effect when we apply it to a game object. Today we’re going to create a script that will allow us to apply the material when we hover over certain game objects.

Day 66 of 100 Days of VR: Picking up and Throwing Objects In Unity Part 1

Now that we have finished the first step in adding an outline object, we’re going to move on to the final task of picking up and throwing an object.

Today, we write the code that will allow us to:

Pick up a game object

Use the velocity of our swing motion to throw our game object

Day 67 of 100 Days of VR: Picking up and Throwing Objects In Unity Part 2

In the second part of picking and throwing game objects, we look at how we can go about refactoring our code so that it’s cleaner and then proceed to set up the script that we wrote the previous day to complete our implementation of throwing game objects.

Day 68 of 100 Days of VR: Creating a Menu In Unity

In the final part of features, we want to explore on Unity, the final one is the ability to create a menu in VR. Today we just went up and set up a

Note: most of the post can be applied to the Cardboard too!

Day 69 of 100 Days of VR: Writing Code To Interact With Menus in Unity

Now that we have a menu game object created in the game, the next step would be to see how we can interact with the menu in code. Learn how to use the Event Trigger and the Google VR SDK to easily detect events.

Day 70 of 100 Days of VR: How to Implement Menu Scrolling in Unity

With a basic menu working, today, we use the Google Daydream touchpad to implement menu scrolling.

Some of the things we work on are:

Creating a system to help us manage to the next and previous menu button from our current menu button Create a delay in our input so we don’t instantly zoom through all of our menu buttons.

Day 71 of 100 Days of VR: How To Create A Menu That Stays In Your Screen In Unity

A common feature in VR games with menus is that they follow the player when the player is no longer looking at it.

Today, we add the ability for the menu to move back to the center of the player’s screen when the menu is no longer in the player’s screen anymore.

Day 72 of 100 Days of VR: Instantiating and Removing Menus in Unity

In the final post in both the Menu series and the Google Daydream series, we take the feature-rich menu that we worked on in the past couple of posts and create a prefab out of it.

With the prefab, we create a script that will help us instantiate and destroy the menu whenever the player clicks on the app button.

Github Repo: Google Daydream Playground

Notes: These are what each scene contains:

Test : The original set up to create the game environment (nothing important here)

: The original set up to create the game environment (nothing important here) GrabAndThrow : Contains all the code from the movement code to being to grab and throw game objects

: Contains all the code from the movement code to being to grab and throw game objects Menu: Contains all of the work we did with the menu

Endless Flyer

Day 73 of 100 Days of VR: New Endless Runner Game and Creating Animations On Blender Game Objects

At the start of the endless flyer series using only the Google Cardboard, we’re going to start off by exploring the next type of game we want to create and then get our Player character from a free Blender model.

We’ll take the model and then add our own animation to it!

Day 74 of 100 Days of VR: Creating Player Movement In Google Cardboard With Head Rotation

Now that we have a game object that represents our player, it’s time to be able to move our plane! In this post, we’ll learn how to use our head rotation to allow us to move our plane around as we fly through the sky.

Day 75 of 100 Days of VR: Creating Simple Random Path Generation

Next, after basic character movement, we learn how to create a simple path generation script. We’re going to look at how we can go about creating simple paths that the user will fly through and then we’ll write a script that will randomly generate them for us to avoid forever.

Day 76 of 100 Days of VR: Creating Complex Random Path Generation

Continuing from creating a simple path we move on to see how we can create more complex and colorful paths. We create 3 different types of complex paths along with 4 different variations of them.

Inside the post, you’ll find a package of the paths that I created that you can import.

Day 77 of 100 Days of VR: Crashing the Plane with Explosions

At this point we have a stage now that our player can fly around, however, nothing happens when we bump into anything. In Day 77 we’ll look at adding colliders and playing an explosion asset when the player collides against a wall.

Day 78 of 100 Days of VR: Adding Game Over UI

After creating an explosion for our player, we have ended a game over state, but have no way to resume the game. In this post, we’re going to add a UI that show to the player that the game is over and add functionality that will restart the game.

Day 79 of 100 Days of VR: Creating A Game Management System For Items

In Day 79, we’re taking a detour from our normal Endless Flyer and talk a bit more about how we should go about structuring our code in Unity.

Specifically, we’re going to refactor and create Manager scripts that will better allow us to better access and use scripts in our game.

Day 80 of 100 Days of VR: Generating Coins in the Game

After our quick detour, we go back into our game by creating a new Coin asset that will be used as the currency in our game.

In this post, we find a coin asset, add a spin effect, and write a script to generate it in our paths.

Day 81 of 100 Days of VR: Picking Up the Generated Coins

In the previous post, we generated coins in the game, however, at this point, we still don’t do anything with them.

In this post, we’re going to fix that by creating a Game Manager that will keep track of our coins collected and add code that allows us to pick up our coins.

Day 82 of 100 Days of VR: Adding Pickup Sound Effects

Now that we can pick up our coins, we’re going to spice up the effect even more by playing sound effects whenever we pick up coins. To do this we’re going to find some sound assets, create a Sound Manager, and then write code to play the sound!

Day 83 of 100 Days of VR: Adding A Score UI on the Plane

We’re almost finished with our coins. We have implemented everything from generating, collecting, and sound effects, however, we still don’t have anything that indicates that we have picked up a coin!

In Day 83 we’re going to fix this by adding a score UI to the dashboard of our plane to show the player’s score and the coins collected.

Day 84 of 100 Days of VR: Adding Power Up Spawn Points

With the previous post, we’ve finished adding coins in. The next topic we’re going to move on is power-ups! However, before we move on to implement a power-up effect, we need to change our path generation code to also start including power-ups.

Day 85 of 100 Days of VR: Creating a Magnet Power-Up

Day 86 of 100 Days of VR: Implementing Magnet Effect in Unity

Day 87 of 100 Days of VR: Adding Magnet Audio Effects

Day 88 of 100 Days of VR: Adding Magnet Visual Effects with Particle Systems

In these 4 posts, we talk about everything that will be needed to implement our Magnet effect. As you might expect, this power-up will make nearby coins fly towards the player. We go from:

Finding and adding a Magnet asset for our game. Implementing a magnet sphere range that will move all coins to our plane (along with adding the necessary managers to keep track of our power-ups). Add audio effects for when our magnet power-up is active. Use particle effects to show effects when our magnet power-up is active.

Day 89 of 100 Days of VR: Creating A Multiplier Power-Up with Magica Voxel

Day 90 of 100 Days of VR: Adding the Multiplier Power-Up Into The Game

Day 91 of 100 Days of VR: Implementing the Multiplier Power-Up Effect

Day 92 of 100 Days of VR: Adding Sound and Visual Particle Effects For The Multiplier Power-Up

In the next 4 posts, we create our Multiplier Power-Up. This power-up will increase our coin and score that we accumulate by a multiple. These 4 days cover:

Creating our power-up asset (ourselves) by using an awesome and free voxel tool called Magica Voxel. Adding our new asset to our game. Implementing the effect of the multiplier power-up into our game. Adding visual and sound effects for whenever our score multiplier effects are active.

Day 93 of 100 Days of VR: Creating the Invincible Power-Up Asset with Fire Particle Effects

Day 94 of 100 Days of VR: Adding the Invincible Power-Up Into The Game

Day 95 of 100 Days of VR: Implementing The Invincible Power-Up Effect

Day 96 of 100 Days of VR: Adding Music and Motion Blur with Post Processing Effects

Finally, in the next 4 posts, we’re going to go through the creation of our last and final power-up the invincible power-up! Here’s what you’ll learn:

Create our Invincible power-up by finding a free rocket asset to use and then using particle effects to create a fire effect for our rocket. Add the Invincible power-up into the game Implement the invincible effect which will increase the player’s speed and make them invincible and not die from colliding against anything. Finally, we add an audio effect and look a bit into using Post Processing Effects to create neat visual effects. In this case, we’ll be using it to create a motion blur effect.

Day 97 of 100 Days of VR: Saving our Coin and Score in PlayerPrefs

Now that we finally have enough power-ups to have game experience, we’re going to give re-playability to our game by creating an upgrade store.

To accomplish this, in Day 97 we learn how to save the coins we collect and keep track of our score between different game sessions so that players can try to beat their old score.

Day 98 of 100 Days of VR: Creating the Item Shop Scene and UI

After the previous post, players can now accumulate coins that they can spend on… well nothing, yet!

In Day 98, we create the UI for the upgrade store that the player can use their coins to spend on to improve the 3 power-ups that are available in the game.

Day 99 of 100 Days of VR: Creating A Database For Power-Up Upgrades

We have the coin, we have the UI, and now we just need to have data to represent our power-up upgrades.

In this post, we define a database that we will use for the power-up upgrades that we can purchase from the upgrade store, save the state of our player’s power-up level, and then finally make it so that we can purchase a power-up.

Day 100 of 100 Days of VR: Adding the Power-Up Upgrade Into the Game

We finally hit the big 1-0-0! In the final post of this project, we finally have a full game experience from playing the game, earning coins, buying upgrades, using new upgrades to get more coins.

In the final post, we use our newly acquired player power-up levels and use them to improve the effects of the power-up in our game. This means longer magnetic field, higher multiplier rate, faster movement when invincible.

Github Repo: CubeFlyer

Wow! 1+ year later and here we are! I’ve learned a lot about VR, but more importantly, I learned a lot about Unity.

Throughout this process, I was involved in other side VR projects with a local indie development group. One that failed to received funding: Monster in the Closet and another one that we’re working on that’s part of Tinker Studio!

Now that the 100-day project is finished, I’m going to start writing much shorter content and more day-to-day content that I encounter throughout my day. Thank you all of your support!