How to Make VR Games in Unity (Complete Beginner Guide)
By Fist Full of Shrimp
Summary
Topics Covered
- Skip VR Foundations, Fail Fast
- Unity Dominates Quest via Mobile Porting
- Motion Sickness Dictates Locomotion Choices
- Game Jams Forge Real Problem-Solving
- Publish Small, Iterate on Criticism
Full Transcript
I've been making VR experiences for about four years now and I still remember how confusing it was to get started. Unity, C, XR tools. Where do
started. Unity, C, XR tools. Where do
you even begin? I get this question constantly. So, I decided to create a
constantly. So, I decided to create a little road map for you I wish that I had when I got started. This road map has five phases that will take you from a complete beginner to having a VR game
that people can actually play. And it
could take you anywhere from 5 months if you're going really hard at it, or it could take you maybe a year depending on how much you like to go outside and actually touch grass. Stage one is going
to be called foundations. Now, I know a lot of you probably want to jump into the VR stuff right away, but most people who fail VR development skip this phase.
I think I jumped into VR development way before I was ready, and it hindered me a lot. So, first off, in this phase, you
lot. So, first off, in this phase, you want to pick a game engine. Now, from
what I've experienced, you have three main options: Unity, Unreal, or GDAU.
And which one you choose should depend on what features matter to you. Unreal
is known for its amazing graphics and lighting systems, and the visual quality you can achieve is incredible. But the
catch is the VR support I've personally found to be a bit limited, and the learning resources are pretty scarce.
You can absolutely make amazing VR games in Unreal, but you tend to be figuring out a lot of things on your own. You
have GDAU, which is free, lightweight, and has a really great community, but similar issues though. VR support
exists, but you won't find nearly as many tutorials or resources compared to other engines. For myself, I chose
other engines. For myself, I chose Unity. It has extensive VR learning
Unity. It has extensive VR learning resources, and it's easier for mobile porting. You might think mobile doesn't
porting. You might think mobile doesn't matter in VR, but the Quest 3 pretty much dominates the market right now and is basically a mobile device, and Unity's ethos of write once and deploy
to everything makes that transition much smoother. Now, once you've picked an
smoother. Now, once you've picked an engine, don't touch the VR stuff yet.
Spend these two weeks really getting to know your engine in Unity. That means
what are scenes? What are game objects?
What are prefabs, transforms, the inspector, the hierarchy? What are all these things? Give yourself time to know
these things? Give yourself time to know them. Now, besides the game engine,
them. Now, besides the game engine, you're also going to want to learn some basic scripting, also known as programming. In Unity, that's C. In
programming. In Unity, that's C. In
Unreal, it's C++ or blueprints if you're doing some visual scripting. I think
that's their visual scripting. In GDAU,
it is GDScript, which I've never touched. But you don't need to be an
touched. But you don't need to be an expert programmer, but you should understand how to make objects do things with code. Even with visual scripting
with code. Even with visual scripting options, VR is still a very new and evolving field. The XR interaction
evolving field. The XR interaction toolkit, which we'll talk about in a second, is changing constantly, and you have to understand what those changes are, how it affects your code and game.
Between learning your game engine and the basics of programming, give yourself, I would say, at least a month.
Just let the stuff soak in. Watch some
tutorials, especially for programming. I
know Code Monkey offers a free tutorial series on C. So, go through that tutorial series and then practice. Now,
once you've given yourself about a month, maybe even two months to get to know the engine and programming. We get
to move to phase two, which is going to be core VR concepts. When you're
learning core VR concepts, this is where you're going to start learning what a toolkit is, which is just a collection of features and components that you can use to make VR experiences without
having to implement everything yourself.
So, the one that I use is the XR interaction toolkit cuz Unity's made it and it's free. But there's a few other options, too. You can go to the Unity
options, too. You can go to the Unity asset store and you can buy one that's already set up and has more functionality and honestly is probably better than the XR interaction toolkit if you want to just hop in and make a
gun game or bow and arrow game so you don't have to build that yourself. But
the XR interaction toolkit I chose is because it is very approachable. It's
well structured and they keep iterating and adding better functionality to it.
You can look at toolkits kind of like how the engines are. What you want to do is see what kind of functionality you want to have in your games and then just pick a toolkit and get to know it. So
for the XR interaction toolkit, you want to learn things about how the world moves with you or how hand tracking works or how do you interact with things, teleport or locomotion. And
speaking of locomotion, this is where you are learning even more VR concepts.
What makes people sick? A big problem with VR development is people get motion sick a lot. I do. I constantly get motion sick. I can't play Gorilla Tag,
motion sick. I can't play Gorilla Tag, all right, and have all those kids screaming at me. I get sick instantly.
Something about that movement and how fast you move. I I just I don't get the VR legs for it. And you have to consider that with your players. You have to give them options of teleporting or smooth
locomotion or smooth turning, whatever.
Whatever makes it so your player doesn't throw up. You also want to learn how the
throw up. You also want to learn how the Unity input system works and how action maps work. This is how you map your
maps work. This is how you map your players inputs on their controllers into actions in the game. If you don't learn how to use the player input system, then you won't be able to do things like when
someone presses the X button, it pops up the menu, which is pretty fundamental when you're making a game. Now, once
you've played around with the toolkit and you've also learned a bit about the input system, your goal then should be to create a small room that you can interact with things. You don't need to build something amazing. It's just to
understand how VR interactions work. And
by the end of this time, it'll probably be about month two, maybe month three, you'll have the basics of a VR scene where you can look around, teleport, and grab objects. And once you finally have
grab objects. And once you finally have a room that you've created and you can walk around and grab things, you finally realize that you're actually building towards something and you're ready for phase three, which is an intermediate
project. This is where you start
project. This is where you start building something that actually feels like a game. You want to pick out a project that is going to take you about a month to finish. Nothing too crazy.
Some basic gameplay and some basic UI.
You're going to implement things like snap zones and grab points so objects know exactly where you should be able to grab them. Physics-based interactions so
grab them. Physics-based interactions so things behave realistically. Maybe a
simple inventory system for switching between different tools that the player is using. This is also the phase where
is using. This is also the phase where things start to get a little more challenging. You used to have
challenging. You used to have step-by-step tutorials, but now they're starting to run out and you have to figure out things on your own. This is
where you start graduating from learning VR development to actually being a real developer and having real problem solving skills. You have something that
solving skills. You have something that you want to exist. You go online, you see no one's done it before and you have to do it yourself. So by the end of this, your goal should be to make a miniame. Make a puzzle room where you
miniame. Make a puzzle room where you move blocks around or maybe a simple shooting gallery, whatever you can make from start to finish. And if you're at this phase, I'm going to say to instead of making your own intermediate project,
you could join a game jam, which I'm hosting right now. It's going to be going on for 3 weeks. So, if you want to sharpen up your VR skills, game jams are a great way to do that. You're given a set amount of time, a theme, and then
you have to make a game in that set amount of time. And so, when you're at this step and you're doing micro games, this is a perfect challenge for you.
Definitely check out my game jam if it's still going on when you're watching this video. And if not, you can see me in
video. And if not, you can see me in October. I'll be hosting one then, too.
October. I'll be hosting one then, too.
Once you've made a micro game or two, you're ready for phase 4, which is advanced mechanics and polish. This is
where your project goes from, oh, it's kind of a cool demo, to, "Ooh, I made this." This is where you're going to be
this." This is where you're going to be adding things like hand animations and inverse kinematics. You'll also be
inverse kinematics. You'll also be building up skills in spatialized audio, so sounds that actually come from where they would come from in a 3D space. Be
diving into performance optimizations because it's really important. Like I
said before, the Quest 3 is practically a mobile device. So that means you're going to have to learn things like occlusion calling, draw call batching, texture compression. I mean, every
texture compression. I mean, every little thing that you can do to make your game faster, you should do. And I
understand that a lot of people don't think optimization is cool or glamorous.
I personally think it is the coolest, but it is the difference between a VR experience that makes people sick and one that actually feels professional.
Polish is going to take a lot longer than you think. What feels like a small detail like a button lighting up when you point at it can actually take hours to make it feel right. But these details matter in VR more than any other
traditional game because it's so immersive that any detail that isn't quite right might totally break that immersion. At this stage, you have a
immersion. At this stage, you have a strong understanding of programming. You
have a strong understanding of your toolkits, your engine, and you have a better understanding of complex mechanics and polish. So, you're
probably ready to publish something to the Quest store. And for this, I'd say give it 6 months, maybe a year. Do not
build your dream game. All right, that is still foolish at this stage. Da Vinci
didn't come out of art school and make Starry Night. And I don't think you
Starry Night. And I don't think you should either. You should take a smaller
should either. You should take a smaller game, fully build it out and publish it, and move on to the next one. So, during
this phase, you're going to be thinking about things of what platforms do you want to deploy to? You can't ignore the Quest ecosystem and just go for PC.
There's nothing wrong with that, but the Quest is dominating the VR market right now. And so, if you actually want to
now. And so, if you actually want to make some money on this, you might want to distribute to the Quest, but that means you're going to have to optimize the project and also not have the most insane graphics when it comes to
deploying to mobile. During this phase, you can also experiment. So, for
distribution, you can also do side quests. So, maybe you want to see if
quests. So, maybe you want to see if this project has some legs. Side quest
is a great option or even itch before you even build out the game fully. Maybe
you want to see that it has some market success. Play on these platforms and see
success. Play on these platforms and see if you get some traction first. If
people find your gameplay interesting or your graphics fun or maybe your storytelling to be fantastic, then continue the project. I mean, you can continue the project without traction.
If you're not planning on making money or anything, everything's going to be a learning experience and growth here on out. And you should probably be real
out. And you should probably be real with yourself. You're not going to make
with yourself. You're not going to make thousands of dollars on your first game.
Some developers have pulled it off, but realistically, you're probably not going to. I mean, hell, you should be happy if
to. I mean, hell, you should be happy if you make five bucks. But I think the important thing at this step is to just get published. Just put something out
get published. Just put something out there into the world. Just publish it. I
mean, if people crap on it, who cares?
That's just feedback. Just learn from it. Whatever criticism you might be
it. Whatever criticism you might be scared of when you publish your game might be your inspiration for your big breakthrough. Look at the person who
breakthrough. Look at the person who made Five Nights at Freddy's. They made
plenty of games and they were inspired by one of their reviewers saying that their characters resembled creepy animatronics and boom, now they have Five Nights at Freddy's and they've made movies about their IP all based off the
fact that someone didn't like their animations and models. Even when I started this YouTube channel, I thought everyone would crap on me. I just wanted to help people out. And I hope that it would just get better. And guess what?
I've gotten some valid criticism and it's made me better. And I've gotten some invalid criticism and whenever I read those, I think, hm, eat my whole butt. I think I did an okay job and I'm
butt. I think I did an okay job and I'm going to keep doing it. Well, there you go. That is the road map that I wanted
go. That is the road map that I wanted to cook up for you guys. I hope it gave you some scaffolding for you to build up your VR learning journey. And if you've already played with the XR interaction toolkit and you've developed some things
in VR, please join us in the game jam.
Again, it is going on for about 3 weeks.
The theme's fun, everyone's having fun.
Come join us. Come have fun. and I'll
see you all in the next one. Bye-bye.
Loading video analysis...