This is also what I’ve found after having spent 2 days with this issue. VRChat (underlying software of) is trying to use Media Foundation with the camera, but this has never been implemented into Proton 9, 10, GE 10-23, and others probably too. I’ve also noticed that when not selecting to force the use of a specific version, no webcams get registered in the choose menu at all.
The probable reason why VRChat specifically does not work, is because it’s most likely using exclusively Media Foundation. There is in fact another, implemented (as far as I know) API called DirectShow. While the modules for this (quartz.dll and qcap.dll) do seem to get loaded, I think that VRChat is not using it as a fallback. And if they are there is something wrong with that.
Two things to keep in mind: First, I do not have experience with Unity, I’m only theoretically speaking, with the data that I can get my hands on. I do not know whether what I’m saying is actually possible to do, and whether it’s actually to do with VRChat, or just Proton. Second, this is still a windows-only game. I think it’s not impossible, but is unlikely that they’re going to fix this issue, simply because it is niche.
I’ve now also dug through the logs of VRChat itself and I found two other things. VRChat initializes AVProVideoCapture in the loading process. I don’t really know implications of this, but it happens while the user is still waiting on the startup screen. Second thing is that whenever you start the camera there’s an estimated 2.5 milion miliseconds or around 41 minutes of end-to-end latency, which doesn’t seem quite right.
That’s about all I have right now. Oh yeah and I’m using OBS Virtual Camera, tried both directly and converted to MJPEG through ffmpeg.