question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Vuforia only render in OpenGLES2, not Metal

See original GitHub issue

Hello, I’m having an issue after integrating react-native with Vuforia. Everything runs well, but Vuforia always runs on OpenGLES2 instead of Metal. I really need to run it on Metal because in the app we also need to run the ARKit. I tried to force Graphics API on Unity by change it only to Metal but the result was the same!

image

Here’s the log when I am not using react-native-unity-view:

....
Initializing Vuforia...
2019-08-06 13:44:58.044546+0700 unityreact4[975:63447] User pre-granted access to the camera
2019-08-06 13:44:58.044615+0700 unityreact4[975:63447] INFO/AR(975) 2019-08-06 13:44:58: Vuforia selected rendering API Metal
2019-08-06 13:44:58.044632+0700 unityreact4[975:63447] INFO/AR(975) 2019-08-06 13:44:58: Vuforia SDK version 8.3.8
2019-08-06 13:44:58.044646+0700 unityreact4[975:63447] INFO/AR(975) 2019-08-06 13:44:58: Vuforia SDK build 3621
2019-08-06 13:44:58.097371+0700 unityreact4[975:63447] INFO/AR(975) 2019-08-06 13:44:58: Matched precache profile for Apple, iPad7,5, iOS 12, 800.1
2019-08-06 13:44:59.658717+0700 unityreact4[975:63447] INFO/AR(975) 2019-08-06 13:44:59: Vuforia Fusion: Detected and enabled use of ARKit
2019-08-06 13:44:59.660540+0700 unityreact4[975:63447] Rendering mode set to: Metal
2019-08-06 13:44:59.672348+0700 unityreact4[975:63447] Rendering mode set to: Metal
2019-08-06 13:44:59.675556+0700 unityreact4[975:63447] DEBUG/AR(975) UIView has CAMetalLayer layer class
2019-08-06 13:44:59.675786+0700 unityreact4[975:63447] DEBUG/AR(975) UIView does not respond to selector renderFrameVuforia
....

And here’s how it’s reported after I used react-native-unity-view:

....
Initializing Vuforia...
2019-08-06 14:42:47.621329+0700 unityreact4[1053:77026] User pre-granted access to the camera
2019-08-06 14:42:47.621433+0700 unityreact4[1053:77026] INFO/AR(1053) 2019-08-06 14:42:47: Vuforia selected rendering API OpenGL ES 2.x
2019-08-06 14:42:47.621476+0700 unityreact4[1053:77026] INFO/AR(1053) 2019-08-06 14:42:47: Vuforia SDK version 8.3.8
2019-08-06 14:42:47.621504+0700 unityreact4[1053:77026] INFO/AR(1053) 2019-08-06 14:42:47: Vuforia SDK build 3621
2019-08-06 14:42:47.690246+0700 unityreact4[1053:77026] INFO/AR(1053) 2019-08-06 14:42:47: Matched precache profile for Apple, iPad7,5, iOS 12, 800.1
2019-08-06 14:42:48.997315+0700 unityreact4[1053:77026] INFO/AR(1053) 2019-08-06 14:42:48: Vuforia Fusion: Detected and enabled use of ARKit
2019-08-06 14:42:48.999518+0700 unityreact4[1053:77026] Rendering mode set to: OpenGL ES 2.0
2019-08-06 14:42:49.036414+0700 unityreact4[1053:77026] Rendering mode set to: OpenGL ES 2.0
2019-08-06 14:42:49.037062+0700 unityreact4[1053:77026] DEBUG/AR(1053) UIView has CAMetalLayer layer class
2019-08-06 14:42:49.037287+0700 unityreact4[1053:77026] DEBUG/AR(1053) UIView does not respond to selector renderFrameVuforia
....

as you can see, it stated as Vuforia selected rendering API OpenGL ES 2.x. It’s really strange. Maybe Vuforia detected the react app as OpenGL ES 2? Do I have to set something on XCode to force everything to render on Metal?

Thanks

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:13

github_iconTop GitHub Comments

2reactions
zbagleycommented, Aug 7, 2019

@igrir Can’t believe I forgot the flag (again). That was the issue, thank you.

2reactions
igrircommented, Aug 6, 2019

@zbagley that’s correct, but the thing @f111fei being aware of is the problem mentioned in this issue https://github.com/f111fei/react-native-unity-view/issues/29

I successfully included ARKit camera and run it using this library, but unfortunately I can’t combine it with Vuforia as it only render black screen. The funny thing is the detection runs well! The 3D object being shown on the position where the marker was, but only the camera won’t render

Read more comments on GitHub >

github_iconTop Results From Across the Web

Vuforia always set to OpenGL ES 2.0
I really confused as I only provide Metal as graphics API from Unity but the library detect OpenGLES2 for the rendering.
Read more >
Vuforia using OpenGL 2.x instead of Metal on iOS [Unity]
I'm running into an issue where Vuforia reports using the OpenGL ES 2.x rendering API even when Metal is the only Graphics API...
Read more >
[SOLVED] iOS Metal crash when migrating Vuforia 5.3 to 7.5.6
Hello! Currently I am migrating a Unity 5.6 project with Vuforia 5.3 to Unity 2018.3.1 with Vuforia 7.5.6 and somehow the app is...
Read more >
Vuforia (Unity created Xcode project) shows blank screen after ...
ARKit is an up-to-date framework and it was designed to use Metal / SceneKit rendering extensively, not an OpenGL ES .
Read more >
Recommended, default, and supported texture formats, by ...
VBR only applies to Crunch compression, and only texture size on disk. ... OpenGL ES 2 devices do not support the ETC2 format,...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found