cancel
Showing results for 
Search instead for 
Did you mean: 

[Gear VR] What version of Unreal Engine are you using?

andrewtek
Expert Protege
Hi All,

If you are using Unreal Engine to develop for GearVR, would you mind sharing the version of Unreal Engine you are using?

Thanks!
30 REPLIES 30

andrewtek
Expert Protege
I will reinstall 4.10.4 and Android SDK again and see if I get a different result.

EDIT: When you say you followed their instructions, do you mean these?
https://docs.unrealengine.com/latest/IN ... ms/GearVR/

Those are what I followed. And, I am getting a build that works. It just plays horribly considering the only thing in my test scene is an unlit cube.

motorsep
Rising Star
Yeah. I mean that. I used BP template, not C++ and I cleaned it out (removed HUD, skysphere, disabled all post processing, tweaked some settings.) But generally that guide worked for me.

moulder6
Protege
"motorsep" wrote:

Also, to be fair, I followed Epic's instructions and build/deployed to my S6 almost flawlessly.


Aside from the fact that even when u manage to build, no matter what's in the scene, u can't get above 58-59 fps, as u have noted alone.

The thing is, however that after trying a few of my projects with 4.11, the performance is way worse, aside from the obvious bugs (character ignoring height and stuff). Not even with geo instancing I could see improvement, even though the scenes are rather bare and following all the requirements that are in the docs.

Also, 4.10 doesn't come with the proper Oculus SDK that's needed for shipping the game. That's even still the case with 4.11 where they plan to update the SDK by the time they release the final version. Being quite technical I can manage a lot f things... I could also, in theory, swallow scripting in Unity, however building Unreal is way over my head, and in all honesty i wouldn't want to have to deal with it, even if I could sort it out.

The lack of support for some rather basic stuff like fog is quite weird, too. They advice using depth fade material on mobile which uses pixel depth which has quite big hit on performance with VR.

As everyone here mentioned, it would be really nice if Oculus can provide a template - one that only serves to provide that an empty scene hits the 60 frame mark without problems which I, and others haven't had any success with.

motorsep
Rising Star
"moulder6" wrote:
Aside from the fact that even when u manage to build, no matter what's in the scene, u can't get above 58-59 fps, as u have noted alone.


Yes, but there could be 2 things happening - fps is measured incorrectly (it might be 60 fps stable, but counter shows 58 fps; I don't feel any discomfort at 58 fps, but I've been doing mobile VR for a while now and might have develop some resistance to motion sickness) or/and rendering optimizations are not doing what they suppose to.

"moulder6" wrote:
The thing is, however that after trying a few of my projects with 4.11, the performance is way worse...


4.11 is not a release build. It's unstable and full of bugs, which should be reported to Epic (who don't seem to care much about mobile VR right now) I am not sure why you expect for 4.11pre7 work better than 4.10.4 :?

"moulder6" wrote:
Also, 4.10 doesn't come with the proper Oculus SDK that's needed for shipping the game.


True, but why do you care for it? You have a ready to be released product ? If so, I understand your concern. If not, just keep working on your game and upgrade when 4.11 is out (or better yet, 4.11 hotfix or 4.12). Or use fork of UE4 from Oculus. It's all the same as official UE4, but with latest SDK.

"moulder6" wrote:
That's even still the case with 4.11


4.11pre7 has Oculus SDK 1.00 already.

"moulder6" wrote:
Being quite technical I can manage a lot f things... I could also, in theory, swallow scripting in Unity, however building Unreal is way over my head, and in all honesty i wouldn't want to have to deal with it, even if I could sort it out.


I think it's an overstatement. I've compiled a lot of stuff, including game engines, on Windows and Linux, and cross-compiled apps on Linux for Windows. 99% of the time it's about setting up an environment, that is usually tedious process and that's my reason against messing with building UE4 from source. Just give it a try.

Note that whether it's Unity or UE4, you still have to install JDK, Android NDK, SDK, and all that other garbage required for deployment to Android. Need to make sure your PATH environmental variable on Windows has paths to certain components spelled out. There is no way around that and it has nothing to do with UE4.

"moulder6" wrote:
The lack of support for some rather basic stuff like fog is quite weird, too. They advice using depth fade material on mobile which uses pixel depth which has quite big hit on performance with VR.


I was planning on using this fog https://docs.unrealengine.com/latest/IN ... index.html but haven't had time to try it. Is it performance heavy too?

I am sure it's possible for Epic or Oculus (or a third party so that you don't rely on neither) to make a basic OpenGL-kind of fog that was using in many of modern GLQuake-ports. It's dirt cheap, performance wise, and looks good IMO.

"moulder6" wrote:
As everyone here mentioned, it would be really nice if Oculus can provide a template - one that only serves to provide that an empty scene hits the 60 frame mark without problems which I, and others haven't had any success with.


I don't think it's a good idea. A template scene should have some geometry where tris and draw call count is close to soft limits imposed by Oculus, and with that fps should be 60. It's a no-brainer to have 60 fps in empty scene (they can just do a small optimization to achieve that).

Unity provides VR examples with geometry in the scene. While I don't think it's enough of it to get close to 100k tris and 60 drawcalls in the view, it's not an empty scene.

