Skip to content

Scalers Reference

Web Adaptive Performance includes a suite of specialized Scalers (optimization modules). The Indexer automatically selects which Scaler to deploy based on its Visual Impact and the current Bottleneck type (Target: CPU or GPU).

Compatibility Matrix

Below is the compatibility matrix and a description of all available modules.

ScalerPipelineTargetDescription
ResolutionBiRP URPGPUReduces render resolution, radically decreasing the load on GPU Fillrate. See details below.
Shadows QualityBiRP URPGPUProgressively disables shadows.
In URP, it first disables soft shadows, then shadows from additional lights, and finally the main shadows.
In BiRP, it switches shadows to Hard Only mode before disabling them completely.
Shadow CascadesBiRP URPCPU/GPUReduces the number of shadow cascades. Decreases CPU Draw Calls and GPU load.
Shadow DistanceBiRP URPGPUShortens the shadow draw distance.
Shadow ResolutionBiRP URPGPUReduces the resolution of Shadow Maps.
Anti AliasingBiRP URPGPUDecreases anti-aliasing quality (MSAA) down to a complete disable.
LOD BiasBiRP URPGPUForces Unity to switch to low-poly LOD models at a closer distance from the camera.
Camera ClipBiRP URPGPUReduces the Far Clip Plane parameter on target cameras, culling distant objects from the render.
Layer CullingBiRP URPCPUProportionally reduces the Culling Distance for specific object layers.
Physics StepBiRP URPCPULowers the frequency of physics calculations. Saves performance during heavy physics loads in the browser.
LUTURP OnlyGPUReduces the size of Color Grading LUTs to the minimum.
Mesh LOD ThresholdUnity 6+GPUAlters the meshLodThreshold parameter, introduced in Unity 6.2, for aggressive LOD switching.

Caution with Physics Step Scaler

The physics Scaler directly alters the Time.fixedDeltaTime parameter. If a character controller or game mechanic relies strictly on fixed physics frames without Interpolation, object movement may become stuttery at low quality levels.

Resetting Scaler Settings

If you have experimented with Scaler parameters (e.g., modifying Min Bound or Max Level) and wish to revert them to defaults, simply toggle the switch off and back on in the Project Settings window. The plugin will automatically recreate the module with baseline settings.

Breakdown: Resolution Scaler

This is the plugin's most powerful tool, providing the biggest FPS boost. Its operation varies drastically depending on the active pipeline.

In URP Mode (Universal Render Pipeline)

In URP, scaling operates seamlessly. The plugin interfaces directly with the renderScale property within the UniversalRenderPipelineAsset. The interface (UI) remains crisp automatically, as URP is capable of rendering the Canvas over a scaled 3D world.

In BiRP Mode (Built-in Render Pipeline)

Historically, BiRP lacks a built-in Render Scale setting that functions in WebGL without breaking the interface or causing crashes (FBO Feedback Loop). WebAP resolves this by offering two exclusive strategies.

Mode 1: NativeBrowserScaling

The plugin scales the HTML <canvas> element directly via Native Loop Spoofing (injecting into the browser's devicePixelRatio parameters).

  • Pros: Maximum performance, zero overhead on the GPU side.
  • Cons: The game interface blurs alongside the 3D graphics. This mode only operates in a built WebGL build (no changes will be visible in the Unity Editor).

Mode 2: RenderTextureScaling

The plugin redirects the render of target cameras into a compressed shared texture and utilizes a hidden Compositor Camera to display the image.

  • Pros: The 3D world is scaled, while the UI (text, buttons) remains crystal clear.
  • Cons: Adds a marginal load to the GPU due to the Blit operation (copying the texture to the screen).

Fixing Mouse Clicks (Raycasts)

When utilizing RenderTextureScaling, virtual screen coordinates are compressed. To ensure mouse clicks on 3D objects continue to function correctly, the plugin automatically replaces standard PhysicsRaycaster and Physics2DRaycaster components on target cameras with custom WebScaledPhysicsRaycaster components. Ray precision remains flawless at any scale.

How to Preserve UI Clarity? (For BiRP RenderTextureScaling)

To keep the interface crisp while scaling 3D graphics in BiRP with RenderTextureScaling, you must properly configure your Canvas. Select one of two options:

The simplest and most reliable method. The plugin handles all the work automatically.

  1. Select your Canvas in the scene hierarchy.
  2. In the Canvas component, set the Render Mode to Screen Space - Overlay.
    Result: Unity renders the interface atop the compressed 3D world at 100% native resolution.

Option 2: Screen Space - Camera (For Complex Layers)

Utilized if you need to blend 3D models, particles, and UI. You will need to separate the render across two cameras.

  1. Main Camera (3D): Ensure its tag is specified in the Scaler's Target Tags array. In the Culling Mask field, uncheck the UI layer. Set Depth to 0.
  2. UI Camera (New): Create a new camera to render the interface. Do not add its tag to the Scaler settings.
    • Set Clear Flags to Depth Only (so the camera does not erase the 3D background).
    • Set Culling Mask exclusively to the UI layer.
    • Set Depth to 1 (higher than the main camera).
  3. Canvas Configuration: Set the Render Mode to Screen Space - Camera and drag your new UI Camera into the Render Camera slot.