Skip to content

ScreenFX Shader

MochiesCode edited this page Sep 29, 2026 · 1 revision

The ScreenFX Shader (Mochie/Screen FX) applies screen-space effects to the viewer's camera. Each effect fades in based on the viewer's distance from the object, inside a sphere or box falloff volume. That lets you build localized effect zones in worlds, or effects on avatars. A ready-made Screen FX prefab is in Assets/Mochie/Unity/Prefabs, alongside a Depth Light prefab, which is required for certain effects depth-based effects (Triplanar distortion, Depth of Field, Triplanar, Outline, Fog, and Depth Buffer).

πŸ“Œ Variants

Variant Description
Mochie/Screen FX General, Filtering, Shake, Distortion, Blur, Noise, and Audio Link.
Mochie/Screen FX X Adds Zoom, Image Overlay, Triplanar, Outline, Fog, and Misc.

Falloff Settings

Every effect section has these settings. They control how strongly the effect is applied based on where the viewer is relative to the object.

  • Use Global Falloff: When on, the effect uses the Global Falloff from the General section, so all effects fade in and out together. Turn it off to give this effect its own falloff volume with the settings below.
    • Shape: The shape of the volume the viewer has to be inside for the effect to appear.
      • Sphere: Based on straight-line distance from the object's position.
      • Box: A box that follows the object's position and rotation.
    • Min Range (Sphere): The distance from the object, in meters, inside which the effect is at full strength.
    • Max Range (Sphere): The distance from the object, in meters, where the effect has fully faded out. Between Min Range and Max Range, the effect smoothly fades.
    • Box Size (Box): The width, height, and depth of the box in meters, along the object's local axes.
    • Box Offset (Box): Moves the box away from the object's position, along the object's local axes.
    • Blend Distance (Box): How far inside the box's edges the effect fades in, in meters. At 0 the effect switches on and off instantly at the edge of the box.

General

  • Display Range Gizmos: Draws the Global Falloff volume in the Scene view (the min and max spheres, or the box and its blend area) so you can see where the effect will be active.
  • Render Queue: When the material draws relative to other objects. Screen effects usually need to render after everything they affect.
  • VRC Handheld Camera: Controls whether the effect shows up in VRChat's handheld camera.
    • Show in Camera: The effect appears in the camera as normal.
    • Hide in Camera: The effect is hidden from the camera, so photos and streams don't capture it.
    • Camera Only: The effect only appears in the camera, not in the player's own view.
  • Blending Mode: How the effect's result combines with what's already on screen.
    • Opaque: Replaces the screen with the processed image. Each effect's own falloff controls how strong it is.
    • Alpha: Blends the processed image over the screen using Opacity.
    • Premultiplied: Premultiplied alpha blending. The result is also faded by the global falloff.
    • Additive: Adds the processed image on top of the screen, brightening it.
    • Soft Additive: Like Additive, but brightens dark areas more than bright ones, so it's less likely to blow out to white.
    • Multiply: Multiplies the screen by the processed image, darkening it.
    • Multiply 2x: Multiplies the screen by double the processed image, which increases contrast: darker areas get darker and brighter areas get brighter.
  • Opacity (non-opaque modes): How strongly the result is blended over the screen.

Global Falloff

