VRChat has two SDKs (Software Development Kits) available. These kits are packages that you import into the Unity Editor and assist with the creation of content for VRChat. They are required to upload content to VRChat.
This page will help you choose the correct version for your use case.
If you have VRCSDK2 content and want to move it to VRCSDK3 (or vice versa), it is best if you start from "scratch." You should import your assets into a new project and then re-add all of the VRChat functionality. SDK components will not migrate.
VRCSDK3 is not a direct upgrade-- VRChat SDK3 is a brand new SDK.
Don't Cross the Streams!
Do NOT import VRCSDK3 and VRCSDK2 into the same project! They are not compatible and your project will become broken or produce unexpected results.
Our newest SDK is VRChat SDK3. It comes in two "flavors"-- one for Avatars, and one for Worlds.
The VRCSDK3-Avatars package comes with Avatars 3.0, the latest avatar framework we offer for creation of both basic and advanced avatars with full customization. Check out Avatars 3.0 to learn more.
VRCSDK3-Worlds comes pre-packaged with VRChat Udon for programming advanced actions. To learn more about Udon, check out our Udon section in this documentation.
You may import both into the same project, but we don't recommend doing so.
You should use VRCSDK3 if you are creating new worlds and would like to use Udon, or if you'd like to create avatars with our Avatars 3.0 system.
VRChat SDK2 (VRCSDK2) is our legacy SDK. SDK2 utilizes Actions and Triggers for programming behavior in worlds.
You should VRCSDK2 if:
- You are maintaining older "Avatars 2.0" avatars, or
- You are maintaining a world that uses Triggers and Actions
VRCSDK2 is considered deprecated for creation. It will not receive most/any of the new features available in VRCSDK3-Worlds or VRCSDK3-Avatars. It will still receive important security and maintenance patches.
Note: You may see other content creators or documentation refer to the VRChat SDK used in VRChat 2019.3.2p3 and below as "VRCSDK2." This previous version was labeled "VRCSDK", but it was indeed VRCSDK2. Now it is labeled as such. This is why migrating old Unity 2017 projects to VRCSDK2 works. Migrating to VRCSDK3 is not supported. See above.
Updated about a month ago