An Enthusiasts Journey in Learning to Develop Worlds for VRChat

From the first time I stepped into a VR world of my own creation I knew this was it! There was just something so powerful about this experience that it cannot be put into words. Admittedly I was one of the enthusiasts who took the plunge and purchased my DK1 with a small bit of shame that I was not really a developer. In doing this however, it made me start to look into what it would take to make a world of my own and I found that there were a lot of resources for the beginner like me to get out there and start to learn the tools for creating worlds.
Screen Capture of the original Unreal Editor
Technically this was not the first time I had attempted to do this. Way back in the late 90’s when I got my very first home based VR set up, I somewhat taught myself to use the first iteration of the Unreal Editor for making my own maps for the first Unreal Tournament game. Using these tools I could experience my creations in what we called VR back in the day. Doing this however was a daunting task in the early days of the internet. There were no tutorial videos to follow or great online forums on which to ask questions of seasoned pro’s. Learning UE involved a lot of self study and book reading which lead to more than a couple of frustrating evenings. Once I had my first map done though, it was such a feeling of accomplishment! It felt so good when a few friends dialed into my map… Yes I said dialed in! There unfortunately were no multi player servers back then… In the mid to late 90’s players had to use direct connections on 56k modems to play together.
OK… So that was then, but how about now? Today with the power of the modern internet users have unlimited resources available to help them learn to creating worlds of their own. After realizing this most people often wonder, “So.. Where do I start?” To answer this question I have to say that it’s entirely a personal choice. People tend to learn in different ways. Some prefer the old school methods of reading text from books, while others who are more apt towards visual learning take a more watch and do approach. I fall into the visual category and found that my best resource for learning the tools needed would be accomplished by seeking out a good video tutorial series on YouTube. There are a vast amount of these tutorials on the Tube so I will share the one that I found spoke to me best.

Everything started to come together when I found the Jimmy Vegas tutorial series on YouTube. These tutorials are very well suited to the absolute beginner and Jimmy has a great pacing to his videos. It was awesome to be able to watch and learn in this fashion. The ability to view him performing the steps and explaining everything in plain English allowed me to recreate and expand on the concepts being learned at my own snails pace. Watching these tutorials I quickly understood the basics of Unity and shortly after completing my first couple of videos I already had a small world of my own, but this still wasn’t a VR enabled world, and that is what I wanted more than anything out of this learning experience.
Around this same time I had started spending more of my evenings in VRChat and I was quickly getting tired of wearing the stock BusinessM avatar. Seeing others in there sporting cool game characters or completely original creations got my mind racing as to how to get one of my own. This prompted me to seek out some documentation on the VRChat website and r/vrchat, the subreddit created for users of the program. It was in reading through the SDK notes that I discovered I had already been using the tool I would need to realize my dream of inhabiting a modern VR world. Low and behold Unity was what was needed for not only creating the custom avatar I wanted, but also for building a world that I could inhabit and also share with others! 

My First World in VRchat

With a few clicks of the mouse I was able to easily import the VRChat SDK into Unity and begin building my first world using the same template I had learned from the Jimmy Vegas tutorials I had been watching. I quickly compiled the file using the SDK and uploaded it to my Dropbox. All that was needed now was to point VRchat towards the file location and after a few moments of loading time I was there… I was standing in a world of my own creation and it was needless to say a very powerful and emotional experience! After creating my first couple of rooms and getting some great feedback from the awesome developers who frequently hang out in VRChat I felt so accomplished. I had finally made something I could be proud of and share with others. So with this in mind, I decided to write about this and want to encourage other enthusiasts to do the same.


My second Room The VRbros Theater

This article is not meant as a tutorial but more as an inspiration to all those who have dreamed of being something more than consumers of VR content. Do I consider myself a developer now? Not by a long shot but after doing this it has my mind racing as to the possibilities this all brings. Entering virtual worlds is a powerful experience in its own right, but being able to create one of your own to be shared in VR is quite frankly a magical feeling. So if you take away anything from reading this, just know that if you want it bad enough and are willing to put in the time, you too can do this! I will provide links at the bottom of the page to all of the resources I used that you will need to start on your on your own journey towards this goal. I hope to see some more enthusiasts get out there and start making rooms or creations of their own soon.

VRchat development resources links:

I want to give special thanks to all of my family, friends and the great developers I have had the pleasure to meet who helped me along the way. █-)
Brought to you by vrgamerdue of the VR Spies

One thought on “An Enthusiasts Journey in Learning to Develop Worlds for VRChat

  • July 30, 2016 at 7:49 am

    Hey thanks so much for the kind words! This made my day █-)


Leave a Reply

Your email address will not be published. Required fields are marked *