VRChat

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    

Avatar Particle System Limits

A description of the limits placed on particle systems on avatars

To prevent abuse and heavy particle use affecting performance, Particle Systems can be limited when used on avatars. Here are the limits we recommend as of June 19, 2018.

Please note that the limiter will prevent any particles from colliding with PlayerLocal. There is no setting to disable this without disabling the limiter.

This feature is in beta. This feature may be changed, modified, or removed with future releases.

We encourage users to experiment with these settings to find and share setups that allow legitimate uses of particle systems, but stop systems that cause performance issues or crash the application.

Default Particle Limiter Setup

{
	"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
}

Particle Limiter Configuration Description

Value Name
Description

betas

Adding or removing the string "particle_system_limiter" will enable/disable the Limiter system

ps_max_particles

Max particles a single particle system can spawn

ps_max_emission

Max emission a single particle system is allowed

ps_max_total_emission

Max emission allowed between all particle systems on an avatar

ps_mesh_particle_divider

The mesh particle penalty is calculated using the highest poly mesh on them divided by this value, the resulting value divides the max particle allowance for the particle system

ps_mesh_particle_poly_limit

The max poly count a mesh on a particle system can be

ps_collision_penalty_high

The penalty for high quality collision on a particle system, the resulting value divides the max particle allowance for the particle system

ps_collision_penalty_med

The penalty for medium quality collision on a particle system, the resulting value divides the max particle allowance for the particle system

ps_collision_penalty_low

The penalty for low quality collision on a particle system, the resulting value divides the max particle allowance for the particle system

ps_trails_penalty

The penalty for having trails enabled on the particle system, the resulting value divides the max particle allowance for the particle system

Modifying the VRChat Particle Limiter Configuration

If you prefer, you can change the particle limiter system for your own local view. Changing these settings from the default is only recommended for advanced users.

Editing these values will require an application restart before they take effect.

You can override all settings or disable the Limiter system completely by adding a file into the following directory:

%AppData%\..\LocalLow\VRChat\vrchat

Name the file as such:

config.json

Ensure that the file extension is json, and not txt. It is best to edit the configuration file with an editor like Notepad++.

Copy and paste the contents of the default configuration at the top of this page into your file, and then edit it to your whims! You could, for example, increase ps_max_particles to allow more particles per individual system, or remove the string "particle_system_limiter" from the beta section to disable the system entirely without deleting the file.

Pre-filled Default Configuration File

You can also download a file pre-filled with the default configuration here. If the file displays rather than downloads when you click it, right click the link, click Save As, and download it. You must rename the file to config.json. Place the file into the directory specified above (%AppData%\..\LocalLow\VRChat\vrchat), and you'll be good to go. Remember, the file must be named config.json precisely.

Enabling the Particle System Limiter - Video

Pending re-recording.