In Unreal 4.14, the built in Google VR plugins are at 1.01 while the ones in the google vr branch are at 1.1.
The updates include very many features, and the only one that can be updated is the controller, the rest when compiled with slight modifications crash the editor on startup.
If running in the GoogleVR Unreal 4.13 branch, all 1.1 plugins work fine.
If recompiled for 4.14, the GoogleVRHMD plugin crashes Unreal 4.14, the other two plugins do not crash. You have to revert back to Unreal’s built in 1.01.
This is already being tested in a clean project.
Download googlevr unreal 4.13 branch, copy the googlevrhmd plugin and paste it into a clean project. Rebuild vs, and fix the includes in the cpp files to their actual path (the headers are red underlined already), then build the project. It will be with no errors. Run the project again and crash.
Never mind, problem solved. After debugging with vs, it kept saying that oculus was crashing, not the plugin. I copied it over to a project that had all plugins disabled and it works now.
It would still be great if Unreal had the newer versions built in
EDIT: I take that back. The plugin compiled fine but when building the game, it says:
LogPlayLevel: UnrealBuildTool: [1/4] clang++.exe Module.GoogleVRHMD.cpp [arm64-es2]
LogPlayLevel: UnrealBuildTool: [2/4] clang++.exe GoogleVRHMD.generated.cpp [arm64-es2]
LogPlayLevel: UnrealBuildTool: In file included from C:/Users/karse/Documents/Unreal Projects/Metal/Plugins/GoogleVRHMD/Intermediate/Build/Android/UE4/Development/GoogleVRHMD/Module.GoogleVRHMD.cpp:2:
LogPlayLevel: UnrealBuildTool: In file included from C:\Users\karse\Documents\Unreal Projects\Metal\Plugins\GoogleVRHMD\Source\GoogleVRHMD\Private\GoogleVRHMD.cpp:17:
LogPlayLevel: UnrealBuildTool: In file included from C:/Users/karse/Documents/Unreal Projects/Metal/Plugins/GoogleVRHMD/Source/GoogleVRHMD/Private/GoogleVRHMD.h:36:
LogPlayLevel: UnrealBuildTool: In file included from C:/Program Files (x86)/Epic Games/4.14/Engine/Source\Runtime/OpenGLDrv/Private/OpenGLDrvPrivate.h:9:
LogPlayLevel: UnrealBuildTool: Runtime/OpenGLDrv/Public\OpenGLDrv.h(28,10) : fatal error: 'Android/AndroidOpenGL.h' file not found
LogPlayLevel: UnrealBuildTool: #include "Android/AndroidOpenGL.h"
LogPlayLevel: UnrealBuildTool: ^
LogPlayLevel: UnrealBuildTool: 1 error generated.
That’s the problem, there are 3 headers that are usually erroring, if I give it the full path, it compiles. OpenGLDrv is built into Unreal and already in the Build.cs, but none of it’s headers are in the External Dependencies even after rebuilding vs project stuffs. I’m assuming that when I put the full path into the include, it does something to the other plugins referenced this way and can’t include other files without also being a full path?
I’m sure though if I just compile this plugin alongside the engine code (what I’m doing right now) then it will work fine. We’ll see.
I ended up going back to plopping the plugin back into the project and discovered that inside the Build.cs, were local file paths. I changed the PrivateIncludePaths to a direct path on my computer and it worked completely fine. But once again, another build error
[5/8] clang++.exe UELinkerFixups.cpp [arm64-es2]
In file included from C:/Users/karse/Documents/Unreal Projects/Metal/Plugins/GoogleVRHMD/Intermediate/Build/Android/UE4/Development/GoogleVRHMD/Module.GoogleVRHMD.cpp:2:
In file included from C:\Users\karse\Documents\Unreal Projects\Metal\Plugins\GoogleVRHMD\Source\GoogleVRHMD\Private\GoogleVRHMD.cpp:17:
In file included from C:/Users/karse/Documents/Unreal Projects/Metal/Plugins/GoogleVRHMD/Source/GoogleVRHMD/Private/GoogleVRHMD.h:36:
In file included from C:/Program Files (x86)/Epic Games/4.14/Engine/Source/Runtime/OpenGLDrv/Private\OpenGLDrvPrivate.h:9:
In file included from Runtime/OpenGLDrv/Public\OpenGLDrv.h:28:
C:/Program Files (x86)/Epic Games/4.14/Engine/Source/Runtime/OpenGLDrv/Private\Android/AndroidOpenGL.h(117,8) : error: unknown type name 'PFNGLDRAWELEMENTSINSTANCEDPROC'; did you mean 'PFNGLDRAWELEMENTSINSTANCEDNVPROC'?
extern PFNGLDRAWELEMENTSINSTANCEDPROC glDrawElementsInstanced;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PFNGLDRAWELEMENTSINSTANCEDNVPROC
C:/NVPACK/android-ndk-r12b/platforms/android-24/arch-arm64/usr/include\GLES2/gl2ext.h(2203,28) : note: 'PFNGLDRAWELEMENTSINSTANCEDNVPROC' declared here
typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
^
This happens even compiling the stock plugins that come with 4.14.
Regardless of me not being able to compile, Unreal should still come with an updated version.
Hi Rudy - Is there any update on including the latest googleVR version in UE4? As it stands with this old version it is un-releasable as per the publishing requirements of google: Daydream App Quality Requirements | Google VR | Google Developers
Many of the required features there are not available in the current version of the UE4 plugin.
My project is stuck to 4.14 which means I cannot just use the 4.13 googlevr branch
There is a 4.14 fork with 1.1 here https://github.com/nesrak1/UnrealEngine/
But yes, I agree it should have been updated a long tine ago.
It’s annoying to compile just for updared plugins…
I have written up a feature request to include the updated SDKs for google VR and I have submitted it to the developers for further consideration. I have also provided a link to the public tracker. Please feel free to use the link provided for future updates.