A critique of VRChat
+++
date = "2023-04-14"
+++
#virtual_reality #vrchat #technology
I have been heavily using VRChat multiple times a week throughout the last year (majority of time on the Quest 2, until I was able to buy a PC that could do VR). This article will elaborate on the current issues with the platform, and what I wish a "dream social VR platform" would do that would fix those issues.
This format is weirdly structured. It is not serialized into a proper article with sub-headings and other things. Deal with it.
Article tree:
- what is social vr
- Virtual reality applications: Virtual communities
- known platforms with VR as a center piece of them:
- VRChat, by VRChat
- Horizon Worlds, by Meta
- AltspaceVR, by Microsoft
- Rec Room, by Rec Room
- ChilloutVR, by Alpha Blend Interactive
- NeosVR, by Solirax
- Mozilla Hubs, by Mozilla
- what is vrchat?
- tl;dr
- VRChat is a Social VR platform, based on the Unity game engine
- most of its users are in its VR mode, but there's a non-empty set of users that are in Desktop mode, which turns VRChat into more of a "Second Life but FPS" experience
- there are Worlds, made by users of the platform, and other users create Instances tied to these worlds where many users can come together and chat. I could be exploring a theme park world made by a team of Japanese creators, or a gmod flatplane port made by a single random person
- VRChat also has a port for the Meta Quest 2 headset, with different dynamics (will be cited later in this article), so there's "three" main hardware-based types of VRChat user (PCVR, PC-Desktop, and Quest, soon to have phone users as well)
- you might have heard of it before, most likely from youtube videos of the "vrchat funny moments compilation" genre
- i do not agree the chaos that those videos show is representative of the stuff that happens under the hood. hence why i'm writing this article
- People Make Games' report on VRChat helps a lot on that front, and is a good watch
- Strasz' report on the VRChat rave scene
- CNLohr's "My Year in VRChat"
- tl;dr
- what vrchat does right
- giant content catalogue basically hooks people up for constant "world-hopping", where you with friends (or not) just scroll through and hop on diffrent experiences
- High freedom of expression
- The creator tooling of VRC (called VRCSDK) is basically an integration on top of the Unity editor. As it is made on a well-known game engine, people that already understand the basics of Unity can create content without having to deal with a new workflow.
- VRChat also gets the added bonus that they don't have to cook up creator tooling from the ground up (more on that later)
- Avatars
- In VRChat, NeosVR, and ChilloutVR, avatars can be any 3D mesh or graphical shader (within hardware limitations, of course).
- However, in Horizon Worlds, Rec Room and Altspace, you are working with a "skeleton" of an avatar, which is akin to character modification menus on a game like Borderlands or Dark Souls
- The creator tooling of VRC (called VRCSDK) is basically an integration on top of the Unity editor. As it is made on a well-known game engine, people that already understand the basics of Unity can create content without having to deal with a new workflow.
- distance sucks a lot. i live in a whole different non-english-speaking continent, contacting a lot of english friends.
- the ability to have body language while communicating, even under latency, adds a lot more richness to conversations
- it took me only 2 hours total of seeing my friends in VRChat while I was in desktop mode, to then finding out the Quest 2 is a fully standalone headset, seeing I'm able to buy it, and buying it. best purchase of my life.
- every user is basically equal
- the only real caste system are hardware capabilities (all classes of PCVR hardware and the Quest)
- VRC acknowledges this and has the VRChat Performance Rank system to make avatars compatible with the largest set of hardware combos possible
- there is a user trust system that means people that just entered the platform can't upload new Content, but that does not prevent them from talking to anyone else, or entering any content (hardware limitations still apply).
- there isn't a "pay to win" system. VRC events can be accessed by anyone for any reason (friend this user, join them when the event is happening, you're now with up to 80 other people vibing to music or doing something else)
- the only real caste system are hardware capabilities (all classes of PCVR hardware and the Quest)
- every creator is basically equal
- there is algorithmic selection of worlds as you search around, but they're very clear
- "Hot" worlds? that's where a fuckton of users go to
- "New" worlds? chronological
- "Recently Updated" worlds? well, it says on the tin, also chronological
- Their "VRChat Variety Box" shown in the new main menu is just condensing selections from those sets at random every time you open it up
- there is algorithmic selection of worlds as you search around, but they're very clear
- all safety-features can be disabled at the desire of the user
- examples:
- untrusted URL loading
- blocking/allowing certain avatars on a performance ranks from appearing or disappearing from your view
- personal space, where users too close to you are not rendered to prevent jarring experiences as you see their mesh
- examples:
- what vrchat does wrong
- the learning curve of the creator tooling
- unity is a mess
- it is proprietary software. that would be "fine" if it also wasn't buggy as all hell.
- crashes a lot for no reason, and all you can do is restart and pray, because it's proprietary.
- i come from a developer background that doesn't really love the experience of an IDE, so i have bias here. but learning it was not a good experience
- it is proprietary software. that would be "fine" if it also wasn't buggy as all hell.
- vrchat's own work is minimal on top of it
- it's just enough to ship something that fits within vrchat
- https://twitter.com/vr_hai/status/1575811479600668673
- https://twitter.com/vr_hai/status/1627096659971936256
- reference dtupper's thread, calling out a 3rd party dev (by name (add url to that too lol)) on making bad animator states, while also not providing any help
- he claims he's not calling out: https://twitter.com/dtupper/status/1622674804158652416 (on archive.is, on wayback machine)
- yet no resources are shown to help optimize that. if you're not being positive and adding what people can do, you're basically calling out someone
- and then a while later congratulate another 3rd party dev that's trying to make the experience better rather than yourself: https://twitter.com/dtupper/status/1632500351730581504
- kind of shows how inefficient a company can be, recalls me of john carmack's essay from leaving Meta: https://m.alpha.facebook.com/story.php?story_fbid=pfbid0iPixEvPJQGzNa6t2x6HUL5TYqfmKGqSgfkBg6QaTyHF5frXQi7eLGxC7uPQv5U5jl&id=100006735798590&eav=AfbhDyFP1nvwky8P0o5pwdWePacGduz17m66MjsqPaJWoF4UgOhV79xNLd7wod_c1QI&m_entstream_source=timeline&paipv=0 (in-wiki archival: John Carmack's Meta resignation letter, also on archive.is)
- "We have a ridiculous amount of people and resources, but we constantly self-sabotage and squander effort. There is no way to sugar coat this; I think our organization is operating at half the effectiveness that would make me happy. Some may scoff and contend we are doing just fine, but others will laugh and say “Half? Ha! I’m at quarter efficiency!”"
- because of all of those experiences, i dread doing work on my vrchat avatar nowadays
- unity is a mess
- DMCA
- movie worlds are rampant. VRCHAT ACKNOWLEDGES THEY EXIST. THIS IS EXTREMELY IMPORTANT
- There is a DMCA Safe Harbor provision that would let providers of user-generated content like YouTube to not be liable for such content. One of the key parts of it is that the platform must prove they don't know about such content even existing on the platform.
- VRChat could argue plausible deniability, however, in "Addressing your Feedback" they show their Movable Main Menu feature, which links to this video showcasing the feature, which directly shows LSMedia, one of the most famous movie piracy worlds, (slow link, archived in the Wayback Machine, also on archive.is)
- IANAL but another argument is that they don't really host the infringing content itself, but I'm not sure how that would go down in court.
- I absolutely despise the copyright system, and I can't help but say I feel a bit of guilt for writing this in public form. That's all I'll say on the matter
- the current way to apply DMCA takedowns are a google form (its legal, but it's mega scuffed, shows they are not ready for the awareness that's going to come from copyright holders as they find out about movie worlds, or replicas of game franchises (Among Us VRChat was made before a VR port of Among Us was made, using the same name, however not the same assets, so in that specific example, people know what they're doing))
- movie worlds are rampant. VRCHAT ACKNOWLEDGES THEY EXIST. THIS IS EXTREMELY IMPORTANT
- NSFW
- vrchat has an nsfw problem. it's way too easy to mix the two kinds of content in the same world instance, either avatars or worlds
- vrchat acknowledges it has an nsfw problem, it says its against tos but they also ACKNOWLEDGE that they cant do anything about it if its in private (Tupper's statement on NSFW content in VRChat). this attitude will bite them in the ass
- creator economy is coming. payment processors are coming. you will either create some way to separate the content or you will be ripped out to shreds
- the destruction of the modding scene
- VRChat had a very strong scene. back-of-the-napkin estimates done by me would say that 10% of the userbase ran mods (source: 10K members in the VRChat Modding Group discord server, and around 100K peak CCU, this number was taken from the now-destroyed VRC Public-but-unknown Grafana, there's now a fully-unofficial Grafana running here. keep in mind full VRC user counts are way higher, so that 10% may be way smaller when put in perspective)
- I'm also adding Quest users in the mixture, if you remove them it's likely the userbase slice is 30%. It was that big.
- However, on a certain day, the VRChat Security Update released, which added Easy Anti-Cheat (EAC) into the game, with major backlash from the community:
- One of the major wordpieces written that represents it is: EAC in a social VR game creates more problems than it solves (requires VRChat account to login to the VRChat user feedback system)
- Archived post content in this wiki: EAC in a social VR game creates more problems than it solves
- Wordpiece written by Doobadev on the VRCMG discord's announcements channel: VRCMG Announcement on EAC
- One of the major wordpieces written that represents it is: EAC in a social VR game creates more problems than it solves (requires VRChat account to login to the VRChat user feedback system)
- After that happened, a project attempting to reverse engineer the VRChat server and protocol got a Cease & Desist letter, written by an actual law firm, that was a very strong intimidating tactic that killed the project, and showed that they were not joking about taking full ownership of the platform.
- VRChat had a very strong scene. back-of-the-napkin estimates done by me would say that 10% of the userbase ran mods (source: 10K members in the VRChat Modding Group discord server, and around 100K peak CCU, this number was taken from the now-destroyed VRC Public-but-unknown Grafana, there's now a fully-unofficial Grafana running here. keep in mind full VRC user counts are way higher, so that 10% may be way smaller when put in perspective)
- "They Are A Startup" Syndrome
- my ex-boss told me one thing: "startups end in two paths, they get bought or become public", while there's many critiques i could say about him, that phrase kind of got into me, as a young dev, because its kinda true when you put this lens on the startup explosion
- he also conveniently omitted the 3rd path: death
- venture capital is made to be like this. startups are made to explode their user base first and then find out a way to monetize to pay the investors, or go public, or fucking die
- VC firms fund a fuckton of startups in the hopes one of them succeeds, banking every failed one
- it costs a lot to run vrchat. 3rd party analysis suggests 2 to 3 million USD a month to pay the cloud bills that host all of this content and run a giant amount of instances (sadly cant source), we are not including salaries to pay their ever growing staff
- of note, their latest funding round, a Series D, is 80 million USD
- you can live off VC alone if you can provide userbase to show for it. discord has been living entirely off VC funding for almost a decade (source: Crunchbase), and have experimented with trying to pull monetization on it
- Discord Store (that failed)
- Selling sticker packs (failed in its original design, current iteration of the feature is basically custom PNG files that you can only use on other servers if you have Nitro, akin to how custom emoji already work)
- Discord Nitro, Nitro
ClassicBasic (considering that they're trying to add new features to Nitro, i don't know if the adoption rate is enough to fund the entirety of the business)
- vrchat has utterly failed to try to capture a monetization scheme. all they got is vrchat plus which bumps some limits on which worlds you can favorite. lmao.
- creator economy is coming. it was announced they wanted to make it in 2021
- https://www.roadtovr.com/vrchat-80m-series-d-funding/
- https://youtu.be/QBQnCxtDaso?t=5558
- you are competing with secondary creator economy platforms, the three main ones being booth.pm (5.6% platform cut), gumroad (10%), and patreon (5-12%)
- as they haven't really shown anything, nobody really knows what the dynamics of a creator economy will be in the future. that worries me
- my ex-boss told me one thing: "startups end in two paths, they get bought or become public", while there's many critiques i could say about him, that phrase kind of got into me, as a young dev, because its kinda true when you put this lens on the startup explosion
- the learning curve of the creator tooling
- what could be done for vrchat
- learning curve
- the creation SDK should do more
- currently, to create a single toggle for your avatar to have a prop or something else you must go through creating an animator, setting it up, making sure the right checkboxes are enabled, and if you error out there, nothing will work, and you won't be able to properly debug it other than "try random things and hope it works"
- source: sippbox's SDK toggle tutorial
- currently, to create a single toggle for your avatar to have a prop or something else you must go through creating an animator, setting it up, making sure the right checkboxes are enabled, and if you error out there, nothing will work, and you won't be able to properly debug it other than "try random things and hope it works"
- the creation SDK should do more
- DMCA
- you can NOT maintain free movie worlds in your own centralized platform. that is absolutely INCOMPAIBLE. there is no way to make this softer. i dont really love copyright as an idea (10-20 year limit or bust), but if you want to live in this cursed system of ours as a startup, you HAVE to obliterate that
- NSFW
- you can not ignore the NSFW problem
- adults will attempt to do NSFW things in private, you can't fix that unless you remove platform capabilities (Horizon Worlds, Rec Room) (joke: "the AI penis/pussy mesh detector")
- for it to be legal and ethical, what should be done is to leave at LEAST an NSFW toggle in content, based on the user's date of birth
- this is what discord does, basically
- do NOT require people to send their IDs, that's just going to make them leave the platform for others that don't
- Discord requires IDs being sent for a separate part of their platform: Their API, i will gladly say giving them my full ID info for an API just killed me off making any apps within their API. many people don't care, maybe it's different with NSFW
- Monetization
- as you are competing with existing platforms, your platform cut should be close to them to sound like a reasonable platform, unless you can really force people to go on with it:
- for vrchat to "force" people to go with it, they would have to cut the competition. ban creators from using secondary platforms already used for VRC like booth/gumroad/patreon
- that would be a disaster
- there are various ways monetization could flow, and i don't know what's the best idea here, as VRC showed in their own videos, they're still "exploring" as of 2021, haven't showed anything on 2023-04, and I would say this is the most "subjective" part of how I see the platform
- some creators are streamers, their revenue comes from Twitch subscriptions or Patreon
- avatar/world creators
- avatars are already sold on the secondary platforms, but world support mostly comes through a patreon subscription that lets these users join "VIP" areas of a world
- this opens up the question of "what happens to tools world creators depend on, like qvpen?"
- VRChat has been working on a VRChat Creator Companion with its own package manager. i think you could use something like that to split revenue across your parent packages (10% vrchat, 20% split across depedencies, decrease value of split the longer the dependency chain you are, 80% world creator sounds like a reasonable solution)
- in-vr creators, say standup comedians, or musicians
- just like IRL, i think some sort of tip system that's done in real time could work.
- imagine if the money emoji actually brought you to a screen asking for a pin code to send some tip to a user, right there and then
- learning curve
- musings on a wholly new platform
- this was supposed to be a section of this word piece, but those ideas are not connected with what vrchat can do to become a more long-running platform, so: Musings of a new Social VR platform
- in conclusion
- VRChat is not sustainable as-is.
- the only way to maintain it's spirit is to not be centralized
- alternatives
- ChilloutVR
- I don't know if they're paying their devs a livable wage. I think a lot of them are volunteers
- their patreon is counting at 461 members at time of writing. even if we assume best case scenario of the 100USD tier, that's 46K/mo, that might sound like a lot to pay some servers here and there, but as soon as you notice the 5USD tier is the "most popular", you see you can't fund a team of developers that way
- brings to another question: how to fund a fully foss effort? I don't actually have proper answers to that
- As of 2023-04, their peak CCU for this week of writing was 100 users (Neos was at 300), it peaked to 1K back when VRChat added the anti-cheat, but it's been declining since
- there are people that worked in VRCMG that are still working at CVR, I wish that they're being paid well for their work
- v-sekai
- one of the cutest projects I was shown, as it's made in godot, fully foss
- made by volunteers, which is how these things usually go
- i'm due to actually try it out, even though it's alpha quality and unfinished
- mozilla hubs
- it has good vision. it's trying to provide a space for people to come together and talk (using web tech as well, like webxr and webgpu), however it doesn't fit in VRC's "modus operandi" where you find people through VRC itself
- self-hosting it yourself is a pain in the ass. I have attempted to port the deployment process to pyinfra, and failed miserably, not even my pyinfra script for pleroma is that complicated. there's a lot of depedency on deploying it on the cloud
- Musings of a new Social VR platform, I say: "that MUST be able to be run on a SINGLE SMALL SERVER."
- single binary deployment would be the best way to pull this off
- ChilloutVR