4 ms·
I am coming back to Unity for a side-gig VR thing after not touching it for a couple years. Unfortunately the timing is not great since they are still sorting o
by dakom 7y ago
I am coming back to Unity for a side-gig VR thing after not touching it for a couple years. Unfortunately the timing is not great since they are still sorting out all the new offerings (XR Plugin vs. Player settings, Input systems, ECS from prefabs, etc.)
Is anyone doing VR with Godot? I have a couple questions:
1. What's the development cycle look like? In Unity I can hit play and put on the headset (Oculus Quest w/ Link, so essentially a Rift). No need to export a full build or go through multiple steps. Honestly this is the single most important factor for me since it allows quickly figuring out other problems. Does Godot support it?
2. Unity has made a big deal about DOTS and from initial tests it's legit. For VR on low-powered headsets (ultimate target is Oculus Go) these performance savings matter. How does Godot compare?
3. I don't know C++ and worried that I wouldn't be able to squeak by from bad usage of it. GDScript looks interesting but in this use case performance matters. I am doing a significant amount of Rust these days esp for hobby projects and would LOVE to be able to code in that. Are the Rust bindings to Godot good? Does it interfere with quick iteration? (looking at the repo it's hard to see what's going on and what the impact is on a real project)
- blensor 7y agoI have started VR development very recently for a small side project and I am very happy with Godot (I mentioned the link in one of the other replies, it's calle VRWorkout). Currently you should use the 3.2 Beta and have to install the godot_oculus_mobile plugin yourself, but once that is setup, you have an Android symbol in your Godot Editor and can hit play to get it running on the Oculus Quest headset. It's reinstalled for each time you hit play, so that takes a few seconds. I don't know how unity handles this. Performance wise you are on your own I guess, so you should know what to do and what not to do to achieve good performance. Don't know about language bindings, I am using GDscript as it is close enough to python to get by. From my point the whole experience was a breeze, given that's it's free and a really small download I would definitely at least check it out before trying something heavier.
- dakom 7y agoCool, thanks for the feedback! I didn't see the source code on your repo - just release builds... did I miss something or is it closed-source? Unity also takes a few seconds, it's not instantaneous, but much better than the proper build/deploy route which can be minutes
- blensor 7y agoI only released the first test version a week ago and it's relying on the beta of godot as well as a patched export template to support hand tracking, that's why I haven't released it yet. There is currently development going on to integrate the necessary changes into the godot_oculus_mobile plugin and into Godot itself to support that. Once it can be run without patching several different components I will add the source. Or if too many people ask and giving that explanation becomes more work than actually supporting them to get it running before everything works out of the box :)
- iKlsR 7y agoSee https://www.youtube.com/watch?v=07euJhZbeSc&list=PLe63S5Eft1KYGqgkx9I70vfWmvvOZ7apF https://www.youtube.com/watch?v=07euJhZbeSc&list=PLe63S5Eft1...
- babatiro 7y agoI have done some VR with Godot and I'm very pleased with it. I also did a VR game in Unity for a course at university 2 years ago so I have some experience in both engines for VR. In terms of performance & lag of the implementation of VR I didn't notice any differences between the two engines. From my experience with Godot : 1. The dev cycle is I press play and then everything just works instantly. The game automatically connects to the headset and I can see the game both on the screen and in the headset. No build, no exports, nothing. It just works. From what I understood this is mainly thanks to Bastiaan Olij' work, so big thanks to him ! Also VR support in Godot has a "native" feel, you have AR/VR nodes ("ARVRCamera", "ARVRController", etc.) in the engine. I spent less time setting up VR in Godot than in Unity. 2. I never used wireless headset so I can't compare battery usage. For wired headset at least, in terms of performance Godot is far sufficient for making games like any of the popular VR games out there. As a big rewrite of the rendering engine is going to happen for 4.0, I think we should wait for this before making comparisons of rendering perfs. 3. Godot has support for GDScript , C#, and "others" (via NativeScript). In others we have C++, Rust, Python, JS, etc. I never used any of those other languages with Godot so I can't tell. It seems the setup of NativeScript is quite complicated and much less convenient to use than C# & GDScript, but I'd also like to hear from someone who used that. However it's a UI problem and I don't see why in the future NativeScript couldn't be just be as convenient (maybe we indicate once the path to GCC and Godot automatically download the NativeScript headers, set up everything and compile automatically on play) Also for performance intensive tasks there should be compute shaders in 4.0 and it was also mentioned that compiling GDScript AOT (maybe by transpiling it to C or targeting LLVM) should be doable (GDScript' static typing is a first step in that direction). From my personal experience, Godot is such a breath of fresh air compared to Unity where everything seems messy and overengineered. There is no prefab or other wierd things. Just nodes in trees and scenes. It makes everything so much cleaner and more enjoyable to develop with. Unity seems to pile up the latest shiny features on top of each other but without thinking about overall coherence. However the popularity and $$$ of Unity gives it many advantages in terms of support , tutorials, asset store, more features, etc. So I would recommend Godot : - if you like clean architecture - if your VR game is not more graphically ambitious than popular VR games or if you're okay to wait for 4.0 (then it should be on par with other engines) - if you don't need YouTube tutorial for everything and you're okay with reading the doc API. - if you are used to code your own logic & assets and not to rely heavily on the Unity asset store (you can consider Godot asset store is basically nonexistent in comparison)