The default falloff volume, used by every effect that has Use Global Falloff enabled.

  • Shape: Sphere (distance from the object) or Box (a box following the object's position and rotation).
  • Min Range (Sphere): The distance from the object, in meters, inside which effects are at full strength.
  • Max Range (Sphere): The distance from the object, in meters, where effects have fully faded out.
  • Box Size (Box): The width, height, and depth of the box in meters, along the object's local axes.
  • Box Offset (Box): Moves the box away from the object's position, along the object's local axes.
  • Blend Distance (Box): How far inside the box's edges effects fade in, in meters. At 0, effects switch on and off at the edge.

Filtering

Color adjustments applied to the whole screen.

  • Opacity: How strongly the filtered colors replace the original screen. At 0 the filter has no effect.
  • Falloff settings.
  • Tint: A color multiplied over the screen.
  • Hue: Shifts every color around the color wheel. 0 and 1 are both the original colors. With Auto Hue Shift on, this becomes Shift Speed, which sets how fast the hue cycles.
  • Hue Mode: The method used to shift hue.
    • HSV: Standard hue shift.
    • Oklab: A more subtle, less saturated hue shift that better preserves perceived brightness.
  • Mono Tint: Forces all colors to the same hue (set by Hue), varying only in brightness and saturation. Useful for single-color looks like sepia or night vision.
  • Auto Hue Shift: Continuously cycles the hue over time.
  • RGB Multiplier: Multiplies the red, green, and blue channels separately, for example to boost one color or remove another.
  • Brightness: Multiplies the brightness of the screen. 1 is unchanged.
  • Contrast: Pushes colors away from (above 1) or toward (below 1) middle gray. 1 is unchanged, and 0 is flat gray.
  • HDR: Blends toward a gamma-decoded version of the screen, which darkens midtones and deepens the image for a punchier, high-contrast look. 0 is off.
  • Image Clamp: Limits the maximum brightness of the final image to the value set, which stops bright areas from blowing out.
  • Saturation: Overall color intensity. 0 is grayscale, 1 is unchanged, and higher values oversaturate.
  • Red Saturation, Green Saturation, and Blue Saturation: Saturation adjustments for each color channel individually, applied after the overall saturation.
  • Invert: Inverts all colors, like a photo negative.
  • Red Inversion, Green Inversion, and Blue Inversion: Invert individual color channels.

Shake

Shakes the view by offsetting the screen.

  • Mode:
    • Off: No shake.
    • Smooth: A smooth, rolling sway.
    • Coarse: The same motion as Smooth, but snapped to small steps so it moves in jerky jumps.
    • Noise: A random, erratic shake driven by a noise texture.
  • Falloff settings.
  • Amplitude: How far the screen moves when it shakes.
  • Speed X (Smooth and Coarse): How fast the screen shakes horizontally.
  • Speed Y (Smooth and Coarse): How fast the screen shakes vertically.
  • Noise Texture (Noise): The texture that drives the random movement. The red and green channels control horizontal and vertical offsets.
  • Speed (Noise): How fast the shake moves through the noise texture.

Distortion

Warps the screen using a normal map, like looking through rippled glass or heat haze.

  • Mode:
    • Off: No distortion.
    • Screenspace: The normal map is laid flat across the screen.
    • Triplanar: The normal map is projected onto the world geometry around a point, so the distortion sticks to surfaces instead of the screen. Requires the depth texture.
  • Falloff settings.
  • Normal Map: The texture that shapes the distortion, with tiling and offset.
  • Strength: How far the screen is pushed around by the normal map.
  • Speed: How fast the normal map scrolls, which animates the distortion.
  • Radius (Triplanar): How far from the center point, in meters, the distortion reaches.
  • Fade (Triplanar): How gradually the distortion fades out at the edge of the radius.
  • Player to Object (Triplanar): Where the center point is. 0 centers it on the viewer's camera, 1 on the object, and values in between blend between them.

Blur

  • Mode:
    • Off: No blur.
    • Pixel: A smooth, disc-shaped blur.
    • Dither: A grainy blur made by jittering the screen randomly per pixel.
    • Radial: A zoom blur that streaks outward from the center of the screen.
  • Sample Count (Pixel): How many samples the blur takes: 16, 22, 43, 71, or 136. More samples look smoother but cost more. High counts can be very laggy, so if your Strength is low, stay at or below 43.
  • Falloff settings.
  • Opacity: How strongly the blurred image replaces the original.
  • Strength: How blurry the image gets.
  • Sample Count (Radial): How many steps the radial blur takes. More steps give smoother streaks but cost more.
  • Radius (Radial): How quickly the blur builds up toward the edges of the screen. The center always stays sharp; higher values reduce the blur so more of the screen stays sharp.
  • Pixelation: Breaks the screen into large square pixels, like a low-resolution display.
  • Ripple Grid: Warps the screen with a fine, wavy grid pattern.
  • Depth of Field: Keeps a sphere of the world around a focus point sharp and blurs everything outside it. Requires the depth texture.
    • Radius: How far from the focus point, in meters, things stay sharp.
    • Fade: How gradually sharp areas transition into blur.
    • Player to Object: Where the focus point is. 0 is the viewer's camera, 1 is the object.
  • Y Axis Only (Pixel and Dither): Blurs only vertically.
  • Chrom. Abberation (Pixel and Dither): Blurs the red, green, and blue channels in different directions, creating colored fringes.
  • Crush (Pixel): Pushes every pixel of the blur to full brightness in its strongest color channel, giving a harsh, oversaturated look.

Noise

  • Opacity: How strongly the noise is added to the screen.
  • Falloff settings.
  • Noise (Grayscale): The strength of flickering black-and-white film grain.
  • Noise (RGB): The strength of colored grain, set separately for the red, green, and blue channels.
  • Scan Lines: The strength of horizontal lines that scroll across the screen, like an old CRT or VHS tape.
    • Bar Thickness: How thick the scan lines are.
    • Scroll Speed: How fast the scan lines move.

Zoom πŸ”’

Magnifies the view toward the object when the viewer looks at it, like looking through a scope.

  • Mode:
    • Off: No zoom.
    • Basic: A regular zoom.
    • RGB: Zooms the red, green, and blue channels by different amounts, splitting the colors apart.
  • Falloff settings.
  • Strength (Basic): How much the view zooms. Higher values also start zooming when the object is further from the center of the view.
  • Red, Green, and Blue (RGB): The zoom strength for each color channel.

Image Overlay πŸ”’

Places a texture on the screen.

  • Mode:
    • Off: No overlay.
    • Static: A still image.
    • Animated: A sprite sheet that plays as an animation.
    • Distortion: Uses the texture as a normal map to distort the screen, instead of drawing it.
  • Falloff settings.
  • Texture (Static and Animated): The image to overlay, with a color tint.
    • Blending: How the image combines with the screen. The texture's alpha controls where it appears.
      • Alpha: Draws the image over the screen.
      • Add: Adds the image to the screen, brightening it.
      • Multiply: Multiplies the screen by the image, darkening it.
  • Normal Map (Distortion): The normal map that distorts the screen.
  • Strength (Distortion): How strongly the normal map distorts the screen.
  • Columns (X) (Animated and Distortion): How many frames across the sprite sheet has.
  • Rows (Y) (Animated and Distortion): How many frames down the sprite sheet has.
  • Frame: When enabled, holds the animation on a specific frame instead of playing it.
  • FPS: How many frames per second the animation plays at.
  • Scale: Overall size of the overlay. Lower values make it larger.
  • Width: Horizontal scale of the overlay. Like Scale, lower values make it wider.
  • Height: Vertical scale of the overlay. Lower values make it taller.
  • Left / Right: Moves the overlay horizontally.
  • Down / Up: Moves the overlay vertically.

Triplanar πŸ”’

Projects a texture onto the world around a point, so it appears painted onto nearby surfaces.

  • Mode:
    • Off: No projection.
    • Basic: Covers everything within the radius.
    • Scanner: A shell at the edge of the radius, like a scanning pulse. Animate the Radius to make it sweep outward.
  • Falloff settings.
  • Texture: The texture projected onto surfaces, with a color tint, tiling, and offset.
    • Scroll Speed: How fast the texture moves across surfaces, in world X, Y, and Z.
  • Noise Texture: A texture that breaks up the projection's opacity, with tiling and offset.
    • Scroll Speed: How fast the noise moves across surfaces.
  • Radius: How far from the center point, in meters, the projection reaches (or where the scanner shell sits).
  • Fade (Basic): How gradually the projection fades out at the edge of the radius.
  • Fade (Scanner): How soft the edges of the scanner shell are.
  • Thickness (Scanner): How thick the scanner shell is.
  • Noise (Scanner): Adds random speckle that eats away at the scanner shell.
  • Player to Object: Where the center point is. 0 is the viewer's camera, 1 is the object.

Outline πŸ”’

Draws outlines around scene geometry, based on the depth of what's on screen.

  • Mode:
    • Off: No outlines.
    • Sobel: Sharp lines along edges.
    • Aura: A soft glow around objects that stand in front of others.
  • Color Source: Where the line color comes from.
    • Texture: A color picked from a texture.
    • Cubemap: A cubemap sampled by view direction, so line colors change as the viewer looks around.
  • Falloff settings.
  • Enable Mix Tint (Sobel): Adds a second line color that's mixed with the first.
  • Remove Inner Shading (Sobel): Removes fainter lines on nearby surfaces, keeping mainly the strong silhouette edges.
  • Sample Count (Aura): How many samples the aura takes: 16, 22, or 43. More samples look smoother but cost more.
  • Auto Hue Shift: Continuously cycles the line color's hue, at the set Shift Speed. When off, Hue sets a fixed hue shift.
  • Base Line Tint (Texture): The line color, with an optional texture.
    • Coordinates: The spot on the texture that the line color is taken from.
  • Base Cubemap (Cubemap): The cubemap that colors the lines, with a tint.
    • Rotation: Rotates the cubemap. With Auto Rotate on, this becomes Speed, the rotation speed on each axis.
    • Auto Rotate: Continuously rotates the cubemap.
  • Mix Line Tint or Mix Cubemap (with Mix Tint): The second line color, with the same settings as the base line color.
  • Background Tint (Texture): A color that covers everything that isn't a line. Its alpha controls how much of the original screen it replaces.
  • Background Cubemap (Cubemap): A cubemap that covers everything that isn't a line, with a tint, rotation, and auto rotate. The tint's alpha controls how much of the original screen it replaces.
  • Thickness (Sobel): How thick the lines are.
  • Base Strength (Sobel): How sensitive edge detection is for the base color. Higher values pick up more, subtler edges.
  • Mix Strength (Sobel, with Mix Tint): How sensitive edge detection is for the mix color.
  • Thickness (Aura): How far the aura spreads from objects.
  • Fade (Aura): How gradually the aura fades out.

Fog πŸ”’

Covers everything beyond a radius around a point in fog. Requires the depth texture.

  • Falloff settings.
  • Color: The fog color. Its alpha controls how opaque the fog is.
  • Radius: The distance from the center point, in meters, where the fog begins. Everything further away is fogged.
  • Fade: How gradually the fog thickens past the radius.
  • Player to Object: Where the center point is. 0 is the viewer's camera, 1 is the object.
  • Safe Zone: Clears the fog around the object as the viewer approaches it, like finding shelter.
    • Vision Radius: The fog radius once the viewer is inside the safe zone.
    • Outer Perimeter: The distance from the object where the safe zone starts to take effect. Between this distance and the regular Radius, the fog smoothly transitions to its safe zone settings and centers on the object.
    • Opacity: The fog's opacity inside the safe zone.

Misc πŸ”’

Letterbox

Black cinematic bars at the top and bottom of the screen.

  • Use Zoom Falloff: Makes the bars appear only while the Zoom effect is active, growing as the view zooms in. When off, the bars follow the global falloff.
  • Bar Width: How much of the screen height each bar covers.

Pulse

Rhythmically fades most of the other effects in and out.

  • Waveform: The shape of the pulse over time.
    • None: No pulsing.
    • Sin: A smooth rise and fall.
    • Saw: A steady rise, then an instant drop.
    • Reverse Saw: An instant rise, then a steady fall.
    • Square: Switches between fully on and fully off.
    • Triangle: A steady rise and a steady fall.
  • Include Filtering: Also pulses the Filtering effect. When off, Filtering stays steady while the other effects pulse.
  • Speed: How fast the pulse repeats.

UV Manipulation

  • Invert X: Flips the screen horizontally while the viewer is inside the global falloff.
  • Invert Y: Flips the screen vertically while the viewer is inside the global falloff.
  • Shift X: Slides the screen horizontally, scaled by the global falloff.
  • Shift Y: Slides the screen vertically, scaled by the global falloff.

Rounding

Reduces the number of colors on screen, for a posterized, low-bit look.

  • Opacity: How strongly the reduced colors replace the original screen.
  • Precision: How many brightness steps each color channel is rounded to. Lower values give fewer, harsher color bands.

Normal Map Filter

Displays a "normal map" based on the content of the screen.

  • Opacity: How strongly the effect replaces the original screen.
  • Strength: How pronounced the bumps are. Higher values exaggerate them.

Depth Buffer

Shows the scene's depth as a grayscale image, where nearby surfaces are brighter. Requires the depth texture.

  • Opacity: How strongly the depth image replaces the original screen.
  • Tint: A color multiplied over the depth image.

Sobel Filter

Full-screen edge detection based on the colors on screen, like a sketch or comic filter.

  • Line Color: The color of detected edges.
  • Background Color: The color of everything that isn't an edge. Its alpha controls how much of the original screen it replaces.
  • Opacity: How strongly the filter replaces the original screen.

Audio Link

Drives effects from VRChat AudioLink frequency bands (Bass, Low Mids, Upper Mids, Treble).


Avatar Shaders

Uber
Uber X πŸ”’
Uber X (Outline) πŸ”’
Taken πŸ”’
Avatar Props πŸ”’

Environment Shaders

Standard
Water
Water (Tessellated) πŸ”’
Underwater Visuals
Glass
Splat Mapping πŸ”’
LED Screen

Special Effects Shaders

Particles
Particles X πŸ”’
Screen FX
Screen FX X πŸ”’
Corruption πŸ”’

Links

πŸ”’ = Patrons only

Clone this wiki locally