Skip Navigation
gamedev @hexbear.net ComradeOohAah [he/him, they/them] @hexbear.net

Unity/Meta VR Dev Griping

Forgive me for the lack of dedication to the Revolution, Comrades. I'm afraid I've had some non-milking related work that needed doing. So, while I've gotten plenty done, I've not had time to do a devlog.

Today is a general gripe session, no behind the scenes CCP secrets today, just wanted to share some of the fun that comes from developing for the Meta Quest.

If you've been keeping up with things at all, you know that the Adult Toy I'm developing for is an internet enabled stroker that connects to a remote server for it's instructions. It uses a Connection Key to interact with this server, which means that for at least one part of my app's configuration a keyboard of some sort is required for the user to enter their Connection Key. Because the Meta uses Android, there's a built in keyboard option available that Unity uses. It takes a bit of finagling, But it works.

UNTIL META BROKE IT A COUPLE MONTHS AGO!

gui-better

Luckily I found a workaround. Kinda.

https://communityforums.atmeta.com/t5/Unity-VR-Development/System-keyboard-not-opening-every-time-in-Meta-quest-3-device/td-p/1179306

Which introduced a new problem. This workaround messes up the input box so it doesn't make the inputted text readily available. Now I have to a manually get the text from the child of the input game object. Fine, I'm doing it!

Today, as I'm working my way through this and having half rewritten my API interface because for some reason, despite getting the Connection Key, it's still not working.

THEN MY APP SUDDENLY STOPS HAVING INTERNET ACCESS WHEN RUN ON THE QUEST!

Hours of troubleshooting later...

OH LOOK, ANOTHER KNOWN PROBLEM!

https://communityforums.atmeta.com/t5/Unity-VR-Development/UnityWebRequest-Not-Working-on-Quest-3-quot-cannot-resolve/td-p/1093537

Apparently when I updated the XR plugin a while ago, the most up to date version available from Unity still has the bug. And months later it just decided to fuck my shit up, fam.

So eventually, I do all the steps, upgrade the XR plugin to non-public version, I reboot a couple times, I manually update my manifest, I get internet back. What a day... My API still isn't working properly when I manually enter the Connection Key. wtf... Then I look at what my settings script is saving and there's some sort of new line or a line break in my JSON. Weird, but fine whatever, hazards of the keyboard workaround. I trim off new lines and returns and whatnot, IT'S STILL THERE!

Eventually, I figure out that for some reason the android keyboard or TMPro is adding Unicode character 8203 to the end of my Connection Key, which is a Zero Width Space character. I don't know what that is, but it's clearly reactionary. So now I'm Trimming that along with \r \n and that does the trick. Suddenly my Connection Key input flow is working. I can now test all the other stuff I've been working on that came to a screeching halt last month.

Bleah. I'll get a "real" OohAah devlog up one of these days. I've done some pretty cool stuff and despite being way past when I want to release the alpha for testing, things are coming along. I've also been buying cheap adult toys off AliExpress for a future project and have been messing around with that when I should really be working on the milker. Turns out using them are not going to be as easy I hoped. Long story short, for some reason the company making them set their bluetooth up in reverse, so they're not pairable and can only be controlled by making your device broadcast an advertising packet or something. Which is not easy in Unity. Bleah, I'll figure it out tho. stalin-approval

Thanks for reading, just had to vent. Hope y'all are doing well.

0
0 comments