Quest project builds and runs, but stays stuck on 3 dot loading screen
I followed the official instructions for setting up Unity for Quest development. I tried to build using the included example scenes. The build works fine, but when it runs on the quest, it stays stuck on the animated 3 dot loading screen. The ADB logs show no errors, and even show various Unity logs while stuck, such as the focus gained and lost events. So I'm pretty confident that the build is running, just stuck behind the loading screen. I've tried from scratch several times, factory reset my Quest, messed with all sorts of build settings, but can't make any progress. I've attached the compiled APK in case that helps, and the full ADB logs. Any suggestions? Running on Unity 2019.2.218.8KViews2likes8CommentsUnity game frequenly launches to black screen
Hi, I am experiencing an intermittent problem with an Oculus Quest game that I am developing. When I encounter this problem, I am unable to do any development in the editor. I am using Oculus Link to quickly iterate. Essentially, when I launch the game, sometimes my game will only load into a black screen instead of showing my level. Previously, this problem would happen about 30% of the time, and I would somehow be able to work around the problem by rebooting my Quest, restarting Unity, unplugging and replugging in my Quest, rebooting my computer, etc. Usually, I can eventually get around this issue, but lately, it is happening more and more and I am having a much harder time getting past this issue. Sometimes I will try for 30 minutes and not be able to get past this. I'm currently using Unity 2021.1.5f1, though I have been encountering this issue with the last several versions of Unity, going back probably about a year. Initially, I was using a Quest 1. I just purchased a Quest 2 which came with a different link cable. However, the problem happens with my Quest 1 and Quest 2, using the original cable or the new cable. Also, I have the same problem when using Air Link with my new Quest 2. On my PC, I'm currently running the Oculus App version 28.0.0.222.469 though I'm sure it has happened on previous versions as well, as this app is set to auto-update. When I use the Oculus Link cable, I hear the USB connect and disconnect sound happen several times when I try to run in the editor. These are the same sounds I hear when I plugin or unplug the link cable. When I run with Air Link, I don't hear these USB connection and disconnection sounds. Any ideas on how I can fix this issue? I have included the log files for a successful and unsuccessful run. I have also included a video for a successful and unsuccessful run. (My level is all blue and contains nothing. I have to click on the Oculus button to bring up a dialog box that allows me to select options before I generate the world.) I have also encountered this issue when loading other scenes, not just my game. I'm including an example of this happening with the DistanceGrab example scene. When this issue happens, I see in the Quest that it is launching a Unity App. However, it will launch to an all-black screen. This issue is severely affecting my ability to develop. Any help is greatly appreciated. Thanks in advance John Lawrie The first link is a link to the DistanceGrab failing https://drive.google.com/file/d/148D4RyTrxWvkaiuApHGGraDoGlR8p6oE/view?usp=sharing This second link is a link to when my level fails to display https://drive.google.com/file/d/1CNYx9clV_Sr3nzVgnhipSB3s6o7NeykE/view?usp=sharing This third link is a link to when my level does manage to load https://drive.google.com/file/d/1XMIBgtFSXxc12TWp0W-CcxIujOsDMUyW/view?usp=sharing This is the log from when my level failed to load. Failed to set DeveloperMode on Start. UnityEngine.Debug:LogError (object) Unity.XR.Oculus.Development:OverrideDeveloperModeStart () (at Library/PackageCache/com.unity.xr.oculus@1.9.0/Runtime/OculusDevelopment.cs:39) Unity.XR.Oculus.OculusLoader:Start () (at Library/PackageCache/com.unity.xr.oculus@1.9.0/Runtime/OculusLoader.cs:182) UnityEngine.XR.Management.XRGeneralSettings:AttemptStartXRSDKOnBeforeSplashScreen () (at Library/PackageCache/com.unity.xr.management@4.0.1/Runtime/XRGeneralSettings.cs:158) Unity v2021.1.5f1, Oculus Utilities v1.51.0, OVRPlugin v1.51.1, SDK v1.60.0. UnityEngine.Debug:Log (object) OVRManager:InitOVRManager () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1161) OVRManager:Awake () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1313) SystemHeadset Oculus_Link_Quest UnityEngine.Debug:Log (object) OVRManager:InitOVRManager () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1166) OVRManager:Awake () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1313) TcpListener started. Local endpoint: 0.0.0.0:32419 UnityEngine.Debug:LogFormat (string,object[]) OVRNetwork/OVRNetworkTcpServer:StartListening (int) (at Assets/Oculus/VR/Scripts/Util/OVRNetwork.cs:99) OVRSystemPerfMetrics/OVRSystemPerfMetricsTcpServer:OnEnable () (at Assets/Oculus/VR/Scripts/Util/OVRSystemPerfMetrics.cs:190) UnityEngine.GameObject:AddComponent<OVRSystemPerfMetrics/OVRSystemPerfMetricsTcpServer> () OVRManager:InitOVRManager () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1279) OVRManager:Awake () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1313) [OVRNetworkTcpServer] Start Listening on port 32419 UnityEngine.Debug:LogFormat (string,object[]) OVRNetwork/OVRNetworkTcpServer:StartListening (int) (at Assets/Oculus/VR/Scripts/Util/OVRNetwork.cs:111) OVRSystemPerfMetrics/OVRSystemPerfMetricsTcpServer:OnEnable () (at Assets/Oculus/VR/Scripts/Util/OVRSystemPerfMetrics.cs:190) UnityEngine.GameObject:AddComponent<OVRSystemPerfMetrics/OVRSystemPerfMetricsTcpServer> () OVRManager:InitOVRManager () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1279) OVRManager:Awake () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1313) [OVRManager] OnApplicationPause(false) [OVRManager] OnApplicationFocus(true) OVRControllerHelp: Active controller type: QuestAndRiftS for product Quest OVRControllerHelp: Active controller type: QuestAndRiftS for product Quest The current MSAA level is 0, but the recommended MSAA level is 4. Switching to the recommended level. [OVRManager] HMDAcquired event -------------------- [OVRManager] VrFocusAcquired event [OVRManager] InputFocusLost event [OVRManager] VrFocusLost event [OVRManager] OnApplicationFocus(false) This is the log from a time when my level loaded successfully. Failed to set DeveloperMode on Start. UnityEngine.Debug:LogError (object) Unity.XR.Oculus.Development:OverrideDeveloperModeStart () (at Library/PackageCache/com.unity.xr.oculus@1.9.0/Runtime/OculusDevelopment.cs:39) Unity.XR.Oculus.OculusLoader:Start () (at Library/PackageCache/com.unity.xr.oculus@1.9.0/Runtime/OculusLoader.cs:182) UnityEngine.XR.Management.XRGeneralSettings:AttemptStartXRSDKOnBeforeSplashScreen () (at Library/PackageCache/com.unity.xr.management@4.0.1/Runtime/XRGeneralSettings.cs:158) Unity v2021.1.5f1, Oculus Utilities v1.51.0, OVRPlugin v1.51.1, SDK v1.60.0. UnityEngine.Debug:Log (object) OVRManager:InitOVRManager () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1161) OVRManager:Awake () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1313) SystemHeadset Oculus_Link_Quest UnityEngine.Debug:Log (object) OVRManager:InitOVRManager () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1166) OVRManager:Awake () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1313) TcpListener started. Local endpoint: 0.0.0.0:32419 UnityEngine.Debug:LogFormat (string,object[]) OVRNetwork/OVRNetworkTcpServer:StartListening (int) (at Assets/Oculus/VR/Scripts/Util/OVRNetwork.cs:99) OVRSystemPerfMetrics/OVRSystemPerfMetricsTcpServer:OnEnable () (at Assets/Oculus/VR/Scripts/Util/OVRSystemPerfMetrics.cs:190) UnityEngine.GameObject:AddComponent<OVRSystemPerfMetrics/OVRSystemPerfMetricsTcpServer> () OVRManager:InitOVRManager () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1279) OVRManager:Awake () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1313) [OVRNetworkTcpServer] Start Listening on port 32419 UnityEngine.Debug:LogFormat (string,object[]) OVRNetwork/OVRNetworkTcpServer:StartListening (int) (at Assets/Oculus/VR/Scripts/Util/OVRNetwork.cs:111) OVRSystemPerfMetrics/OVRSystemPerfMetricsTcpServer:OnEnable () (at Assets/Oculus/VR/Scripts/Util/OVRSystemPerfMetrics.cs:190) UnityEngine.GameObject:AddComponent<OVRSystemPerfMetrics/OVRSystemPerfMetricsTcpServer> () OVRManager:InitOVRManager () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1279) OVRManager:Awake () (at Assets/Oculus/VR/Scripts/OVRManager.cs:1313) [OVRManager] OnApplicationPause(false) [OVRManager] OnApplicationFocus(true) OVRControllerHelp: Active controller type: QuestAndRiftS for product Quest OVRControllerHelp: Active controller type: QuestAndRiftS for product Quest The current MSAA level is 0, but the recommended MSAA level is 4. Switching to the recommended level. [OVRManager] HMDAcquired event -------------------- [OVRManager] HMDMounted event [OVRManager] VrFocusAcquired event [OVRManager] InputFocusLost event [OVRManager] InputFocusAcquired event [OVRManager] TrackingAcquired event Canvas does not have an event camera attached. Attaching OVRCameraRig.centerEyeAnchor as default. [Singleton] Using instance already created: ConquestUIManager Canvas does not have an event camera attached. Attaching OVRCameraRig.centerEyeAnchor as default. [Singleton] Using instance already created: FPSCalculator [OVRManager] HMDUnmounted event [OVRManager] VrFocusLost event [OVRManager] TrackingLost event [OVRManager] TrackingAcquired event [Singleton] Using instance already created: Cursor [Singleton] Using instance already created: UIScalerSolved14KViews0likes5CommentsHow to handle scene loading in Unity like when using SteamVR (compositor)
I'm currently evaluating how feasible adding a native Oculus SDK version of Holodance is and the greatest challenge I see so far is porting our approach to loading scenes over. The way we currently do this is based on Valve's SteamVR_LoadLevel example. In a nutshell: Set the skybox for the compositor, set a load texture in front of the player in the compositor, fade the game to the compositor, once that is done, stop rendering to VR (because the player now only sees what's in the compositor), start loading the scene and wait until it's done, do other things that could cause hiccups like prewarming shaders and a garbage collection round, start rendering to VR, fade back in. Play. In addition to what the standard SteamVR_LoadLevel does, we render a preview of the level that is being loaded, with some text and a progress bar using Unity UI, into a RenderTexture that we also show and update on changes in the compositor. Also, to make things a little more fancy, we have several textures on quads to have our logo in 3D on several planes. Theoretically we could even animate those planes but Unity does have some hiccups while loading levels (even when using async and additive), so we don't do this. Reviewing the API provided by Oculus Utilities for Unity 5.x, it seems that one class we could use is OVROverlay. Putting the texture to the right position is simply by using the Transform location and mesh primitive, right? Then, there's OVRScreenFade, which lets us fade ... but only to a color. So ... it seems there are two things missing: How can we fade full to the compositor and stop rendering to VR while we are doing things what would cause framedrops? When using SteamVR / OpenVR, this is done by calling CVRCompositor.SuspendRendering(true).Solved12KViews1like18CommentsLip Sync Unity: How can i load OVRLipSyncSequence.asset ?
When the application does play. I'm trying to load asset (OVRLipSyncSequence). public OVRLipSyncSequence MyOVRLipSyncSequenceNow = null; void Start() { MyOVRLipSyncSequenceNow = Resources.Load ("Assets/StreamingAssets/Voice/English/LipSyncSequence/MyOVRLipSyncSequence 1.asset"); }544Views0likes0CommentsAdding colliders by List Loop - after load - would that decrease load time significantly?
Just a general Unity knowledge query.... I have scenes with 50-60 mesh/box colliders in them. In some scenarios I don't need them so I thought why not make a list of GameObjects that use them and then on scene load check to see if they're needed and apply one per frame. I believe that if you turn them off in the editor and on by script that Unity recreates them form scratch anyway? Would this significantly reduce load time since it'll only be loading geometry/lighting etc - and 60 colliders per second shouldn't slow down the page load??1.2KViews0likes3CommentsIs there a way to not show the white hourglass when loading a new scene?
I am switching between two scenes asynchronously and the loading is pretty smooth, just about a frame or two spike in fps but not very noticeable. However the white hourglass flashes on screen for those few frames and is really distracting and makes the project feel like it is lagging. Any ideas on how to avoid/remove the hourglass and/or speed up the loading between scenes? I've seen this question posted once or twice but I couldn't find an answer that worked. Thank you!1.5KViews0likes2Comments