Why VR development doesn't suit you

Hello everyone! My name is Grigory Dyadichenko and I am involved in AR / VR. (There are pops in the room). I have been in AR / VR for more than 4 years, although I have been doing not only exclusively them, but a variety of custom projects all this time. I worked in studios, for a long time I was a freelancer and even for a whole year I had my own studio. Today I want to tell from different points of view and nuances “why you should not go to VR” as a developer. If you are interested in what you will encounter in virtual reality - welcome to cut!



VR for enthusiasts


In general, if you are a technology enthusiast, do you like VR or do you dream that someday we will all be wearing helmets at home and become more beautiful, stronger, smarter, then this article is not for you. Since I will talk about purely everyday problems, nuances, limitations, which for an enthusiast will not play a role. Nevertheless, VR development basically differs in this from the same web, backend, desktop or mobile development.

Very expensive equipment




There is a little background. Firstly, in the studios this does not play such a role for the developer, as the equipment is provided, and when I worked in companies I did not have to think about it. Secondly, here you need to slightly separate desktop VR and mobile VR. In mobile VR - it's just expensive, in desktop VR - it's unrealistically expensive.

When I started freelancing, I had a good MSI laptop for 40k rubles and GearVR with the latest Samsung flagship. That is, the total setup cost about 130k rubles. In general, in my opinion, the minimum (not the most comfortable) kit for the Unity freelancer is a laptop from 40-50k rubles. You can already develop projects on order with him. For mobile VR, if you take the current point in time, you need to buy another Oculus Quest - which costs about 60k rubles (that is, more expensive than your laptop). Already 100k rubles, which is not so cheap. Especially not for Moscow.

But take the worst case scenario. Desktop VR. What do we need? Comp, monitor (at least one), keyboard, mouse, HTC Vive (at least the first). And this minimal set costs well somewhere around 200-250k rubles. Since the minimum graphics card for development is 1060 in this case. This is a direct tangible amount of money. Now, at least it’s good that Unity has an abstraction of different controllers, in ancient times, you had to write button mapping for each, and this is very inconvenient when you say wipe, but there is no oculus. Do not test.

For mobile AR, you need a minimum - a good phone. So far, the best value for money in my experience is Redmi Note 7. It can be found for 10-11k rubles, so it's not so bad. He has problems, and this is certainly not an iPhone. But it fits perfectly for testing (now this is the main test device on Android). There is really one caveat that this is suitable only for the study of AR or development only for android, which is rare (although it happens in b2b tasks) On ayos - this is accordingly iPhone 8 - 25k. Plus, to make it comfortable you need a macbook, but at first you can use your Unity Cloud Build to grit your teeth. + Developer account - $ 150 per year (about 10-11k at the current rate). That gives us a total of 90-100k. Why do you need an iPhone? Even in ARFoundation, the same API works differently on Android and on iOS. Especially in the case of markers

I have accumulated a huge amount of equipment over the year. A few helmets, lipmo, a bunch of phones and other garbage.

That is a summary.
The minimum set for commercial Unity development is 40k-50k rubles (then you can accelerate and buy SSDs and other amenities of life for a comfortable development) And it’s better not to buy a macbook at the start if you decide to work with 3D. Since there is a task - to bake light. And unlike a macbook for 50k, on Windows there are laptops with normal video cards, where this does not turn into a pain.
The minimum set for mobile VR is 100k-110k rubles.
The minimum set for mobile VR is 200-250k rubles.
The minimum set for mobile AR is 90k-100k rubles

And yes, it is impossible without equipment. Even if you have a mountain of work experience, you can do only part of the tasks “by eye”. If we touch on any games, then they need to be tested in a helmet. In mobile and web development, the truth also does not always happen so smoothly, since different phones are needed. But it all depends on the task, and at least this means that you already have a project. Although maybe someone in the comments will share what, in your opinion, is the minimum kit for things like front-end, back-end, etc. Personally, from my point of view, the backend is one of the simplest minimal sets, since we go to the virtual machine via SSH, at least from the kettle. Further, it is precisely the question of comfort of work, in order to locally raise a virtualochka, an environment and generally buy a macbook.

