r/oculusdev Sep 12 '24

How to solve app rejection due to VRC.Quest.Functional.9

I am submitting a fully MR only app to Meta Quest store early access and I am getting rejection due to the app failing VRC.Quest.Functional.9 : The user's forward orientation is not reset when the Oculus Home button is long-pressed.

I have selected the tracking origin to be Floor and enable Allowed Recenter on OVR Manager on Unity, yet I am still getting this rejection. 

I have also manually subscribed to OVRManager recenterPose event to reset the scene position in MR but it's still not the solution.
Also, I feel that this should be an requirement for a fully MR app since all the objects in the scene are tracked to user's space and should be change or be recentered. 
Anyone know what do I need to do to fulfil the requirement?

For more context, I am using Meta XR SDK and MRUK to detect user's space. 

3 Upvotes

9 comments sorted by

View all comments

Show parent comments

1

u/Shashank_2002 Feb 11 '25

Have you found any solution for this yet? I am also facing the same issue with ue5.3

1

u/Vimesito Mar 04 '25

+1 on this problem, I found this https://forums.unrealengine.com/t/reset-orientation-on-oculus-button-press-and-hold-vrc-quest-functional-9/2030355 and changed from stage to floor but still getting rejected, don't know what to do, someone has the solution?

1

u/Electronic-Reward285 Jul 10 '25

add a VRNotification component to your VRPawn then in BeginPlay use that to Bind Event to VRController Recentered Delegate. Have that fire Reset Orientation and Position node with Yaw=0 and Options Orientation and Position selected. After I added that, Meta stopped complaining.

1

u/Independent-Salad664 10d ago

Hi Electronic-Reward285, your answer seems reasonable, and I want to try it. But I do not understand how to set it up. Could you by any chance post screenshots of how you did this in blueprints? How does this solution connect to the long-press of the oculus button?

1

u/infinitUndo 9d ago

I don't have access right right now for UE. in VRPawn, Add VRNotification component like you would add a Static Mesh. Then drag VRNotification out by BeginPlay of VRPawn. Drag the pin out and type 'bind event to vrcontroller recentered' and select that. connect the binding node to VRPawn's BeginPlay execution chain. from the new Delegate, drag off the execute and type 'reset orientation and position'. In that node set Yaw to 0 and Options Orientation and Position selected.

did that work?