Skip to main content

Shader pass not supported by Playworks Plugin

Message

Shaders may not work correctly in Playable Build.

Explanation

During export, the Playworks Plugin found one or more shaders that contain passes the Playworks Plugin does not support.

The Playworks Plugin checks each shader pass against the WebGL targets you build for (WebGL 1 and/or WebGL 2). This diagnostic appears when a pass either:

  • Declares GPU features that go beyond what the Playworks Plugin treats as supported for that WebGL target (for example, multiple render targets beyond MRT4, geometry or compute stages, tessellation, UAV/random-write, and similar capability flags Unity reports on the pass), or
  • Is not marked by Unity as compilable for the corresponding mobile GLSL platform (WebGL 1, WebGL 2), so the pass may not translate to a valid WebGL program for the playable.

The Project Diagnostics panel lists the affected shader name, pass, subshader index, pass ID, and whether the issue applies to the WebGL 1 or WebGL 2 requirement set. Visual differences in the built playable ads are possible.

caution

This error doesn't mean you'll experience visual differences. This error only indicates possible differences between Unity and the Playworks Plugin.

Steps to fix

  1. Open each shader (or Shader Graph / material using it) referenced in the details and identify the listed pass.
  2. If the message cites specific unsupported features: simplify the shader for a WebGL-friendly subset (avoid stages and features the Playworks Plugin does not support for playables, replace complex custom shaders with Playworks Plugin-supported Lit/Unlit/URP paths where possible).
  3. If the message lists passes under “"WebGL 1 / WebGL 2 platform does not support”: Unity cannot export that pass for the GLES platform mask that your build needs—add a compatible SubShader / fallback, switch to a shader variant that targets GLES, or stop using that shader on objects included in the playable export.
  4. Align your export WebGL target settings with what you actually need: if you only require WebGL 2, you may be able to avoid tightening constraints that only affect WebGL 1.
  5. Re-run export and confirm the diagnostic clears after changes.

For shader size and variant cleanup, see Runtime Analysis and Optimising shaders.