Unity3d is one of the two big game engines (Unreal Engine being the other) that are usually used to make professional-level VR games. In case you’re wondering which you’d prefer, here’s one forum thread out of countless on the subject. Since I’ve learned Unity I’m going to walk through a pathway towards becoming more comfortable with it. This is a pathway for complete beginners who may be familiar with some other coding language or are at least willing to try out learning a programming language. Don’t let this deter you if you’ve never programmed before! You’re never too old to try it out and programming can be a hugely rewarding experience.
The Unity Basics. Start with Unity3d tutorials. These are very well done and contain videos, slides, and updates from past trainings that Unity has held. Obviously, its best to go in order from “Beginner” tutorials to “Intermediate” ones. Here is the recommended order:
Specific Training. After going through these, or even while you are working on the tutorials. You may start on your own project. You will probably be able to set up the basic environment, some objects, but there are still concepts or things you want to include that you don’t know how to do. This is where Youtube comes in! There are thousands of videos out there made by kind and generous developers who are happy to share their knowledge. Depending on what you want to find out (i.e. water flowing out of a faucet), you just type it in, add the word “Unity” into your search, and you should get some results. You may need to tweak your search words slightly, like add “C#” or “particle system”, but its a quick and easy way to learn.
3D Models. As you create your own projects, you will need your own, specific 3D models. If you are like me and have very little artistic ability, don’t worry! There are plenty of graphic artists out there who are willing to sell or even give away their 3D models. You can find some in the Unity Asset Store and what is nice about finding them there is they are very easily incorporated into your Unity project. Just access the store while in the project and importing the assets are easy! There are many online locations to find 3D assets. Here are a few I’ve used: CGTrader, Turbosquid, and 3Drt.
However, you can’t perfect models for everything you want so you may need to get familiar with a 3D modeling application. There are dozens of them but the most commonly used ones are Autodesk’s Maya, Autodesk’s 3ds Max (both normally expensive but free for students) and Blender (free and has a large supporting community). Again, here is the same dilemma as choosing between Unity and Unreal. Learning either one takes some time so figure out your needs and try to match them with the software. There are lots of “Maya vs. Blender” articles out there and also plenty of Youtube videos and online trainings for both. Also, there are applications in the Unity Asset Store that you can use to create 3D models in Unity. They are not as powerful as Maya or Blender but for small preliminary jobs, totally sufficient.
Involving VR. When you’re ready to incorporate VR into a Unity project, one of the best guides to making a VR environment in Unity is at raywenderlich.com. It is a great way to understand the scripts behind making “grabbable” objects, teleporting-as-locomotion, and other nuances of VR development. The entire tutorial will take a few hours and more if you are completely new to Unity. However, by the end of it you should be comfortable enough with Unity to customize objects as well as create your own interactive items. Good luck!