Getting Started

Unity Editor

New Project

Upgrading a Legacy SDK Project

Upgrading a New SDK Project

SDK Setup

Build Your First World

Trigger System

The trigger system consists of a single script, the VRC_Trigger component, which allows users to set a Trigger and an Action. All available triggers and actions are shown to the user in a drop down list and parameters for the trigger or action are exposed to the user on a contextual basis.

Triggers

OnEnable

PnPickup

OnDrop

OnPickupUseDown

OnPickupUseUp

OnEnterTrigger

OnExitTrigger

OnEnterCollider

OnExitCollider

OnInteract

OnKeyDown

OnKeyUp

OnTimer

OnNetworkReady

OnPlayerJoined

OnPlayerLeft

OnSpawn

Relay

OnDataStorageChange

Actions

SetGameObjectActive

SetMeshVisibility

AnimationBool

AnimationFloat

AnimationTrigger

AudioTrigger

PlayAnimation

SetParticlePlaying

TeleportPlayer

SetWebPanelURI

SetWebPanelVolume

SendRPC

ActivateCustomTrigger

DestroyObject

SetLayer

SetMaterial

AddDamage

AddHealth

Prebuilt Prefabs

VRCAvatarPedestal

VRCChair

VRCMirror

VRCPanorama

VRCPortalMarker

VRCWorld

VRCYoutube

Individual SDK Scripts

Some of these scripts are for internal use only, others are for sdk users to add functionality into their worlds and avatars.

Avatar

VRC_AvatarDescriptor

VRC_KeyEvents

VRC_PhysicsRoot

VRC_PlayerApi

Combat

VRC_CombatSystem

VRC_Destructible

VRC_DestructibleStandard

Props

VRC_AddDamage (deprecated)

VRC_AddHealth (deprecated)

VRC_AvatarPedestal

VRC_GunStats (deprecated)

VRC_Jukebox (deprecated)

VRC_ObjectApi (deprecated)

VRC_ObjectSpawn

VRC_ObjectSync

VRC_Pickup

VRC_PortalMarker

VRC_PropApi (deprecated)

VRC_PropController (deprecated)

VRC_SlideShow (deprecated)

VRC_StationInput

VRC_SyncAnimation

VRC_YoutubeSync

Scenes

VRC_LightmapReference

VRC_Panorama

VRC_PlayerMods

VRC_ReflectionReference

VRC_SceneDescriptor

VRC_SceneResetPosition

VRC_SceneSmoothShift

VRC_SpecialLayer (deprecated)

VRC_StaticReferece

VRC_Station

VRC_StationApi

VRC_StereoObject

VRC_TimeEvents (deprecated)

VRC_Trigger

VRC_TriggerColliderEventTrigger (deprecated)

VRC_UseEvents (deprecated)

VRC_WebPanel

UI

VRC_UiShape

Custom Scripting System (CSS)

The custom scripting system allows users to write arbitrary scripts to use in their worlds.

Testing and Publishing Content

Avatars

To test or publish a custom avatar, a user must build and publish their avatar. The avatar will then be published to the user’s account. To update the avatar, the user must upload over (update) the published avatar. Updating an avatar will automatically occur if the avatar’s VRC_AvatarDescriptor has an avatar ID associated with it.

Worlds

To test a custom world, a user can build and test locally, without uploading anything. To make their world accessible in the VRChat app, users must publish their custom world. Public worlds will show up on public VRChat world lists, private worlds will only be accessible to the uploader and friends that the uploader has granted permission to. To update the world, the user must upload over (update) the published world. Updating a world will automatically occur if the world’s  VRC_SceneDescriptor has an world ID associated with it.

Managing Content and Deleting Worlds/Avatars

A user’s uploaded avatars and worlds can be seen via the Content Management window, available in the VRChat SDK. Here, users can browse all of their uploaded content, find content ids (useful for updating worlds or putting world ids in portals) and delete uploaded content.