Quest Runtime Optimizer fails to analyze captured frame
I am trying to use the Quest Runtime Optimizer (v0.1.0 from the asset store) on an OpenXR project with Unity 2022.3.54f1. I am building and deploying an apk to a Meta Quest 3 (version 79.0). The Scan GameObjects functionnality works fine. However, when I try to "Capture Frame" from the Quest Runtime Optimizer editor windows, I get the following error: MetricAPI: 68946B12.json execode: 0 single positional indexer is out-of-bounds Traceback (most recent call last): File "C:\open\fbsource\arvr\projects\integrations\Unity\RuntimeOptimizer\Editor\PerformanceInsight\MetricAPI.py", line 1118, in main File "pandas\core\indexing.py", line 1191, in __getitem__ File "pandas\core\indexing.py", line 1752, in _getitem_axis File "pandas\core\indexing.py", line 1685, in _validate_integer IndexError: single positional indexer is out-of-bounds UnityEngine.Debug:LogError (object) Meta.XR.RuntimeOptimizer.Core.Util:DebugLogError (object) (at ./Library/PackageCache/com.meta.xr.runtimeoptimizer@0.1.0/Core/LogUtils.cs:19) Meta.XR.RuntimeOptimizer.Editor.PerformanceInsight.MetricAPI:GetCaptureMetric (string,string) (at ./Library/PackageCache/com.meta.xr.runtimeoptimizer@0.1.0/Editor/PerformanceInsight/MetricAPI.cs:68) Meta.XR.RuntimeOptimizer.Editor.PerformanceInsight.CaptureTool:ProcessCaptureToJsonObjFunc (object) (at ./Library/PackageCache/com.meta.xr.runtimeoptimizer@0.1.0/Editor/PerformanceInsight/CaptureTool.cs:787) System.Threading._ThreadPoolWaitCallback:PerformWaitCallback () The captured frame appears in the Quest Runtime Optimizer editor windows but when I click on it, I get a second error: Failed to generate perfetto Analysis for 68946B12 UnityEngine.Debug:LogError (object) Meta.XR.RuntimeOptimizer.Core.Util:DebugLogError (object) (at ./Library/PackageCache/com.meta.xr.runtimeoptimizer@0.1.0/Core/LogUtils.cs:19) Meta.XR.RuntimeOptimizer.Editor.RuntimeOptimizerWindow:OnGUI () (at ./Library/PackageCache/com.meta.xr.runtimeoptimizer@0.1.0/Editor/RuntimeOptimizer.cs:2205) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) Any help would be appreciated.87Views1like3CommentsMeta Quest Runtime Optimizer issues
I tried the Meta Quest Runtime Optimizer utility and was inspired by the idea of integrating such useful functionality into Unity. On a simple test scene in my project everything worked well, but on a real complex scene I encountered several problems: 1) When I tried to capture a frame, the console displayed a warning [OVRNetworkTcpClient] Sanity check failed. PayloadLength 333694 and the frame capture has not happened. I tried deleting large parts of the scene (especially rigid body objects) and the frames were captured correctly, but it didn't help much. What could be the root cause? 2) "What if?" Analysis gives ьу confusing results: some objects report negative render time. Is it normal behavior and can I just ignore those reports?258Views2likes7CommentsUnity OVROverlayCanvas appears as zoomed in when using Dynamic Resolution
We are trying to optimize our game using Dynamic Resolution. We followed this document: Dynamic Resolution: Unity | Oculus Developers When we were trying to fix the last known issues in the document (Additional RP when scaling != 1), we found that all the OVROverlayCanvas were broken showing larger images and texts as if they were zoomed in. Had anybody met the same problems with us? Are there any solutions for it? Unity Version: 2021.3.32f1 Core SDK Version: 62.0.0547Views0likes0CommentsMeta theme environment scene example?
I would be happy to take a sneaky look at the home scenes from Meta to understand how the hell they reach 72 fps with that level of detail 🙂 I can't get more than 40fps on a yet optimized simple scene of my own, whatever I use (baked lightmap only, mixed lights, no shadows, 1 merged mesh only with only a 2048 px packed tex without normals neither height... Well I just get 72 fps with an empty scene, that's freaking me.851Views0likes1CommentOptimizing avatar instantiation. High cost of creating & uploading textures to GPU.
Hello, I am trying to optimize instantiating avatars at runtime using Unity 2021.3.5f1. I am using the GPU Skinning for improved runtime performance. When I create a new avatar currently, there is a few frames where the frame time spikes while textures are created. There are 3 textures created over 3 frames. The three functions that run are: OvrAvatarGpuSkinnedPrimitive.CreateMorphTargetSourceTex OvrAvatarGpuSkinnedPrimitive.CreateJointsTex OvrAvatarGpuSkinnedPrimitive.CreateNeutralPoseTex I have tried reducing the texture precision to reduce memory created but this has little affect. I also looked into pooling the textures but their dimensions are based entirely on the specific avatar being loaded so this was not possible since I do not know the avatars ahead of time. Does anyone have any insights or tips on how I can reduce or mitigate this cost? Thank you855Views0likes0CommentsAny courses for Oculus Quest optimization in Unity?
I was just curious if there were any courses anyone has come across which focus on optimizing your Unity scene for Oculus? I'm new to the VR space and working on a VR meeting room project for work. We tend to rapidly develop ideas for our demos, so my current scene is a merger of scripts I have written and models I've made to ones we have purchased on the asset store. I recently came across RenderDoc in my research and am amazed at what I can do, however after looking at a frame capture, I'm finding that I have much to learn in this space and would love to find an organized course or book that can take me through what a professional that is optimizing a scene for the quest would go through. I will be reading through the RenderDoc documentation now, but thought I would post here as well to see if anyone had come across anything they'd recommend (paid or free). Any info would be great. Thanks!436Views0likes0CommentsDitching diffuse maps for performances
Hi guys! I'm part of a small dev team producing (and releasing in the next weeks) a game for Oculus, i thought that little article, even if really technical, might interest some of you. I'd be glad to get some feedback's or critics! Cheers! https://www.indiedb.com/games/mrhack-jack-robot-detective/news/how-we-ditched-diffuse-maps-in-our-vr-game-mrhack-jack469Views0likes0CommentsCan GPU instanced meshes be skinned on Android?
I'm currently researching the capabilities of a Gear VR game built in Unity. A big question is if I can do a big RTS-like scene within the draw call budget. From what I've gathered, the way to do this is using Graphics.DrawMeshInstancedIndirect, which allows GPU instanced meshes to also be skinned. However, what little info I found with regards to Android indicate that this is either unsupported or buggy. Can anyone knowledgeable with Unity and this feature shed some light on this?833Views0likes1CommentSharing John Carmack's advice for using 3D panoramas as game environments (e.g. Defense Grid 2)
When discussing with John about the implications of his current research on RGB-depth 360 panoramas in mobile VR (TL;DR: perf cost to render is too high), he provided the ff. advice for implementing an advanced optimization technique for achieving the visuals seen in OTOY's synthetic stereo 360 photos in a game context: You can bake view dependent offline rendering onto crude geometric approximations to improve on the simple sphere or cube of standard stereo 360s. (link to Tweet) A similar optimization can be found in Hidden Path Entertainment's Gear VR port of Defense Grid 2. AFAIK it's the only published title on any VR platform to even attempt such a technique. While the results are mixed, the decision to pursue this technique should be highly praised from a developer's standpoint, and its value to the dev community cannot be overstated.1KViews0likes4Comments