cancel
Showing results for 
Search instead for 
Did you mean: 

Unity Build crashes when swiching from hand tracking to controllers

georgesears
Honored Guest

Hi Everyone,

Any help with this would be great.

Using Unity 2022.3.10f1 and Meta All-In-One SDK, I build my app and run it on my Quest 3.

The home scene loads with hand tracking fine. When I pick up the controllers, the game freezes and crashes.

I have the following settings applied to the OVR camera rig:

Screenshot 2024-05-08 124642.pngScreenshot 2024-05-08 124503.pngScreenshot 2024-05-08 124421.png

 

1 ACCEPTED SOLUTION

Accepted Solutions

georgesears
Honored Guest

Update:

Hi everyone.

I think I fixed the problem, but not 100% sure if I've really fixed it...

I updated the OVRControllerHelper.cs script, which I think was missing a line:

line 202 onwards:

case OVRPlugin.SystemHeadset.Meta_Quest_3:
I added the following line here: activeControllerType = ControllerType.TouchPlus;
And the break as well: break;
case OVRPlugin.SystemHeadset.Meta_Link_Quest_3:
if (profile == OVRPlugin.InteractionProfile.TouchPro)
{
activeControllerType = ControllerType.TouchPro;
}
else
{
activeControllerType = ControllerType.TouchPlus;
}
break;
default:
activeControllerType = ControllerType.QuestAndRiftS;
break;

This might explain why the error was only happening when playing on the headset, and not happening when using a link cable on the Unity Editor.

I upgraded my project from the Oculus Integration to the Meta all-in-one SDK recently, which might have been behind the crashing...

Anyway, if anyone has a similar problem let me know. Like I said I'm not convinved I fixed this issue, but I've tested a new build with the updated code and it hasn't crashed... yet...

🤣

View solution in original post

1 REPLY 1

georgesears
Honored Guest

Update:

Hi everyone.

I think I fixed the problem, but not 100% sure if I've really fixed it...

I updated the OVRControllerHelper.cs script, which I think was missing a line:

line 202 onwards:

case OVRPlugin.SystemHeadset.Meta_Quest_3:
I added the following line here: activeControllerType = ControllerType.TouchPlus;
And the break as well: break;
case OVRPlugin.SystemHeadset.Meta_Link_Quest_3:
if (profile == OVRPlugin.InteractionProfile.TouchPro)
{
activeControllerType = ControllerType.TouchPro;
}
else
{
activeControllerType = ControllerType.TouchPlus;
}
break;
default:
activeControllerType = ControllerType.QuestAndRiftS;
break;

This might explain why the error was only happening when playing on the headset, and not happening when using a link cable on the Unity Editor.

I upgraded my project from the Oculus Integration to the Meta all-in-one SDK recently, which might have been behind the crashing...

Anyway, if anyone has a similar problem let me know. Like I said I'm not convinved I fixed this issue, but I've tested a new build with the updated code and it hasn't crashed... yet...

🤣