Hey everyone! I thought I’d create a little write up of the pros and cons of developing for VRChat, since there are some idiosyncrasies that can turn off some developers, and I’d rather we go in knowing what to expect then be blindsided by certain weird things. I’ll start with the Pros though, since there are quite a few, and they’re pretty big.
Pro 1: Easy set up
Not much to write here, but just click on these words to see my quick guide on getting set up and you’ll see how easy it is.
Pro 2: Networking Done Simple
A lot of the networking functionality is handled using specific keywords like UdonSynced or Synced and the default networking methods are generally shared between Udon and PUN (methods like OnPlayerJoined or OnPlayerLeft), so if you have any familiarity with PUN, coding in VRChat and Udon should be easy to translate.
Pro 3: Free Web Hosting
VRChat doesn’t provide a hard limit on the amount of worlds you can host on their site, and they don’t offer an expiration time for the world, and I haven’t had a chance to test the theoretical limits, but I will update this part if I ever reach that limit. Even if there is a limit though, it’s free, so you can’t really beat that.
Pro 4: Default Avatar System
Don’t have time to create custom avatars for your characters in your world? VRChat has you covered, and the avatars are player controlled but synced over network, so you don’t have to worry about someone looking like one thing on their own instance of the world, but different to everyone else.
Pro 5: Updating is Super Easy
Seriously, you just update the scene in Unity, then re-upload the world. As long as everything compiles, you’re good to go.
Alright so those are the major pros… Kinda, there’s one more thing I want to talk about, that has a ton of pros and cons on its own, and may deserve its own post, but in the meantime I’m going to call it a pro and a con, and that’s Udon.
Pro/Con: Udon
Alright so to code logic in your scene you’re gonna have to use Udon, which is VRChat’s programming language, that kinda functions as an extension of C#, so if you’re familiar with C#, you should be good. Which is a nice pro, but it’s a visual programming language. I’m not a fan of visual or node based programming languages, hell I’m just not a visual coder. Some people are though, so who knows? That may be a pro for you. If not, you can download another API called UdonSharp, which will require its own post, but can provide a decent workaround to using Udon. So Udon is what allows a lot of the robust functionality of VRChat, but its dense with content and can be a lot of unpack if you’re not a visual coder.
Con 1: Documentation
I’ve posted ways to get documentation and tutorials for Udon a couple of times, but I gotta be honest, the official documentation site is kinda trash. They haven’t removed a lot of the deprecated information for the SDK that came before this, which wouldn’t be a big deal, except they didn’t use Udon in the last SDK, so there’s not a lot of good info about Udon on it. Instead, head to the forums. There’s a lot of good info there. Granted, it comes with its own issues (search functionality and dead threads), but you have a way higher chance of finding what you’re looking for there.
Con 2: Unity 2018.4.20
This is a tough one to fully break down as there are a lot of minor changes between 2018 and the current version of Unity, but the SDK only works with 2018. I’ll say the biggest issue for me is the loss of the ability to natively edit a root prefab and have the changes applied properly to the rest of the objects in the scene, but that’s just because I mess around a lot with object functionality. You may have entirely different issues that can’t be solved with an update because you can’t update from 2018.
Con 3: Udon is new, like, really new
So this ties in with the first real con but Udon is in an Alpha state. And this is freely admitted by the VRChat team. There’s nothing really wrong with being new, I like new things, they’re fun an exciting, but the biggest issue I see is that new things tend to change. This is especially true with software, so if you’re going to be using VRChat and Udon it’s recommended you keep a finger on VRChat’s pulse, because you never know when they’ll drop an update for Udon and it’ll break everything you’ve been working on. Granted, no change that major should occur, but tech moves fast, so you never know.
Leave a Reply