The VRChat Documentation Hub

Welcome to the VRChat Documentation hub. You'll find comprehensive guides and documentation to help you start working with VRChat as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Configuration File

There are a few systems in VRChat that have configurable options or properties. These systems aren't customized with settings you can set in the application, as the default settings are sufficient for the vast majority of VRChat players.

However, we have provided a way for you to customize some of these values in case you want to change how they work!

Configuration File Location

The configuration file is stored in %AppData%\..\LocalLow\VRChat\vrchat. The file must be named config.json and must consist of a valid JSON structure.

📘

PC-Only Feature

These settings can only be adjusted on PC. They cannot be changed on Quest.

An example configuration file might look like this:

{
    "betas": [
        "particle_system_limiter"
    ],
    "ps_max_particles": 50000,
    "ps_max_systems": 200,
    "ps_max_emission": 5000,
    "ps_max_total_emission": 40000,
    "ps_mesh_particle_divider": 60,
    "ps_mesh_particle_poly_limit": 50000,
    "ps_collision_penalty_high": 50,
    "ps_collision_penalty_med": 30,
    "ps_collision_penalty_low": 10,
    "ps_trails_penalty": 10,
    "dynamic_bone_max_affected_transform_count" : 32,
    "dynamic_bone_max_collider_check_count" : 8,
    "cache_directory" : "C:/VRCCache/"
}

Not all of the available properties are listed above. These properties will be described below.

Configuration File Uses

The configuration file may be used to customize several systems in VRChat.

Rich Presence

You can disable the Discord and Steam Rich Presence functionality by adding this value to your configuration file.

Property Name

Purpose

Valid Values

disableRichPresence

Disables the Steam and Discord Rich Presence integration.

Bool, true or false

Cache Settings

Location

Normally, VRChat stores its cache in %AppData%\..\LocalLow\VRChat\vrchat in several sub-folders. This is the location that Microsoft Windows expects temporary program files to be stored, but advanced users may wish to move this cache in case of smaller OS drives or some other reason.

Property Name

Purpose

Valid Values

cache_directory

Defines the location where VRChat should store its cache data.

Any valid path. Do not use \ as a path symbol-- this indicates an escape symbol in JSON. Use \\ or / instead.

The config file and output logs will still be present in the default location, but all cache will be stored in the defined directory by this property.

When this value is not present, the default value of %AppData%\..\LocalLow\VRChat\vrchat is used.

Size and Expiry Time

By default, the cache will limit itself to 20 gigabytes in size. It may drift slightly above or below this value depending on the size of the assets present in the cache. Files will be removed based on how long it has been since that file has been accessed. If a file has not been accessed in 30 days, it will be removed.

You can adjust both of these settings using the following configuration options. Please note that the values cannot be adjusted below their default values.

Property Name

Purpose

Valid Values

cache_size

Maximum size, in gigabytes, of the cache

Greater than or equal to 20

cache_expiry_delay

Maximum age, in days, of files in the cache

Greater than or equal to 30

To prevent abuse and heavy particle use affecting performance, Particle Systems can be limited when used on avatars. Click the section header to see the documentation page describing this system.

Dynamic Bone is a very performance-heavy component, and it is easy for an avatar creator to overuse the component. VRChat has provided a method by which users can limit the number of Dynamic Bones permitted on avatars. Click the section header to see the documentation page describing this system.

Camera and Screenshot Settings

You can adjust the resolution of your camera's images and screenshot settings with some configuration options. The minimum resolution is 1280x720 pixels, and the maximum resolution is 3840x2160 pixels.

Property Name

Purpose

Valid Values

camera_res_height

Adjusts the height of images taken with the VR camera.

720 to 2160

camera_res_width

Adjusts the width of images taken with the VR camera.

1280 to 3840

screenshot_res_height

Adjusts the height of images taken with the F12 key.

720 to 2160

screenshot_res_width

Adjusts the width of images taken with the F12 key.

1280 to 3840

First-Person Steadycam FOV

In addition, you can adjust the field of vision for the first-person Steadycam option, which is available in the Camera menu when you're in VR. This will allow you to increase the field of vision when using this option, letting your stream viewers have a better view of the action while preventing jerky movement.

Property Name

Purpose

Valid Values

fpv_steadycam_fov

Adjusts the field of view of the first person view steadycam. The value represents the vertical FOV.

Most HMDs have a default value of 50-55. If you're looking to visibly increase this FOV for your viewers, try values of 65-70. Keep in mind this can be highly subjective!

30 to 110

Updated about a month ago


Configuration File


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.