Recently I was tasked with creating a Hololens prototype in Unity. The only experience I had with Unity was a tutorial 3 years ago where every single step was drafted out. I thought that gave me enough of an introduction to navigate around the IDE without too many tears, so onward I went.
Here are my takeaway:
IDE on steroids
In first impression, the IDE had a lot of configurations that seemed really straightforward. For a new object, it was as simple as selecting which object I needed, then dragging it into place. That's it. Configuring the object further introduced me to the inspector panel which provided so many options! It seemed like a GUI approach to programming.. which took me a while to accept.
Scripting is next level awesomeness
Once your objects are all created and in the scene.. it's time to add the logic. Usually this is the part that gets extremely messy. However, because the IDE allowed me to configure so much -- including colliders -- My scripts were basically 15 lines of code. The Hololens really bloated it up with custom functionality that you must implement through code, BUT, it's still new technology, so we'll let that slide for now.
What is happening?!
A few hours in, it was time to connect the objects to the scripts. I was having 1,050 problems that I won't get into here. I actually gave up 3 different times, then finally reached out on Twitter for help. The culprit was another scene (what the app actually loads and user sees) from the original author, which when I loaded the project in Unity, was not loaded. I don't know how or why, but this simple, and very stupid mess-up cost me a lot of time and pain.
Take me home.
After the above episode, I was done with Unity. But I had to finish the project, even though I was already asking my boss to put me on the next iOS project.
Deployment was really a quite amazing experience, and probably what saved my opinion of Unity. There were a few settings to play with, but it was as easy as selecting a platform and saying 'run'. They had the windows platform available, iOS, Android, and more. Experiencing my app within the Hololens really put into perspective Unity's advantage.
They have MASTERED 3D/AR/and VR in one IDE.
Implementing these things natively in iOS and Android would've taken a very long time. But realistically, I was done in about 30 hours of actual work.
Unity wasn't terrible. It was fairly easy to pick up and get started. There's a lot of tutorials out there, and plenty of Unity developers to help you out if you get stuck. There's also plenty of free 3D models in the Asset store too. If you're looking to dip your toe into some 3D/AR/VR/Gaming, you should check it out. Let me know how it goes!