unity VRCHAT notes on VRCHAT https://docs.vrchat.com/docs/vrcworld http://vrchat.wikidot.com/ # features - Worlds are room that you can join. Each room can have multiple instances running. - You can keep a world private and beeing invited by the owner in it. - Avatar are compatible with unity's Avatar system. Any rig compatible with Mixamo will work on VRC. - Worlds and avatars are two seperate entities that use a specific SDK for each. I suggest creating 2 seperated unity project for worlds & avatars. # setup - install unity u2018.4.20f1 ( https://docs.vrchat.com/docs/current-unity-version ) - setup unity for quest ( https://docs.vrchat.com/docs/setting-up-unity-for-creating-quest-content ) - download SDKs for worlds &| avatars ( https://vrchat.com/home/download ) - install VRchat on steam (+create account) - VRChat Exemples / Prefabs / VRCWorld # accounts You need to pay the premium subscription (once ?) to have a "trust level" high enought for having the rights to publish world&avatars https://docs.vrchat.com/docs/vrchat-safety-and-trust-system # Limitations https://uploadvr.com/vrchat-quest-limitations-details/ https://docs.vrchat.com/docs/quest-content-optimization # USharp https://github.com/MerlinVR/UdonSharp Is a great tool to convert C# to UdonGraph. ## Limitations /! Important note : no a lot of C# tools are available (as of 2021-06-18) to be used and converted. - no inheritance - no complexe type - no enums - no custom types - and many more ... but you'll have a feedback after compilation if it's implemented ## Network syncing Here is an example on how to sync a variable between clients. // [UdonSynced] int state = -1; int _state = -1; public int getState() => state; public void setNewState(int newState) { state = newState; if (Networking.IsOwner(Networking.LocalPlayer, gameObject)) checkBuffer(); } public override void OnDeserialization() => checkBuffer(); // other clients void checkBuffer() { if (state != _state) { _state = state; apply(state); } } // ## Tutorials - See Vowgan works with UdonSharp for 3h : https://www.youtube.com/watch?v=E2rnNiLeJiA&t=1797s - Buttons : https://www.youtube.com/watch?v=ibDu0dCeUE8 - Network sync : https://youtu.be/E2rnNiLeJiA?t=572