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.
| Scaler | Pipeline | Target | Description |
|---|---|---|---|
| Resolution | BiRP URP | GPU | Reduces render resolution, radically decreasing the load on GPU Fillrate. See details below. |
| Shadows Quality | BiRP URP | GPU | Progressively 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 Cascades | BiRP URP | CPU/GPU | Reduces the number of shadow cascades. Decreases CPU Draw Calls and GPU load. |
| Shadow Distance | BiRP URP | GPU | Shortens the shadow draw distance. |
| Shadow Resolution | BiRP URP | GPU | Reduces the resolution of Shadow Maps. |
| Anti Aliasing | BiRP URP | GPU | Decreases anti-aliasing quality (MSAA) down to a complete disable. |
| LOD Bias | BiRP URP | GPU | Forces Unity to switch to low-poly LOD models at a closer distance from the camera. |
| Camera Clip | BiRP URP | GPU | Reduces the Far Clip Plane parameter on target cameras, culling distant objects from the render. |
| Layer Culling | BiRP URP | CPU | Proportionally reduces the Culling Distance for specific object layers. |
| Physics Step | BiRP URP | CPU | Lowers the frequency of physics calculations. Saves performance during heavy physics loads in the browser. |
| LUT | URP Only | GPU | Reduces the size of Color Grading LUTs to the minimum. |
| Mesh LOD Threshold | Unity 6+ | GPU | Alters 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:
Option 1: Screen Space - Overlay (Recommended)
The simplest and most reliable method. The plugin handles all the work automatically.
- Select your Canvas in the scene hierarchy.
- 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.
- Main Camera (3D): Ensure its tag is specified in the Scaler's
Target Tagsarray. In theCulling Maskfield, uncheck the UI layer. SetDepthto0. - UI Camera (New): Create a new camera to render the interface. Do not add its tag to the Scaler settings.
- Set
Clear FlagstoDepth Only(so the camera does not erase the 3D background). - Set
Culling Maskexclusively to the UI layer. - Set
Depthto1(higher than the main camera).
- Set
- Canvas Configuration: Set the Render Mode to
Screen Space - Cameraand drag your new UI Camera into theRender Cameraslot.
