Quick answer: Unity ShaderVariantCollection missing keyword combinations enabled at runtime via script? Collection captures editor warmup; script keywords need to play in editor first.

Authored a 'special-mode' keyword via script; build strips the variant; runtime pink.

Play in editor to capture

Play the game; trigger every keyword combination. Collection records.

Or manually add variants

Edit the collection; add the missing combos by hand. Explicit; verifiable.

Audit script-enabled keywords

Each script SetKeyword: verify it's in the collection.

“Variant collections are gameplay-driven. Editor doesn't see your runtime enabling.”

If you enable keywords via script, the variant collection audit is the cure. Document.

Related reading