When I am using profiler for Oculus Quest, it shows that GPU profiling is not supported by this device. It has been very helpful to use the Unity’s GPU profiler for understanding issues and saving a ton of time.
I have tried with 2021.1.7f1 with URP 11 and 2021.2.0b6 with URP 12. But no luck.
Is there any ways to make it work or which version of Unity it will work with ?
Hi there. We are just now getting to the point where we can take GPU timings on all platforms in 2021.2/2022.1 but this so far only works for the ProfilerRecorder API. Revamping the GPU profiler to properly represent those measurements is going to still take a while longer.
In the meantime, the only way to get GPU profiling going on the unsupported platforms is to use a platform or GPU manufacturer specific profiler.
Facing the same issue. Is there any preferred workaround, perhaps a user created tool that works? I’ve tried using the Snapdragon profiler but it gives rendering information at an OpenGL level which is hard to understand.
It was so convenient with the GPU profiler to find bottlenecks without much guess work and efforts. Also the way it showed the details at high level was very useful.
Knowing those GPU timings(for different parts of the renderings) was so helpful before further debugging and optimizing things with renderdoc/frame-debugger. I haven’t found any good alternative to the GPU profiler yet.
Hope you guys fix it on priority. Sure a lot of devs who switched to URP are praying for this.
@MartinTilo
Hey does the GPU profiler work by any chance with 2021.1.7f1 version of Unity in a builtin project ?
I tried it with a builtin project with the above version and it doesn’t work.
The GPU Profiler will tell you if it worked and if not, it tries to give as actionable a reason as possible (e.g. that it doesn’t work with a given graphics API (so you could switch to another one) or with Graphics Jobs (so you can turn of Graphics Jobs))
The only thing that changed over the course of 2021-2022.1 is that ProfilerRecorder can get GPU timings. The GPU Profiler Module still needs to be reworked because it’s build as if the GPU works the same as a CPU, which was kinda ok back in the day to structure the information in an accessible way, but is now standing in the way of displaying the measurements the new GPU instrumentation emits in a proper way.
In short: Nothing changed for the GPU Profiler Module, yet.
Keep an eye out for release notes or the documentation for updates on when that changed or check out the profiling roadmap page.
Does this mean that any Android/ARM project using Unity 2021+ (regardless of rendering pipeline) won’t be able to use the GPU Usage part of the profiler? Assuming it’s on OpenGL and Graphics Jobs is turned off.
Because that’s the case for me when I try debugging the GPU usage with OpenGL, Graphics Jobs off.
I have tried using Unity 2021 + URP 11 + Oculus Quest → GPU usage just says “This device is not supported”.
I have tried using Unity 2021 + Built-in + Oculus Quest → GPU usage just says “This device is not supported”.
Sorry, I’m just trying to understand this better.
To clarify, this worked in 2019.3.11f1 + Builtin + Oculus Quest
It is indeed confusing
The more I’ve thought about it and chatted with colleagues, the less it makes sense that this would just suddenly change for the same device, Graphics API and particularly the mostly unchanged built in RP…
Could you please file a bug for this and post the issue ID here so I can follow up on it? We need to bisect this to find out what could have regressed that support and figure out if that was intentional/ unavoidable or something that could be fixed…
Did some more testing - GPU usage turns up for these
Unity 2020.3 + URP 10.6 + Oculus Quest
Unity 2020.3 + Built in + Oculus Quest
At this point I have to strongly consider going to back to Unity 2020, because the Unity GPU usage is a crucial feature for us. Would love to know why this is happening in 2021.1 asap so that I can revert back if I have to with a clear conscience. Is it be possible for you to test this directly or if there’s any other way to quicken this process.
I sadly don’t have an Oculus Quest device handy
QA has picked it up now but no further insights yet. I checked out the Project and found that it has Graphics Jobs enabled. Technically the GPU Profiler should tell you that that is not supported, so I’m not sure if that is indeed the setting your builds ran with and the issue at hand. If it is, at least something broke with regards to how we report GPU Profiling availability and reasons for it not to be available.
So I have tried out with Graphics Jobs disabled and other Project Settings options as well, following the unity forums regarding gpu profiler issues. But in all these cases it just doesn’t work and empty.
Even if I disable Graphics Jobs in settings, then the empty GPU profiler just shows that the device is not supported.
For anyone else reading this wondering how to use the currently working and available URP/HDRP profiling tools in 2020.1+ @MartinTilo was able to help me though all of the step on getting a few basic profiler recorders working for GPU last winter here:
I ended up making a script which logs all the currently available gpu profilers and let’s you see when they become available to the developer (a few seconds after launch normally), which I posted in the above thread. (Note: These only work in editor and dev builds for anything pre-2021.1). This definitely isn’t a strong replacement for a full GPU profiler but I was able to make it into a makeshift frame rate graph in game, which has been night and day for allowing me to see when I’m creeping up to 90hz in game (super important for VR, since going beyond simply half’s the frame rate).
I guess that included turning off the Player Setting “Enable Frame Timings” and making sure the graphics API is a supported one?
Then I remain stumped and we’ll have to wait how the bug report progresses…
Yes, I had tried with this before. Just to be sure, I tried it again now with both “Graphics Job” and “Enable Frame Timings” turned off. Doesn’t work.
For graphics API I have been using OpenGL which is the supported one for GPU usage Profiler. (So I disable Auto Graphics API option to remove Vulkan and keep OpenGL API only)
Hi, is there any update on this, has the devs already picked up this issue after the above QA check?
Sorry, for asking, but will be helpful to know if there is any progress on this.