Learn from our mistakes and speed up your VR development
VR development can be time-consuming, especially considering that there are not very many tips or tricks available yet. In other words, VR development is at a stage where we mostly learn from our own mistakes rather than from someone else’s. Luckily, we can still save lots of time and propel the industry forward by sharing our experiences and tricks with fellow developers. Let’s start with this article!
Creating VR projects is a multi-layer process that consists of the development, design, and management. We have broken down each part of this process, so we can figure out how to improve every part of it, even if the time available is scarce.
We tried to avoid obvious tips you probably already know, such as always keeping the headset on your head or charging controllers ahead of time, and instead tried to present the most relevant tips we have gathered from VR developers, project managers, and CTOs.
The Development Process
1. SDKs: Think Twice Before You Jump In
Careful research can save a lot of time in the production stage. We are spoiled for choice: Unity XR, Steam VR, Oculus SDK, VRTK, Varwin, etc.
While AR apps work on any modern mobile device and offer a huge array of kits and tools, VR development is sometimes tied to a specific platform. For example, the PSVR kit can only be used to make apps for PlayStationVR. If you are building for HTC Vive, there are three major options: the OpenVR or SteamVR kit, or cross-platform frameworks like VRTK. Some platforms may have several kits.
In a nutshell, switching the library (SDK) in the middle of the development process will feel like changing shoes on the go and your walk will take longer than needed. It is better to do your research and select the correct SDK for your needs before you begin.
2. Get the Most out of the Asset Store and Prioritize Low-Polygon Models
Ensuring you are not reinventing the wheel can save lots of time. Decide whether you really need to create a new asset or if there is already just the right one available in the asset store. Once you have found one, check that it is VR-ready and well-enough optimized to be used in the project. The fewer polygons an asset has, the quicker and better it will work in VR mode.
3. Recognize Interfaces in Real-Life Objects and Forget About Desktop Mechanics.
Most developers come to VR with a mindset based around working with traditional desktop mechanics. Even if the projects they have worked on were in 3D, this bias can spoil the way they design and build in VR. It took me quite some time to get used to real-life interaction mechanics.
In my first VR projects, I forced myself to remember that VR interaсtion is like real-life interaction but with specific controller restrictions, which can vary for different VR headsets. When a user needs to push a virtual joystick or spin a wheel there is no need to use intermediate tools like lasers or buttons. Make the user interact with objects with their hands, just like they would in real life.
4. Check Scale and Functionality in VR Instantly
It’s only logical to check the objects you downloaded via Unity desktop editor for the sake of speed. But oftentimes, it’s just not the same in VR, and you end up having to go back to do it all over again. Checking straight away if the asset looks and works correctly in VR mode can and will save time. Both Unity and third-party tools have this option, allowing you to find bugs much more quickly.
5. Delegate tasks through CMS tools and the Blockly interface
Not everyone involved with VR development knows how to code, but, ironically, everyone knows how to suggest improvements. Sometimes it helps to delegate small tasks to designers, animators, and managers to allow them to experiment by themselves, quickly, and easily.
There are many CMS tools that allow for making small experiments inside projects (like changing the color, size, location, and type of objects) and tools like Varwin that use Blockly to allow the creation of scenario logic (not just the button itself but also what happens when the button is pushed). Developers set free from endless tiny suggestions from the non-dev team to become far more productive and efficient.
6. Use General Buttons That Are Universal for All Controllers
If you can create cross-functional projects for different platforms, you prevent confusion for your entire team. Let’s say there is a professional training program for machinery operation. If the client has different headset equipment, or if you plan to scale this project to be used with other headsets, it makes sense to decide in advance which buttons will be used in the project and make sure they are the same for all types of controllers, such as HTC, Oculus, Microsoft, etc.
7. Try Tools for Quick Recompilation
Usually, when a project is built and some edits come up, you have to recompile the whole thing with all the scenes and assets and logic inside. It may take from five minutes to an hour, even if the edit is tiny. Varwin SDK comes to the rescue and allows changing different levels of the project on the fly without the need to recompile all the levels together.
8. Think Through All the Interaction Mechanics Between Objects Beforehand
This may seem obvious, but ask yourself how many times you have had to hit the brakes over an unplanned hiccup in scenario flow. This is a question of detailed scripts and technical requirements that have to be submitted for the client’s approval again and again.
Be aware of objects with complex logic like intricate machinery and control panels that confuse users. When you have a better understanding of how many interactions are possible in the scenario, you are less likely to waste time adding new objects and logic afterward.
9. Make Sure the Team Is Experienced in VR Games and Business Projects
Most VR projects and scenarios have already been attempted in one form or another. VR experience is a treasure trove for the development team to draw inspiration from. Mechanics, design, interfaces, limitations, possibilities — you can find it all in VR games and competitors’ projects.
The more your team plays in and sees VR, the more effective they will be in development. In our company, VR headsets travel to someone’s home every weekend, not to mention that a headset is one of the most popular gifts for holidays.
10. Quest Is Great, but Hold On to Your Rift
When it comes to using the Oculus library for development, Oculus Rift is irreplaceable, even if you are lucky to have Quest in your arsenal. It’s easier to find bugs and correct them in desktop — which is where you’ll need your good old Rift again. Otherwise, having to connect remotely using a rider or look for bugs in VR is not very convenient.
11. Organize Space Wisely
Surprisingly, not every team gets this immediately. It took us some time to realize that the best solution for testing VR projects is not at our desks but in a separate corner designed specifically for that task. It provides room for movement if your project requires walking around and allows other equipment to be kept safe and sound, away from the swinging arms of a VR headset-clad test subject. You also avoid wasting time redeveloping something that hasn’t been properly tested in suitable conditions.
12. Allow Clients to Make Small Changes
Speaking of the deadly sins of VR management, underestimating edits from clients is at the top of the list. We have already mentioned improvement suggestions from team members, but these are a piece of cake compared to the edit requests you get from clients. Few studios have restrictions on the number of edits that can be requested for any particular project, and clients can get very generous with even the tiniest of suggestions.
At some point, developers realize that moving a chair from one corner to another, changing wall colors for the umpteenth time, or changing object logic when a lamp turns green are not the reasons they have been improving their coding skills for years. Once clients can experiment with projects and make changes themselves, using Varwin, for example, developers and managers gain lots of time for new projects.
We hope you’ve learned some useful tips to streamline your development process and that they will help you get more projects done. Let us know in the comments which tips seem most interesting to you and if you have any to share yourself.
This article was originally published on DZone: https://dzone.com/articles/12-vr-development-hacks-to-save-you-time