cancel
Showing results for 
Search instead for 
Did you mean: 

Informal Poll, Which Build Environment is best?

shadybob1956
Protege

I'm just getting started with developing for the Meta Quest, and I am wondering what "build" environment most of you use? I guess there are basically 3: 1. Native coding (Visual Studio?), 2. Unity Engine, and 3. Unreal Engine?

I have installed all 3 so far. Found an outdated tutorial on creating a basic app with Unity, after what seemed like several hours sifting through scattered information (could have been organized much better), most of the info for unity did not match the version I installed, I ended up with a very rudimentary "virtual" world on my device, but the controllers were non-functional. All that took about 15minutes to "compile".

As for unreal engine, I have only been playing around with it's user interface, but haven't gotten into the actual "coding" yet. Off hand, it seems like it might work better?

Lastly, there's the native made? Just code for the most part?

Are there any other options? Which one do you prefer? Can you list any pros and cons for each?

Thank you in advance for taking the time to read this and hopefully respond.

3 REPLIES 3

tom.leylan
Expert Protege

Gosh I notice the date posted as "Friday" when did the world stop using actual dates?

Meanwhile... I think your choices are affected by your experience as a developer and perhaps what the application is intended to do. I use Unity. There is a lot (and I mean a lot) of support, documentation, training, 3rd-party tools and libraries. Generally speaking using established tools is a time-saver as most people don't have the time to write both the tools and their application. If there is a bug in a commonly used library it will typically be noticed by one of the thousands of users and fixed by the team that produces it.

What you will encounter is version shock. Things move very fast and it isn't just Unity but the XR Toolkits and everything else surrounding VR development. It is essentially what the personal computer world was like in the early 1980's. Pick a likely winner and keep up-to-date.

I see what you mean about the version shock! I installed the latest LTS version of Unity, found a tutorial on creating my first meta quest app (very basic) with Unity, and found it to be woefully outdated from the version of Unity I have! I did manage to muddle through it and got the basic app on to my device, but it seemed to be missing any controller functionality other than pressing the meta button to exit. I had also installed unrealengine 5.1, only to find out that I really needed 5.0.3 to create for the meta quest. Then, following a tutorial for unreal engine, that seemed to be based on v4.something(27?). There was some discrepancy in the tutorial on all the extra android setup that unreal engine seemed to need, so I had to take a look at the docs for 5.0 online, and that still did not have a list of compatible android studio versions that included anything in the 5.0 range! At this point, I pretty much have an unreal project ready to try to build and send to my device, but I haven't gotten around to that just yet. Wish me luck!

I suppose that once I have a basic app working, I should use that as a template somehow for future projects. Is anyone aware of any pre-existing templates that have everything needed already setup for the meta quest?

One of the reasons you won't really find a template for a VR app is nobody knows what functionality you will need. Single player, multiplayer? Using which multiplayer library? The controller functionality you are mentioning has been solved in several ways by several vendor over the years. Again nobody knows which solution you prefer. Easy but limited flexibility, harder buy far more flexible? The one that has been out for years but is declining in usage or the newer one that is increasingly being adopted?

Again this is no different than the early days of web development with all manner of competing solution libraries.  Not only were there major differences in the various products but for example AngularJS V2 was incompatible with V1. Stuff like that happens when a better overall solution is found.