cancel
Showing results for 
Search instead for 
Did you mean: 

Quest 3 Specific Build for graphical update

AlexClarkeGames
Honored Guest
We've been having some issues with trying to make a Quest 3 graphical update filed and wondering what the best method of doing this would be.

We want to use device profiles to control both the texture resolution and other cvars that we are changing. We want to adjust the texture resolution and shader settings on Quest 3, making a specific Quest 3 build, without adjusting the Quest 2 package size.

Firstly we had an issue with it detecting a quest 3 . Here is a log taken from the game running on a quest 3


01-28 12:53:41.013: D/UE4(3199): [2024.01.28-16.53.41:013][ 0]LogAndroid: Checking 35 rules from DeviceProfile ini file.
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: Default profile: Android_Default
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: GpuFamily: Adreno (TM) 740
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: GlVersion: OpenGL ES 3.2 V@0746.0 (GIT@e0d95b0057, I5811eb47b8, 1697869180) (Date:10/20/23)
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: VulkanAvailable: true
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: VulkanVersion: 1.1.128
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: AndroidVersion: 12
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: DeviceMake: Oculus
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: DeviceModel: Quest
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: DeviceBuildNumber: SQ3A.220605.009.A1
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: UsingHoudini: false
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: Hardware: eureka
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: Chipset: unknown
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: HMDSystemName: Oculus Quest2
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogAndroid: Selected Device Profile: [Oculus_Quest2]
01-28 12:53:41.014: D/UE4(3199): [2024.01.28-16.53.41:014][ 0]LogInit: Applying CVar settings loaded from the selected device profile: [Oculus_Quest2]


For some reason it seems that the headset is reporting its name as Oculus Quest2? And as such the profile which is used is the Quest2 profile. This can be solved by changing the way that it decides which profile to use, but is a bit weird.

At this point we do get a build that has any runtime changes made in the CVARs, but not any compile/cook time changes. I.e. We don't get the different texture resolutions that we want to use. We want a Quest 2 build that is not impacted by the larger texture resolutions that we can do on Quest 3, but not sure the way to do that in the device profiles & build step.

We could manually change our build process to inject the Quest 2/3 details rather than using the device profiles, but would prefer to use device profiels if possible.

Thanks for any help

8 REPLIES 8

PhilJWoods
Honored Guest

Hi,

We are just setting up the Android device profiles for our project and are wondering the same question.

Does the Quest 3 have a device profile so that we can control the graphical quality on the platform?

Thanks,

Phil.

mrmacialke
Explorer

Hi,

Totally get what you're saying. I'm facing the same thing. No matter what I tweak for Quest 3, it's like it's stuck on the settings from Quest 2.

Hello, have you found a solution for this problem?

winning777
Protege

have you guys found a solution to this issue? our says

Active device profile: [0x7bd8a67900][0x7be3442ae0 49] Android

mrmacialke
Explorer

Still having this issue, and now I know the Quest Pro has the same problem as the Quest 3.

I Found Solution! (ノ◕ヮ◕)ノ*:・゚✧

To fix the problem, you need to add a MatchProfile in your BaseDeviceProfiles.ini located in (Your Engine Loc)\Engine\Config\.

  1. Open BaseDeviceProfiles.ini.
  2. Find the existing MatchProfile for Meta_Quest_3.
  3. After the existing entry, paste the following:
 
+MatchProfile=(Profile="Meta_Quest_3",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Oculus"), (SourceType=SRC_GPUFamily,CompareType=CMP_Equal,MatchString="Adreno (TM) 740")))

 

The Quest 3 has a different GPUFamily, so we create a rule to match the Quest 3 profile accurately.

Note: Unfortunately, differentiating between Quest 2 and Quest Pro is tricky since they share the same GPU. I tried adding a rule based on RAM, but no luck so far.

I have been unable to get logs off my unreal project on device for a while, perhaps some issues I've been having were that I was having the wrong profile being set on quest 3. I'm going to test this now to see if it helps my distance field issues. 

Starkium
Protege

ok so I did this change to the meta engine and now my rendering is broken in one eye. Not sure why. So I don't know if I'm using the "correct" profile now or if the system didn't like that change and placed me at some other default profile.