Now that you’ve figured out which headset you are going to get, you’re going to have to interface with some software. As you venture into making things for the world of VR, there are two main pieces that you’ll have to work with most likely, and those are real-time engines and modeling software.

You start with modeling software to create the things you want, and then move those things into a real-time engine to turn it into something you can experience in VR. These are going to be your tools if you’re creating purely digital environments, but also if you’re making physical items to interface with your digital experiences. I’ll talk more about creating the physical side of things in an upcoming post. For now, lets look at the software tools available.

Not just games

Before we jump into the software that is available, I’d like to mention that you’ll be hearing and seeing a lot about games and game design below. This is because, up until recently, most of the use cases for real-time engines were for games. While there were other uses before, virtual reality is really blowing this whole concept open and expanding on what real-time engines are used for. The first commercial units of the Oculus Rift haven’t shipped yet and we’re already seeing things like virtual tourism, medical training, psycho therapy, meditation, education, architectural visualization, and more.

Just keep that in mind as you move forward.

Real-time engines

The Unreal Engine is very well known in the games industry. This package is incredibly versatile, allowing for creation of games from 2d hand drawn looking platformers up to cinematic almost movie like experiences. They’ve charged into virtual reality head-on and support the latest technologies natively. There is a built in marketplace where you can find and purchase assets to include in your projects and a very large community sharing tutorials and inspiration.

Most impressively, the Unreal Engine is absolutely free. You can download it now and get started creating virtual reality experiences with zero cost.

Over the last several years, Unity has grown from a plucky little startup to go toe to toe with the likes of the Unreal Engine. The upcoming release of the first major commercially available VR headsets has only helped level the playing field as Unity has been aggressively courting this community. You can download Unity and begin building VR environments immediately with no prior experience.

The Cryengine has long been known for its rich visual abilities, the flagship games from this engine often being used as benchmarks to determine a computer’s strength. Up till very recently, there were costs associated with this engine that kept it from the hands of many small developers. Now, it is a pay-what-you-want model which means you could download it for free just to try it out and see if you like it.

Lumberyard was recently unveiled by Amazon. This is a recent addition to the market, and the community is just beginning to grow. On the technical side, this is a previous version of the crytech engine, but with Amazon backing it, some tweaks have been made.

Modeling Software

All of the items that are in your virtual worlds have to be created. To build these things, you model them in 3d modeling software. There are many, many, softwares available, so I’ve picked a few that are free, in order to allow you to try out the different types and see what you think.

Note that I’ve selected demo videos that show sculpting complex faces. 3D modeling software is typically very robust, but I wanted to select something that looked drastically different than CAD to help cement the difference. I’ll get more into the differences in a bit.

Blender is an open source, cross platform modeling animation and rendering tool. It has grown to be incredibly robust and powerful, rivaling the industry names like Maya, Softimage, and 3DS max. The feature set included with the absolutely free product is enough to take you through the entire production pipeline of game creation. It even has its own built-in game engine, though VR support is still not as strong as you’ll see in the real-time engines above.

There is a massive community behind this package and you can find tons of tutorials all over the web.

On the other end of the spectrum is Sculptris. This free software is very limited in functionality, but does its singular task quite well. If you find yourself encumbered by the interface of a typical modeling software, give this a try. The interface mimics sculpting a piece of clay, and it feels very natural.

Those are just two examples on opposite ends of the feature spectrum. Here are a few more pieces of software to try out.

There are many more out there to find if you search around enough. These should be enough to get you started.

What about CAD software?

If you’ve been doing 3d printing or CNC milling, you’ve been messing with CAD already. Programs like Autodesk’s Fusion 360, Designspark Mechancial, TinkerCAD, and FreeCAD are intended for making accurate 3 dimensional constructions. These are usually not ideal for modeling assets for real-time engines as their focus is on physical accuracy and they don’t have many tools for optimizing for a real-time environment.

To put it simply, if you were to design something in CAD software, it would be overly complex and run poorly in a game engine.

This doesn’t mean you can’t use these tools at all. It just means that when you’re getting started, you probably should stick to non CAD systems. After you’ve figured out the tool sets you’ll find that workflows for optimization do exist for CAD software and you can harness that.

Image manipulation for textures and more

Of course modelling isn’t the only tool you’ll need. You’re also going to have to do some basic image manipulation. We can’t all afford photoshop, so check out these free pieces of software that can easily do the job.

Gimp, or GNU Image Manipulation Program is a very powerful tool for image manipulation. Users jumping directly from photoshop may get frustrated with workflow and interface differences, but make no mistake, this package can get the job done. If you are doing backgrounds, UI elements, textures, or anything else, GIMP can handle it. It is cross platform too, which is nice.

There are a ton of ways that you can use Audacity. The most common uses for a beginner would be to record a sound, and bring it into Audacity to clean it up and tweak the speed and pitch. From there, you can expand into the many, many features of the software.

We’ve got sights and sounds, what about code?

This was called visual studio express, and was released to get more people coding, who couldn’t afford the full package. The community version is free and is extremely capable. You’ll find many useful tools and a vibrant ecosystem with tons of documentation.

I use notepad++ for all kinds of code, mainly php/html/css. However, it is extremely robust in that you can jump right into C++ or C# or whatever your game engine wants. It is totally free, robust, and uncluttered. Don’t expect it to hold your hand though.