Polygonal Mind
  • Home
  • SERVICES
  • Projects
  • Decentraland
  • Blog
  • Assets
  • / CryptoAvatars

Blog

Worlds in VRChat, uploading and doing cross-platform environments.

7/2/2020

0 Comments

 
Upload worlds to vrchat cross platform
The Mission

Uploading something to VRChat is extremely easy and it has made a new dawn for community content as the Unity Engine has a flexible editor that can help you create amazing worlds where to hang out with your friends.
​
Creating content is good, but better is to do it in a way that everyone can enjoy it!
Resources

  • Unity 2018.4.20f1
    • Android SDK installed
  • VRChat SDK
    • VRCSDK2 for Legacy Worlds and Avatars
    • VRCSDK3 for Udon Worlds (alpha)
  • Photoshop
Creators that think about optimization and user experience are cool meme
Before doing anything, let's keep some important stuff in mind:

Of course, first of all you need to have the SDK imported into the project in order to upload your content. Never mix the SDK2 or SDK3 in the same project, do clean uninstalls of the sdk prior to uploading or migrating the projects as it can corrupt your data. Currently (22/June/20) the most stable SDK is the VRCSDK2 as it contains the legacy inputs and triggers for worlds.
​
As the official page says: "Choose wisely."
vrchat choose your sdk wisely
https://docs.vrchat.com/docs/choosing-your-sdk
Worlds with cross-platform support share the same "seed" or "world-id" provided by VRChat once you upload the world for the first time. There is no real limitation for the PC version more than having a thought on lower pc machines and not to overload the scene with RT events or graphics that require real-time processing.

To start the port to the Quest version, first of all duplicate the project as a way of back up and also to make the convenient tweaks you think you have to do to match the hardware limitations of the platform. The Unity profiles is a great help to know what is loading and how much is taking to render each frame of the camera.


As a creator, you should keep an eye on the performance of your world:
  • Tweak and polish performance, learn to know how the Unity Engine behaves itself with the data you are giving:
    • "Static" gameObjects in scene help Unity improve framerate by freezing their render batching.
    • Use the less shader passes as possible. (Keep transparency usage low)
    • Bake lights and avoid real-time lighting for Quest
    • Use only one Directional Light in mixed mode to fake normals into bakes and to give Avatars detail and light direction (as it was a "sun" light).
 
  • Set up an Occlusion Culling matrix and optimize it to make the engine only render what it has to be visible on screen.
​
  • Keep the collision complexity as simple as possible, avoid using mesh colliders and instead recreate your scene with box colliders or other primitive shapes that grant fast-loading and good player interaction with it.


For the Quest version (which is the version that is going to run on an Android platform with graphical limitations), keep in mind the following hard specifications:
  • Keep the build file around 30 mb. All worlds that exceed 50 mb won't run on Quest.
 
  • Texture size space should be kept the lower the better, pack atlas and keep it as a square 1024px texture when possible as they are read faster than higher texture sizes.
​
  • Keep the material list low.
Useful links:
https://docs.vrchat.com/docs/quest-content-optimization
https://docs.unity3d.com/Manual/LightMode-Mixed.html
https://docs.vrchat.com/docs/submitting-a-world-to-be-made-public
https://docs.unity3d.com/Manual/OcclusionCulling.html
https://docs.vrchat.com/docs/setting-up-the-sdk
Prepare Unity to be able to upload scenes to VRChat

Once you have created and optimized the scene for your first time upload (PC build), just click the Show Control Panel button to do all the work to test and upload.

This window will ask you for an account in order to start working, log in and you will be granted access to upload your content.

The tab "Builder" is going to be your bestie during the upload and preparing the scene, this tab will tell you whatever is wrong with your world and will give you instructions to avoid errors.

The first thing it will tell you is that you dont have a scene descriptor. Scene descriptors are gameObjects placed once in the scene as "directors" and managers of the scene content and the rest of gameObjects. They state general behaviours and manage the spawns of players.
​
Create an Empty gameObject on your scene, call it Descriptor and add the Component VRC_Scene_Descriptor to it. Then create another Empty Object, call it Spawn and make it son of the Descriptor. You can place more spawn points and add them to the array list. The gameObjects work as a transform point to place the player when entering the scene.
Picture
Picture
vrchat sdk show control panel
vrchat unity sdk builder screenshot
A common developer screenshot of the builder
Picture
You can customize the orientation of the player spawn, by default is the Z-Axis (blue) in charge of the forward direction.
Picture
Once you have this basic setup, you now can press the big button and upload your content for the first time!
Configure vrchat world 100 avatars
Once the SDK packages all your data and makes it ready to upload, prior to start it will ask you to put the name and other descriptions to your world (Unity will go play mode). Do a thumbnail, state tags or mark specific content and check the box prior to upload.
If you want your World to be public you must have at least "Known User" to be able to send it to Community Labs and let VRChat review if your World is good to be Public.
My PC build is live, what now?

Next steps are important, first of all duplicate your project, this way one project (development ended) will be the PC version and the other will be the Quest/Android version. I usually make use of the PC version as the master and the Quest version a semi-automatic downgrade.
Picture
Once duplicated, open the project with Unity. We are going to need the project in Android, once its open, go to File > Build Settings. You will see a list of diferent platforms to build your project with. Click on the Android platform and next click "Switch Platform".
Unity build settings android
Click on Switch Platform and wait until the process ends. It may take some time, depending on the size of your project. Once ended the platform switch, the Unity environment will be set with Android.

With the change of environment, you will no longer be able to do local tests so keep in mind to do "core" stuff on the pc build prior to duplicate the project. Use this project as a downgrade on texture sizing, high level compression and low-near-zero dynamic or real-time events being displayed on screen. With the same scene, the descriptor will be mantaining its World ID and with the upload the World will be updated with Quest support.
​
During the upload keep all info input the same as the PC version: name, tag, description...
Useful links:
https://docs.unity3d.com/530/Documentation/Manual/android-sdksetup.html
https://docs.vrchat.com/docs/cross-platform-setup
That's it, we hope to see your amazing world over VRChat!

Picture
Alejandro Peño
TECHNICAL ARTIST
Videogame and animation enthusiast. I aspire to become a great videogame artist and developer, providing enriching experiences for those who share my passion.
Linkedin
Picture
Kourtin
ENVIRONMENT ARTIST
I purr when you're not looking. I'm passionate about environments and all the techie stuff to make them look rad. Learning and improving everyday to be a better hooman.
Twitter
0 Comments



Leave a Reply.

    Categories

    All
    Decentraland
    Decentraland En Español
    Maya
    Mixamo
    Morphite
    Substance Painter
    Totally Reliable Delivery Service
    Unity 3D
    Updates
    VRChat

    Archives

    December 2020
    October 2020
    August 2020
    July 2020
    June 2020
    May 2020
    April 2020
    March 2020
    February 2020
    December 2019
    October 2019
    September 2019
    August 2019
    June 2019
    May 2019
    February 2019
    January 2019
    December 2018
    November 2018
    October 2018
    September 2016

    Picture
Home
Projects
Assets

Picture
Crypto
Friendly
Picture

Subscribe to get some 💚 in your inbox once in a while.

Follow us and your visit will never be forgotten!
Picture
Picture
Picture

 © 2015-2020 POLYGONAL MIND LTD. ALL RIGHTS RESERVED.
  • Home
  • SERVICES
  • Projects
  • Decentraland
  • Blog
  • Assets
  • / CryptoAvatars