Skip to content
milkydelta edited this page Jul 30, 2026 · 5 revisions

Here are explanations of all config values

BepInEx and MelonLoader split their configuration files into categories. The other loaders do not.

Resolution

[X/Y]

Internal BepInEx BSIPA OWML Melon
ResX X ResolutionX X X
ResY Y ResolutionY Y Y

At what resolution should we render and send the scene?

  • Type: int
  • Default Value: [1920/1080]

Render Passes

Render[BG/FG/OP]

Internal BepInEx BSIPA OWML Melon
RenderBG RenderBackground ShouldRenderBG Render Background RenderBG
RenderFG RenderForeground ShouldRenderFG Render Foreground RenderFG
RenderOP RenderOptimised ShouldRenderOptimised Render Optimised RenderOP

Should we render this pass?

  • Type: bool
  • Default Value:
    • BSIPA,Melon: [true/true/true]
    • Other: [true/true/false]

SpoutSend[BG/FG/OP]

Internal BepInEx BSIPA OWML Melon
SpoutSendBG SendBackground ShouldSendBG Send Background SendBG
SpoutSendFG SendForeground ShouldSendFG Send Foreground SendFG
SpoutSendOP SendOptimised ShouldSendOptimised Send Optimised SendOP

Should this pass have an active spout sender?

  • Type: bool
  • Default Value:
    • BSIPA,Melon: [true/true/true]
    • Other: [true/true/false]

BlankSpoutSenders

Internal BepInEx BSIPA OWML Melon
BlankSpoutSenders BlankSenders​OnRenderDispose BlankSpout​OnRenderDispose Blank Spout on Scene Change BlankSenders​OnDispose

The class used for rendering implements IDisposable, and can be disposed at any point during the game. This is most commonly seen when a scene unloads. In the time before the new class loads, the spout feeds appear frozen. This setting mitigates that by drawing a fully blank (RGBA 0 0 0 0) texture to the open feeds.

  • Type: bool
  • Default Value:
    • BSIPA,OWML: false
    • Other: true

LayerMask[ /FG/OP]

Internal BepInEx BSIPA OWML Melon
LayerMask LayerMaskString LayerMaskString Layer Mask LayerMask
LayerMaskFG LayerMaskFG LayerMaskFG Layer Mask (FG) LayerMaskFG
LayerMaskOP LayerMaskOP LayerMaskOP Layer Mask (Op) LayerMaskOP

Overrides the culling mask of the camera for a given render pass. This is a 32-bit base 2 integer as a string, which is used for a bitmask.

  • Type: string
  • Length: 0 || 32
  • Accepted Characters: '0' || '1'
  • Default Value: "00000000000000000000000000000000"

Clip Planes

GroundPlaneOn

Internal BepInEx BSIPA OWML Melon
GroundPlaneOn GroundEnabled GroundClip​PlaneEnabled Ground Plane GroundPlaneOn

Enables a second clip plane that is aligned to the playspace floor, so that the in-game ground does not appear in the foreground texture. That's desirable because the floor might otherwise appear in front of your feet.

  • Type: bool
  • Default Value: true

GroundPlaneHeight

Internal BepInEx BSIPA OWML Melon
GroundPlaneHeight GroundElevation GroundClip​PlaneElevation Ground Plane Elevation GroundPlaneHeight

How high up is that second plane? Default is 1cm to avoid Z-fighting.

  • Type: float
  • Default Value: 0.01

VerticalClipPlane

Internal BepInEx BSIPA OWML Melon
VerticalClipPlane ClipShould​BeVertical ClipPlaneShould​BeVertical Vertical Clip Plane VerticalClipPlane
clip

Constrains the primary clip plane to be vertical relative to the playspace. This is achieved by setting the Y component of the look vector to 0 before normalisation.

  • Type: bool
  • Default Value:
    • OWML: false
    • Other: true

FarClip

Internal BepInEx BSIPA OWML Melon
FarClip CameraFarClip CameraFarClip Far Clip Distance FarClip

Sets the far clip distance of the spectator camera. Objects beyond this distance will not render.

  • Type: float
  • Default Value:
    • BSIPA: 5000
    • Other: 1000

ClipBehaviour

Internal BepInEx BSIPA OWML Melon
ClipBehaviour ClipBehaviour ClipPlaneBehaviour Clip Plane Behaviour ClipBehaviour

Uhhhhh.... On OWML, "Simple" means 0, and "Distance-based" means 1

  • Type: int
  • Default Value:
    • Melon: 1
    • Other: 0

OAT_MMF_Data

ProtoMinorVer

Internal BepInEx BSIPA OWML Melon
ProtoMinorVer Protocol​MinorVersion MMFProtocol​MinorVersion LIVnyan Protocol Version Protocol​MinorVersion

Adjusts the name of the MMF and determines how/what data is read. A value of 0 is compatible with VRnyan v1.2. A value of 1 is compatible with VRnyan v1.3a2 and beyond.

  • Type: ushort
  • Default Value: 1

ReadResFromShm

Internal BepInEx BSIPA OWML Melon
ReadResFromShm Read​WindowResolution ShouldRead​Resolution​FromMMF Read Resolution from MMF ReadRes

Should we read the render resolution from shared memory? This allows OnAirTap to react to VNyan resizing.

Only useful on ProtocolMinorVer >= 1. If the read resolution is invalid, we default back to the values set above.

  • Type: bool
  • Default Value: false

ReadClipFromShm

Internal BepInEx BSIPA OWML Melon
ReadClipFromShm ReadClipPlane​Location ShouldRead​TrackerFromMMF Read Clip Location from MMF ReadClip

By default, the foreground clip plane always intersects the location of your HMD. This setting allows VRnyan to send an alternate target location to OnAirTap, such as your model's hips.

Only useful on ProtocolMinorVer >= 1. Ignored if corresponding flag is not set in MMF.

  • Type: bool
  • Default Value:
    • Melon: true
    • Other: false

Clone this wiki locally