GVR's native UI layer is missing on iOS - unity3d

I'm currently developing an AR+VR app using GoogleVR and Vuforia on Unity iOS. Everything works fine, but at some point (I don't remember since when!) Google's native UI layer(vertical alignment line, back button, setting button,...) is missing and I can't change the viewer profile.
Versions are: Gvr 1.10 + Vuforia 6.2
So I tried to manually call the ShowSettingsDialog() in GvrViewer.cs, but it won't work either.
A new project with fresh sdk has no problem, so it would be specific to my project. I doubt the NativeUILayer would be affected by Unity's camera settings, layers, Canvas settings or so.
I can't figure out what might cause this kind of problem. So I need any suggestions to narrow the cause.

Problem solved.
I also use a custom SDK OpenCVForUnity, and the plugin OpenCVForUnityAppController.mm causes the problem.
It also attach RenderDelegate, sets GraphicsDevice etc.
It looks like that it overrides GoogleVR's iOSDevice so GVR couldn't figure out what device this is.

Related

Oculus integration Custom hand movements in my VR Unity project not working on my system

I am working in unity on creating a application for the the Quest VR system. (Quest2) and added the Oculus Integration Package to my project. (While following an online course)
When I try and use any of the custom hands provided in the package, or run any of the example scenes that use them, the finger movements follow my controller grip presses (hand trigger) perfectly making a semi fist with the bottom 3 fingers, but the index trigger presses do not seem to cause any animation. Neither does a thumb press.
I have added a crude Log to show the triggers are being picked up by the system, but the animation is not showing.
What makes this very vexing as I shared my project with the course provider I was following and it worked perfectly for him.
So the problem is on my system somewhere..
Implementing the same from scratch using the XRInteraction toolkit system works perfectly btw. But the Oculus provided system does not.
If anyone has any ideas on where to even begin looking for the problem I would appreciate it greatly.
Happy to share system details but not even sure which details would be relevant :)

SceneManager.LoadScene/LoadSceneAsync loads empty scene (WebGL) Unity 5.6

After update 5.6.1f my WebGL build can't load scene correctly.
Develop build and DebugSumbols activated - same result. No errors, no warnings.
Always was load empty scene, but with NotDestroyOnLoad objects after prevois scene.
Same problem, but no answer.
https://forum.unity3d.com/threads/black-screen-when-changing-scene-in-webgl-using-unity-5-6.473367/
When creating the build for Android we used the option "Split Application Binary" at the Player settings. Of course this setting is stored in the project. It just happens to be the setting that makes scene switching in WebGL impossible! After some hard work in stripping down our project it occurs that this is the only setting that causes the bug. I really don't know why an Android setting ends up having a major impact on a WebGL build. Something Unity should investigate!
(using Unity 5.6.1f1)
https://forum.unity3d.com/threads/black-screen-when-changing-scene-in-webgl-using-unity-5-6.473367/

Display 1 no cameras rendering

One of my team members just cloned my unity project which was working fine on my pc(unity 5.5) where as it is displaying "Display 1 no cameras rendering" error in the scene on my teammate's pc(unity 5.4).
We are using a git repository and this is the first time we have encountered this problem.
Another thing we just noticed is that there are place holders for all the objects that were part of hierarchy(on my system). For some reason there names are not getting displayed, but when when you select the area, something seems to be selected.
Can someone please help us solve the issue.
One of my team members just cloned my unity project which was working
fine on my pc(unity 5.5) where as it is displaying "Display 1 no
cameras rendering" error in the scene on my teammate's pc(unity
5.4)
Take a moment and look at the words in bold. You can't do that.
You shouldn't try to open a Unity project made with higher Unity version with lower Unity version. This applies to most software too. What's happening is that Unity added new feature and changed some of Unity's binary saved data in Unity 5.5 that Unity 5.4 doesn't have.
When you load a project from Unity 5.5 in Unity 5.4, it won't be able to understand those new features leading to weird behavior such as the one he's having.
Your teammate will have to update to Unity 5.5 in order to load the Project made with Unity 5.5.
I just had this same issue with "Display 1 no cameras rendering".
After a quick look around the interface, I clicked on my main camera and in the Camera area of the Inspector panel, I saw that my Target Display was set to "Display 4". Not sure how it got there, but changing that back to "Display 1" fixed the problem for me.
If you code and setting don't have other error,I guess you right-click on the gamewindow
Just the Game,cancel the warn if----
OK,just it.
Sorry,My English is not good enough.
I has the same issue , undoing all the steps until the last correct function , i found i erase the main camera without take care.

why does the screen on my phone turns white when it detects the target?

I'm new to augmented reality, and I'm using vuforia 4.2.3 and unity 5, I followed all the steps trying to make a test run and whenever the camera detects the target the whole screen turn white, I've tried many thing but none of them worked, can someone help me?
I had a problem that sounds similar.
There is a known bug that causes white screen, could be related to that? See here for more info.
What worked for me was to change the VideoBackground.shader code, as described on that thread.
Go to Project>>Qualcomm Augmented reality>>Shaders
Double-click VideoBackground. This opens up Mono.
In the code, change where it says:
"queue"="geometry-11"
to this:
"queue"="Geometry"
Save, rebuild etc.
Worked for me.

Unity-iOS: Native iOS code development in Unity project?

I am new to Unity. I have done a character walk animation in 3ds max and imported in Unity. I created Xcode project for iOS through Unity, and animation works as expected.
I want to develop some UI button controls on screen and animate this animation in my iOS app, only when this button is clicked. How do i code it now for this UI controls and events? Do i need do adding these controls and events on the Xcode project (which created by Unity) (or) I can do everything like this kind of native code in Unity itself?
Please advise!
Thank you!
Getsy.
You can do all UI in the Unity itself. You have these options:
Old Unity GUI system. It is pretty easy to program, but it is awful in terms of performance and usability for designers — it's created completely from code, with no editors. It's almost never used in commercial products except for debugging and developer tools. However, it's still a good option for prototypes.
Use other GUI package. There are a lot of 2d and UI packages for Unity of all kinds. Currently the most popular one is NGUI, which is pad, but also has an evalution version.
Create your own UI framework (still in Unity). Just wanted to mention that this is a viable option, but it's obviously the worst one for your case.
Wait for the new 2D/GUI Unity framework. It's supposed to come out in 4.3 version, and it is just around the corner; more than that, the original NGUI author is working on it.
In you place, I'd create basic prototype controls with built-in Unity3d GUI, and by the time I'd need to create something more presentable, new Unity GUI would hopefully already be there.