VRChat Creator Companion (VCC) Documentation
website·Indexed 31 days ago
https://docs.vrczh.orgTechnical documentation for VRChat content creation tools, including the VRChat Creator Companion (VCC), VRChat Package Manager (VPM), UdonSharp (including version 0.18.0 and 1.0+), and ClientSim. Covers SDK migration, Unity project upgrades, OSC resources, editor scripting, and the VRChat API.
What's inside VRChat Creator Companion
- VRChat supports receiving eye tracking and eyelid data via OSC. This is an advanced feature and is not plug-and-play; users must use a program (either from a hardware manufacturer or the community) to transmit this data to VRChat. OSC addresses are case-sensitive. If no data is received for 10 seconds, eye tracking behavior reverts to default (auto-look/auto-blink).
Overview of the VRChat Creator Companion (VCC)
The VRChat Creator Companion (VCC) is a standalone application that serves as the entry point for creating content in VRChat. It provides tools to install the correct Unity version, create and manage projects (including migration, package updates, and backups), and explore the VRChat content creation ecosystem. Much of its project management functionality is powered by the embedded VPM library.Overview of Player Avatar Scaling modes
Avatar scaling in VRChat operates in two modes, which can be adjusted on a per-player basis. Note that scaling an avatar does not affect its collision with the environment.
- Player-Controlled Mode (Default): Players use a radial puppet in their action menu or a 'Match Eye Height' button in the quick menu to adjust their own height.
- World-Authoritative Mode: Player-controlled menus are disabled, and heights can only be set by an Udon program.
Both modes trigger the
OnAvatarChangedandOnAvatarEyeHeightChangedevents when changes occur.Overview of VRChat Avatar Contact Triggers
Contact triggers are interaction components provided by the Avatar SDK used to drive animator parameters. They are split into two roles: Senders (VRCContactSender) and Receivers (VRCContactReceiver). Senders exist to be detected, while Receivers detect Senders and update values in the animator's parameter table. For performance reasons, there is typically a limit of 256 triggers per avatar model.Overview of Udon Data Lists
Data Lists are containers that store Data Tokens by index, functioning similarly to C# Lists. Most Data List functions act as wrappers for the underlying C# list implementation. For network synchronization, the recommended method is to serialize and deserialize Data Lists to/from JSON strings using VRCJSON.Overview of VRChat Creator Companion (VCC)
The VRChat Creator Companion (VCC) is a tool designed for creating VRChat content. It integrates the VRChat Package Manager (VPM) and provides access to official packages, community packages, learning resources, and other development tools.Overview of VRChat World Creation
In VRChat, users can browse and create custom worlds powered by the Udon programming language. New creators can find a getting started guide on the 'Creating Your First World' page.Overview of Udon Data Dictionaries
Data Dictionaries store Data Tokens as key-value pairs, functioning similarly to C# Dictionaries. Both keys and values are Data Tokens, allowing for flexible key types. However, if the dictionary needs to be serialized to VRCJSON, only string keys are supported.Overview of Udon Data Containers
Data Containers in Udon are used to store and organize data in formats similar to C# Lists and Dictionaries. They support three primary structures:
- Data Token: Stores a single variable. To support nesting, a Data Token can also store an entire DataDictionary or DataList.
- Data List: An ordered collection of data.
- Data Dictionary: A collection of key-value pairs.
These containers can be used in conjunction with VRCJSON to convert data between these internal structures and standard JSON formats, which is useful for handling data from external sources such as Remote String Loading.
Overview of VRChat Package Manager (VPM)
The VRChat Package Manager (VPM) is a core feature of the VRChat Creator Companion (VCC). It is used to keep the VRChat SDK and related packages updated and to streamline the creation and management of VRChat Unity projects.Overview of UdonSharp C# compiler
UdonSharp is a compiler that allows developers to write C# code which is then compiled into Udon assembly for VRChat. It is not fully conformant to the C# language specification, meaning some language features are unsupported.Overview of Data Tokens in Udon
Data Tokens are individual units used to store a single variable. They are the primary building blocks for Data Dictionaries and Data Lists. A Data Token can hold one of the following types:
- Primitives: Null, Boolean, SByte, Byte, Short, UShort, Int, UInt, Long, ULong, Float, Double, String.
- Containers: Data Lists and Data Dictionaries (which store other Data Tokens).
- Special: Object Reference (supports boxing for any type, but is not serializable) and Data Errors (an enum indicating failure states).