Testing




Perhaps my main pain. As an experienced developer, I first of all make the system so as to abstract input and do 90% of the work all the same in the engine. That is, a shooter? Well 3D controller - shoot. Text input? We also transfer to the screen. Complex algorithm or visualization? A test script that runs different input options.

And working in a studio or company - you have a working area where everything can be tested. In general, compared to any other development, I am still frustrated by tasks that can only be performed outside of Unity and different IDEs, when you need to pick up a device. In mobile game development, it’s also good to play what you do. Especially if you do not understand UX, but there it is less critical in many cases. In say turn-based games or puzzles. And the main question is whether you are responsible for UX. If not and you do not have a scrum team - this is not necessary, although it is useful. Most bugs (not all) are caught within the framework.

Any AR / VR mechanics are tested only in equipment. One of the most convenient interfaces from the point of view of AR / VR - refers to every element in the world as a physical object. Therefore, you need to watch how your forces, physical mechanics, etc. work. In addition, until guidelines for this topic have been worked out, you need to watch what we say fonts are readable. Due to resolution issues - that the graphics don't ripple. Plus, so that the user is not rocked in your content. Zero gravity mechanics alone for one project (the user moved off the walls) I calibrated for 2 weeks by speeds and their attenuation so that the game would not turn into a puke.

And all this is real to test only in a helmet. In AR, there are still a number of nuances associated with testing markers, tracking, and more, which also makes testing more difficult than with many other types of development. For enthusiasts, of course, this probably will not even be a problem, but the following problem follows from this.

Forget traveling when working on VR




It’s a bit ironic to talk about it now, but nonetheless it was not always like that, and I’m sure that the world will return to normal. Traveling developing VR projects is a 25 liter backpack, which will include: a gaming laptop, Vive, tripods, and you will look rather suspicious at airports. And hotel rooms or booking you need is very specific. Since, ideally, there should be at least 3x3 meters of free space to put the tripods. Or, most likely you will travel through 360 panoramas in VR with beautiful views of the savannah and other things.

In the case of freelance travel is difficult, but some of my friends do it. This, of course, is not like in the pictures from the Internet, since you are working not on the beach with mai-tai and mulattos, but in the room, under air conditioning, praying that the Internet will pull and everything will work out. True, you can spend the evening as you want, or the time when the work is over, since in the same Asia it is not so expensive, and you can work 24/7.

Also VR projects are quite weighty. My average project for 3 years weighs 2-3GB. On the Internet in hotels, and on the Internet outside the Russian Federation - it is difficult to transfer such files.

With mobile virtual reality a little easier. The quest is not so big, and you can take smaller places for the test.

VR development is hard




In my opinion, this should not be scary, but nevertheless it is worth saying about it. A good and interesting VR is a damn very difficult thing. Thanks to an unrealistic degree of freedom, and how a good immersion is obtained, there are tons of mathematics and physics in it. Many standard tricks even from 3D development are not applicable. It is necessary to think deeply about how the user will interact with the world - since the arbitrary movement of hands in 3D is difficult.

Let's say in terms of the same games like tennis. Under the desktop - this is essentially a button pressed. In VR, you need to calculate what acceleration and direction of speed to give the ball at the moment of collision, so that the user believes where the ball flew and could play comfortably (and these are not always simple formulas).

Therefore, compared with conventional development, there are more requirements for optimization, for knowledge of mathematics, physics, shaders, and more. This is something that I rather like, but for some it might be a problem.

If all this does not scare you




In general, VR / AR development has one big plus. It is interesting for its lack of knowledge and there is endless scope for experimentation. Many times something beautiful turned out quite by accident. Since you don’t think “But what, could it be so?”

But over 3 years of working with these technologies, I come to the conclusion that this is more for technology enthusiasts. Thank you for your attention, I hope this information will be useful to someone. Plus, maybe someone has something to add to this.

All Articles