Discord GitHub
Amethyst Docs

Setting up the Amethyst OSC plugin for Quest

Before you go any further, please join our Discord at https://discord.gg/YBQCRDG

This guide is relatively long

Every step on this page is important. Many of them will be made obsolete when Amethyst gets native OSC support, but transitioning from the plugin to the native version will be very simple.

Hi everyone from the VRChat Developer Update! We’re hard at work on a semi-rewrite of Amethyst to simplify future development. Once that’s done, getting OSC out the door will be easier.



Preface

In late November 2022, VRChat released an Open Beta including a feature called OSC Trackers. What this feature allows is for any application to send data over the network using OSC to VRChat, with information about the position and rotation for 1 to 8 trackers. And then allow the user to calibrate with them for full-body-tracking.

Until now, VRChat only supported Vive trackers directly in SteamVR, and applications that emulated those, like Amethyst or SlimeVR.

We have created a plugin for Amethyst to send the enabled trackers over OSC. Told you that whole modular and extensible thing would come in useful.

Pre-requisites

Webcam and PS4 Camera are not supported!

Amethyst is for Kinect tracking mostly. We do not have support for 2D cameras. And most likely, never will.

As long as your computer runs an up-to-date version of Windows 10 or 11, and was built in the last decade, you’re most likely good to go. We recommend taking a look at the USB Controllers section in Amethyst Installer, you should have at least one compatible controller to have a good experience.

As well, you need to have some kind of compatible hardware. Like Xbox 360 Kinect, Xbox One Kinect or a complete PlayStation Move + PS3 Eye setup in PSMoveServiceEx.



Part 1: Wi-Fi is not internet!

Your internet speed does not matter!

The speed of your internet connection, what allows you to visit websites and play online games, does not matter. In fact, you could have the old 90s dial-up internet with the funny modem sounds and it wouldn’t matter.

Because OSC goes over the network, you need to make sure your Quest is connected to the same local network as your PC.

This part only really applies if you have two Wi-Fi routers. You would probably know if you have two of those.

If your PC is connected to the router with a cable, then make sure the Quest is connected to the Wi-Fi network that router is on.

If you’re using a Wi-Fi adapter on your PC, or using a laptop, make sure the PC and the Quest are on the same Wi-Fi network.

If you get nothing on the Quest after connecting OSC trackers

This isn’t guaranteed to work, but sometimes, you will have separate Wi-Fi networks for the 2.4GHz and 5GHz bands. And some routers will only show devices on the 2.4GHz network to devices connected with a cable. So, try connecting to the 2.4GHz Wi-Fi specifically if they are separate. Though 5GHz is preferable.

Quick Settings in the Quest main menu

Wi-Fi in the Quest quick settings

I would add more images but they come out blank. WHY FACEBOOK!?

This is what other devices in your house see the Quest as and you will need to enter it in Amethyst, so keep note of it.



You must use VRChat Beta!

A previous version of this guide mentioned the requirement for VRChat Beta on Quest. I removed this once OSC trackers was pushed to live.

VRChat removed OSC trackers from the live version soon after. They are only present on the Quest BETA. They did so because that version was causing crashes for many users.

Please use the beta version.

Part 2: Enabling OSC in VRChat

It’s easy to forget this step, and then spend 20 minutes wondering why it’s not working. so make sure to do it now instead of later.

You are now ready to receive OSC Tracker data!


Part 3: Installing Amethyst and the plugin

Before installing Amethyst, you must have SteamVR installed.
You do not need to connect a headset to SteamVR, but it must be present to install and run Amethyst. (This will not be the case once native OSC support is released)

Assuming you have Steam on your computer, you can install SteamVR using this button:


Install SteamVR from Steam

Once SteamVR is installed, run it at least once, even without a headset.
You can now install Amethyst using this button:

Download Latest Amethyst Installer Version

Installing the OSC plugin

Important notes!

  • I understand that the plugin is janky and experimental
  • I accept the tracker alignment is imperfect because of plugin limitations
  • I understand that OSC trackers in their native implementation will be much better
  • I have read all of the above
If so, here’s the download link.

Download the Amethyst OSC Plugin

Once you’ve download the plugin ZIP, you need to extract it to Amethyst’s install folder

Open the Amethyst install folder

Dragging the OSC zip into the correct folder

Enabling the “null” SteamVR driver so Amethyst can start

Download and run this

Automatically enable the SteamVR null headset driver
Here’s the source code if you care

If the null druiver enabler fails

You can enable it manually by following the instructions on this GitHub page. You’re just editing two JSON files. We just believed it would be easier for people to run a small EXE. But it barely works because SteamVR is a royal pain. Can’t wait for native OSC.

null driver tool

After that’s done, SteamVR should look like this steamvr null driver

If you wish to disable the null driver to use SteamVR normally again

In SteamVR go to Settings.
steamvr open settings
Then click on Startup / Shutdown then Manage Add-ons.
steamvr openvrpaths window
Finally, click on the On/Off toggle next to “No HMD”.
And then click on Restart SteamVR.
restart steamvr lol



Part 4: Final setup

You now have VRChat BETA ready to accept OSC input, and Amethyst ready to send OSC to the Quest.

the Amethyst OSC plugin screen

Enjoy FBT on Quest!!!!

Part 4B: What to do the next time around

Tracker offset

In the OSC plugin UI, there’s a box to adjust the offset of the trackers from the floor. You might have to adjust it to match correctly.

Mirrored trackers

If the tracker movement is mirrored in VRChat compared to what you’re doing. Click the auto-center button again.