Launch Options

📘

Advanced Options

These options are more advanced and designed to help creators debug issues with their creations.

There are several launch options available for VRChat.

Using Launch Options

Steam

If you are using Steam, you can set these easily in the Properties for VRChat, found by right-clicking on VRChat's entry in your game list. After clicking Properties, click on Set Launch Options, then put your desired launch options in.

Oculus PC / Meta Rift

If you are using Oculus PC, you must create a shortcut to the VRChat executable. After launching Oculus Home, launch this shortcut by clicking its icon. The Oculus launcher does not support launch options natively.

Oculus Quest

Oculus Quest does not support any of these launch options.

Launch Option List

Launch OptionDescription
--no-vrForces Desktop mode
--profile=XLaunches with a different user profile, where X is a number. 0 is the default profile
--fps=XOverrides the FPS cap to X instead of the default. On Desktop, 90 is the default. In VR, the headset's reported maximum refresh rate is the default.
--enable-debug-guiEnables debug menu shortcuts, see Keyboard and Mouse for shortcut keys
--enable-sdk-log-levelsEnables a large amount of additional logging.

Warning: Will cause your log to get VERY large!

Using this option may reduce performance due to the increased logging, don't leave it on!
--enable-udon-debug-loggingEnable Udon heap and stack dumps in the client. Usually only enabled in editor

Warning: May cause your log to get quite large in Udon worlds that are having issues!

Using this option may reduce performance due to the increased logging, don't leave it on!
--midi=deviceNameForces the MIDI drive to search for a connected MIDI device which contains the deviceName specified, including partial matches, case-insensitive
--watch-worldsWatches the location where the VRChat SDK builds worlds, and automatically joins any new local world created.
See Using Build & Test
--watch-avatarsWatches the location where the VRChat SDK builds test avatars, and if wearing a test avatar that's been updated automatically switches to the newer version.
--ignore-trackers=serial1,serial2Ignore tracking data from devices with the specified serial numbers. Comma delimited list.
--disable-hw-video-decodingForces video decoding to be done in software. Useful for 6000-series AMD Radeon GPUs, which often have video decoding related issues like crashes.

Warning: Using this option will utilize your CPU to decode video, which can impact your performance. Users also report that CPU decoding sometimes leads to video artifacting, brightness or contrast issues, or other display problems.

Most users do not need to use this feature.
--osc=inPort:outIP:outPortCustomize network settings for incoming/outgoing OSC messages.
Accepts the following 3 arguments:
- inPort: The port that the VRChat client should listen on for incoming OSC messages.
- outIP: The IP that outgoing OSC messages should be sent to.
- outPort: The port that outgoing OSC messages should be sent to.
--affinity=<ARG>Sets VRChat's thread affinity to the specified threads. <ARG> is a bitmask indicating which threads should be utilized for VRChat. For example, FFFF selects the first 16 threads, FF selects the first 8, and so on.

Do NOT use this feature unless you are using an AMD CPU that has issues arising from inter-CCX latency. If you misuse it, you will cause major performance issues for yourself.

Most users do not need to use this feature. It is left up to the user to determine if they should use this feature.See section below.

Utilities exist that can help work out what your bitmask string should be.

This launch option is most useful for AMD CPUs that benefit from limiting processes to certain threads to reduce on-die latency.

This is an advanced feature. Unless you know what you're doing and know you need this, you probably shouldn't use it!

Additional Notes

AMD Inter-CCX Latency and Core Affinity

📘

Thank you to "Fallen Ninja" on VRChat for writing up this advice! Please be aware that everything in the following section was contributed by a community member and has not been verified directly by the VRChat team.

If you have a multi-CCX AMD CPU (most 1000/2000/3000 series and some 5000/7000), use an --affinity launch option to only use the first CCX to reduce inter-core communication latency and get a decent FPS boost.

Look up your processor's "Core config" here. If the number before the x is not 1, your setup can likely benefit from affinity restriction. Notice the number after the x and look it up below for your ideal affinity string:

2: --affinity=F (but honestly I'd say get a better CPU, and with this few threads I'm not sure if setting affinity will help or hurt here since you'd be restricting to only two physical cores)
3: --affinity=3F
4: --affinity=FF
6: --affinity=FFF
8: --affinity=FFFF

There are a few edge-case exceptions at the budget level (plus this assumes you have not turned SMT off... if you have to ask, you haven't), but these exceptions will at worst make this solution less effective rather than actively harmful.

Resolution, Screen Choice, and native Unity Engine Launch Options

These launch options are built into the Unity engine and can be useful for some setups.

Launch OptionDescription
-screen-width NOverride the default screen width. This must be an integer from a supported resolution.
-screen-height NOverride the default screen height. This must be an integer from a supported resolution.
-screen-fullscreen NOverride the default full-screen state. This must be 0 or 1.
-monitor NRun Standalone Player on the specified monitor, indicated by a 1-based index number.

You can find these options here, under the "Unity Standalone Player command line arguments" section. That link also contains other launch options, but we do not recommend using them.

When you view that page, make sure you select the correct version of Unity using the selector in the top left.

Importantly, the force launch options will cause issues that prevent you from using VRChat. Don't use them.