Epic/Oculus can use my scene to make sure 60 fps is achievable (I can throw in a few animated characters and particles and fog to make sure all necessary ingredients are present - we wouldn't want to have 60 fps with static mesh and choke on simple particles effects or an animated character).

motorsep
Rising Star
Forgot to mention that spatialized audio with HRTF in UE4 is a must have thing. It's like half, if not more, of the VR experience that UE4 is missing.

I know they are rewriting audio system in UE4, but it would be nice for Oculus to remind Epic that Audio SDK needs to be there by the time of the release of UE4 with new audio system. Otherwise we won't see it until probably 2017 and by then new players will enter mobile VR space making Gear VR less relevant 😕

moulder6
Protege
"motorsep" wrote:
fps is measured incorrectly

I don't think that's the case since as i said, I'm within the limits outlined by Epic/Oculus, and get quite some further frame drops every now and then.

"motorsep" wrote:
I am not sure why you expect for 4.11pre7 work better than 4.10.4 :?

Since despite the bugs, it provide significant updates that should help with the performance - instancing geo on mobile being one of those.

"motorsep" wrote:
True, but why do you care for it? You have a ready to be released product ?

Doesn't need to be a full featured product. A demo/concept still needs to meet this requirement. Plus with the attitude that Epic display with regarding to mobile & Gear VR in particular, there's no guarantee that even 4.13 would be usable enough, and by the time it's out the current Gear VR and the S6/7 would probably be irrelevant.

"motorsep" wrote:

4.11pre7 has Oculus SDK 1.00 already.

Which also isn't the most recent version, specifically for mobile.

"motorsep" wrote:

I think it's an overstatement.

I don't see why would u say that. In any case it shouldn't be needed, as is the case with Unity...

"motorsep" wrote:

Note that whether it's Unity or UE4, you still have to install JDK, Android NDK, SDK, and all that other garbage

That's something else completely. I'm not expecting either Oculus or Epic to come set up my machine.


"motorsep" wrote:

I was planning on using this fog

The effect on mobile is all but invisible, as u can see here, since on mobile it's rendered by vertex. U need really dense meshes to make it show up at all.

"motorsep" wrote:

I don't think it's a good idea. A template scene should have some geometry where tris and draw call count is close to soft limits imposed by Oculus, and with that fps should be 60. It's a no-brainer to have 60 fps in empty scene (they can just do a small optimization to achieve that).


I'm not sure if that's the case, since i haven't had much luck with it. Even so, it'd be a starting point that we currently don't have.

motorsep
Rising Star
Wow, fog sucks in UE4 for mobile.

I keep my fingers crossed for Epic and Oculus to get UE4 where it should be for Gear VR (without dropping BP and resorting to C++ only; if that will be the case, I might as well just use Unity instead).

andrewtek
Expert Protege
So which Android SDK are you using? I have run into several possible sources:

- C:\Program Files (x86)\Epic Games\4.10\Engine\Extras\AndroidWorks\Win64\AndroidWorks-1R1-windows.exe
This one seems the most logical since it came with Unreal Engine.

- http://developer.nvidia.com/tegra-andro ... pment-pack
This one seems logical since it is in the documentation from Epic. This location is mentioned in the video at 2:15. What makes it less logical is that the URL redirects me to https://developer.nvidia.com/codeworks-android.

- http://developer.android.com/sdk/index.html
This one seems logical since it is the official android SDK from. When I did a sanity test build with Unity, I got the SDK from here based on eVRydayVR's great setup video.

motorsep
Rising Star
It's all here: https://docs.unrealengine.com/latest/IN ... index.html (read 2 PDF files)

Also, http://docs.unity3d.com/Manual/android-sdksetup.html It's all the same for UE4.

Also, this is actual guide how to setup Android SDK tools: http://developer.android.com/sdk/instal ... ?pkg=tools (I believe that's what I installed, not Android Studio).

I don't think I installed Tegra stuff.

andrewtek
Expert Protege
Okay, here is what I tried today:

PASS ONE
1. Uninstalled everything on my machine related to Android/Unreal Engine. This included binaries, environment variables, etc.
2. Installed Unreal Engine Launcher.
3. Installed Unreal Engine 4.10.4.
4. Followed instructions from the PDF that motorsep referenced. Two PDFs were referenced, but their content related to Android is much the same. Note that the setup steps for these PDFs are outdated.
5. Created a sample scene in Unreal Engine.
6. Attempted to build APK. Received error stating that components needed for Android Build from Unreal Engine were missing.
7. Error window pointed to documentation for the Android Install Instructions for Unreal Engine

PASS TWO
1. Uninstalled everything on my machine related to Android again. As before, this included binaries, environment variables, etc.
2. Followed the instructions provided by Epic for installing the Android SDK.
3. Created a sample scene in Unreal Engine 4.10.4.
4. Built an APK and deployed to Galaxy S7 Edge. Application loaded, and I could look around. However, the scene was totally jumpy as I would turn my head.

PASS THREE
1. Installed Unreal 4.11.Preview7
2. Created a sample scene in Unreal Engine 4.11.Preview7
3. Built an APK and deployed to Galaxy S7. Application loaded and rotation/movement was buttery smooth!!!

So, while I had wanted to avoid an experimental build, it would seem that the 1.0 mobile SDK in 4.11 is needed to get acceptable performance on GearVR/Galaxy S7.

Thanks for the help motorsep. I ended up using the Android SDK provided with UE4, but your feedback gave me more things to try. I just wish I had tried 4.11.Preview7 sooner.