After working in Virtual Reality for more than 3 years, I wanted to learn how to create my own project so I decided for 2 weekends to put myself in the shoes of a VR creator, learning Unity and creating my first VR project!
A few weeks ago I decided to set myself a challenge: learn how to use Unity, one of the main well-known tool to create a Virtual Reality project (as well as 2D/3D games). It wouldn’t have been a real challenge if I didn’t set myself a limited amount of time, so I decided to do so in just 2 weekends!
It was a complete new experience as I have always been working on the business and community side, supporting the creators and developers instead of making anything by myself.
“2 Weekends to create a VR project on Unity for a complete beginner with no coding skills”
Why 2 weekends? I have been organising VR and AR hackathons in the past months where small team have to develop a project in 24 hours. Every time I am amazed by the quality of the demos and by the creative ideas teams come up with. Even if a majority of hackathon participants have a technical background and development experience, they are quite often not familiar with Virtual Reality — or Augmented Reality depending on the hack — or with the topic, and have to learn a lot AND create a project.
Organising those hackathons inspired me and pushed me to dive completely into this challenge. Thanks to those experiences, I knew I was able to do it!
I tried to document this experimentation as much as I could. I first wasn’t sure it would work so I wrote some notes every day about my feelings and feedbacks. Here is a brief overview of my experience with the reaction I wrote on the moment. I plan to write more detailed articles in the coming weeks related to this experience so keep an eye on my Twitter @AmandineFlachs!
-> As I wasn’t available the entire weekend, I decided to have a light program for weekend1. The idea was just to have a look at Unity, read some material, dig into some courses and understand the foundations. For that, I already prepared a selection of links and enrolled to one course recommended by the VR community.
I had a friend coming over the weekend so I just booked part of the afternoon to start the challenge with some reading and tests. I made sure I had the latest version of Unity, Android Studio, Oculus SDK and JDK… It looked tricky but not complex and I found the tutorials were really well made. First day was a quite short day but it forced me to get organised and make plans for the next days of the challenge. I also identified several areas I knew I had to better understand before moving forward in my project — the tricky things I had to be careful with:
and if time - Sound
I went into my study more seriously, started looking at the links I selected from the beginning to the end… and it wasn’t a good idea! By midday I got a terrible headache and realised I didn’t remember what I read. In the afternoon I decided to have another approach and learn by doing. It is actually how I learned how to do video editing a few years ago. So, I downloaded a few assets and packages and played around to understand how Unity worked and how complex it was. At the end of the day I had enough visibility to start planning my project. As a complete beginner it was hard to see what I could achieve in a weekend and I was a bit afraid of getting stuck for a long time on a tech issue but I knew I couldn’t do more for now to avoid it.
During the day I regularly had some doubts and felt really down after reading some article but at the end of the day when I had a look back at the weekend1, I realized I learned a lot and tried to relativise a bit.
-> Make it happen and create the entire project.
On Friday evening, I started putting my head back to Unity. After a busy week, I needed to think again about my project and select some assets so I wouldn’t waste time on Saturday morning. I also wanted to dig a bit more into the few areas I identified the weekend before to avoid any bad surprises as well as make sure I knew where to start. Honestly, I started freaking out. Past the complete beginner guides, I read many articles for VR beginners but Unity experienced and didn’t understand them so it raised even more questions.
My project took form during day1. I spent the entire day putting all the assets together. I didn’t do any break and my eyes were burning by 7pm but I knew I needed to go ahead to keep the deadline. In a day I got my two scenes ready, I just had to do all the animations, actions, interactions and code the locomotion system before going into the details. In summary, I kept all the fun for the end! I thought it wouldn’t take that much time to just put the asset at the right place and start thinking how they will interact together. I also adapted a bit my initial idea with the assets I found interesting. At least by the end of the day it was all ready and I spent part of the night looking for more information about locomotion and how to switch scene.
For the locomotion, the thing was I had a clear idea of the way I wanted it. No teleportation for me. I first thought I just didn’t have the right keyword to ask google so I reached out to the community… and was told that I simply couldn’t find such a thing. All the application using this type of locomotion code it themselves. A really nice VR folk gave me some tips during the night on how to write the script and what were the main points to take in consideration. At this point I was really tired but also a bit stressed. As I am not a developer, I had some apprehension for all the scripts to write but my partner was confident it would be ok so I kept doing my research. I then decided I would go to bed only when I would find out how to switch scene… again not a good idea but hopefully another VR online friend said it would be through a trigger script (what is used for all interactions and actions in my project) so I pushed the scene switch to day2 once I would have understood the triggers.
On Sunday, I wasn’t feeling great. My partner was sick, I had a terrible headache and barely had sleep. After a good coffee and lots of water, I put my hands into the hard part. To be honest Sunday was especially hard and without my partner to help me, I wouldn’t have managed to finish the project on time. It seemed I wasn’t the only one to be tired, my computer froze regularly and I had to restart Unity several times.
Before getting into the locomotion, I built the project to try it with my GearVR and see how it worked without changing anything in the script. SURPRISE, most of my project objects didn’t appear (actually they looked like they were transparent, like seeing through a glass). Once this was fixed, my partner spent lots of time to make the locomotion work. I helped as I could but I really didn’t know enough of coding. After a long, long, time, movement was fine and we dig together into the interaction/trigger scripts. It was more fastidious than expected but as soon as we got a better understanding of all the entire scripts worked together — and after reading all the internet — we got ONE working script I could just reuse by myself without changing everything. Once the template script was done, it took me no more than half an hour to adapt and apply it to the each element of the project.
It is only when I finished this that I actually started believing again I could do it on time. So at 11pm on Sunday evening I managed to get all my project ready! I didn’t had the time to add some of the elements I had in mind, add sound or improve lights, but in just 2 weekends I learned how to use Unity and created a working VR project.
Check out the quick video of the project I created!
This is just a raw overview of the different steps I’ve been through in the past weekends. As I said I was working during the week so this challenge was really exhausting — as exhausting as the monthly hackathon I organize.
In the coming weeks, I will do one or several other articles and take a step back on this experience, develop what I should have done and share all the links I used.
If you are interested in hearing more about my experience or have any question don’t hesitate to drop me a line or reach out on Twitter!