Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSC output on the Quest #129

Open
Romaxx opened this issue Jul 2, 2022 · 12 comments
Open

OSC output on the Quest #129

Romaxx opened this issue Jul 2, 2022 · 12 comments
Labels
bug Something isn't working

Comments

@Romaxx
Copy link

Romaxx commented Jul 2, 2022

Describe the bug
OSC reset on Quest version don't generate .json file on the Quest (/mnt/sdcard/Android/data/com.vrchat.oculus.quest/files/OSC/usr_xxxx/Avatars/ folder) in contrary to pc version generating json (in C:\Users\xxxx\AppData\LocalLow\VRChat\VRChat\OSC\usr_xxxx\Avatars folder)
adb show empty folder, moreover only the "/avatar/change" are sent to localhost:9001:udp, all others parameters dropped, even if valid json is created manually with some parameters.

@Romaxx Romaxx added the bug Something isn't working label Jul 2, 2022
@Spacechild1
Copy link

I have encountered the same problem! Any chance that this can be fixed?

@Spacechild1
Copy link

Curiously, @momo-the-monster has mentioned in #45 that OSC output on the Quest should be fixed, but that doesn't seem to be the case...

@Phasedragon
Copy link

@Spacechild1 OSC output on quest was broken a month ago. It was fixed last week, and I believe that is included in the current open beta.

@momo-the-monster
Copy link
Contributor

momo-the-monster commented Aug 16, 2022

OSC output is not yet supported on the Quest. We removed a bug where OSC output was mistakenly trying to send and causing an exception.

OSC output will be enabled once we have a way to specify the target IP and Port.

@Romaxx
Copy link
Author

Romaxx commented Aug 16, 2022

@momo-the-monster I've build an embedded C program on the quest to listen on UDP port and data are sended by vrchat, but only the /avatar/change event. The easy way to specify target IP and port could be an OSC command.

@Spacechild1
Copy link

I've build an embedded C program on the quest to listen on UDP port

@Romaxx Ha, and I've written an Android service that listens on port 9001 and forwards the packets to my PC.

OSC output on quest was broken a month ago. It was fixed last week, and I believe that is included in the current open beta.

@Phasedragon Where can I find this latest open beta and how do I install it on the Quest 2? I can't seem to find any information...

OSC output will be enabled once we have a way to specify the target IP and Port.

@momo-the-monster Power users already know how to forward the packets :-) For me personally it would be great to have OSC output on the Quest2 as soon as possible, but I also understand that it does not have the highest priority...

@Romaxx
Copy link
Author

Romaxx commented Aug 16, 2022

Romaxx Ha, and I've written an Android service that listens on port 9001 and forwards the packets to my PC.

@Spacechild1 ok and what's the results ? do you receive OSC Data other than /avatar/change event ?

@Spacechild1
Copy link

@Romaxx only /avatar/change, like you. That's what I meant with "same problem" :-)

@westside
Copy link

Hi, I haven't gotten any OSC messges from the avatar on the Quest. (tested in my PC and no problem receiving OSC message)
I even didn't get /avatar/change (enabeld OSC in the VRChat setting)

Any update on this issue???

@mcblockserrilla
Copy link

bump

@freemin7
Copy link

freemin7 commented Feb 25, 2024

OSC output will be enabled once we have a way to specify the target IP and Port.
@momo-the-monster

Is there any timeline on when those options are going to be added?
I am using a Termux running locally on the quest and being able to send data into VRChat is great but not being able to get any data out of VRChat on device is very frustrating.

If there is no timeline to add this option a work around would be appreciated. I understand the hesitancy of spamming a local port 9001 which might be used by a different app and being unable to turn this off.
Here are some suggestions to lessen that risk or ideas usably as a workaround:

  • pick a standard port at the far end of the port range (e.g. 16783 ) unlikely to collide with anything
  • spin up server listening on 9002 just like there is a server on 9000. UDP is a datagram protocol, there is no notion of sessions or server/client. Programs connecting to port 9002 will receive messages meant for an OSC server. This is an "inverted" OSC conncetion and not directly compatible with other OSC software. This will not work with another server directly (as servers don't connect outward). But it is trivial to build an program which connects to VRChat on 9002 and a proper server on 9001 as clients on both ends and forwards the messages between them. This program could also run on machine which has access to port 9002 on the Quest. This way no host port for the server have to be specified to VRChat because the double sided client needs this information not VRChat.
  • read field of the player character just as a note field for host and port info.
  • just point it to localhost:9001 and have the user deal with it. Android devices usually don't run 3 dozens of servers and if so those apps will not work while OSC is turned on.

I am asking VRChat to consider any of these possiblities. As any of these is better than the current implementation.

Related issues:
#126
#162

@giggletech
Copy link

giggletech commented Oct 29, 2024

@momo-the-monster

is there anyway to mod to get osc out?

@Spacechild1 are you able to show how you got osc out of quest?

Im getting a lot of requests for stand alone haptics from quest users

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants