A tool for managing and collecting shader variants efficiently and quickly, and also includes a better UI for the default Unity shader variant collection file editor (Inspector element)
- Screenshots
- Installation
- Quick Start Tutorial
- Filters Guide
- Manual Keyword Combinations
- Variant File Ehnanced UI and Browser
- Best Practices
- Troubleshooting

v1.1.0 update, added buttons to create the collection and config files directly from UI



- Open Unity Package Manager (Window → Package Manager)
- Click the + button in the top-left corner
- Select "Add package from git URL..."
- Install with
https://github.com/revoconner/ShaderVariantCollectionTool.git
- Click Add
- Unity 2022.3 or higher
- Compatible with all render pipelines (Built-in, URP, HDRP) tested with URP only
- Tested with Unity 6.1
- Open the tool
- Add a variant collection file
- Add a config file
- Follow the numbers on the button
- Profit?
Filter variants based on shader inclusion/exclusion.
Configuration:
- Mode:
Strip
: Remove variants for listed shadersOnlyReserveContains
: Keep only variants for listed shaders
- Shaders: Array of shaders to filter
Advanced Operations (via foldout menu):
- Add shader at specific index
- Delete shader at index
- Swap shader positions
Remove variants of specific pass types.
Configuration:
- Strip Passes: Array of PassType values to remove
Common Pass Types to Strip:
Meta
: Editor-only lightmappingMotionVectors
: Not needed for QuestScriptableRenderPipelineBatching
: If not using SRP Batcher
- Keywords enabled only at runtime via script
- Platform-specific keywords not active in editor
- Quality setting variations
- Feature toggles
- Click Manual Keyword Combinations
- For each combination:
- Click Add New Combination
- Enter keywords separated by spaces
- Example:
FOG_LINEAR SHADOWS_SOFT
- Example:
FOVEATED_RENDERING_NON_UNIFORM_RASTER
- Each line is processed independently
- Keywords must exist in shader to be valid
- Invalid combinations are silently skipped
- Check console for processing results
- Shader List: All shaders in collection
- Filter: Type to filter shader names
- Add Shader: Object field + Add button
- Clear: Remove all variants (with confirmation)
For selected shader:
- Shows variants grouped by PassType
- Displays keyword combinations
- Add button per pass type
- Remove button per variant
- Keyword filtering with exact match option
- Select shader in list
- Click + button
- In popup window:
- Select PassType
- Click keywords from available list
- Click selected keywords to remove
- Click "Add Variant"
- Start with MaterialCollection_SceneDependency for scene materials
- Add MaterialCollection_TotalMaterial for comprehensive coverage
- Use MaterialCollection_AssignMaterial for specific additions
- Strip editor-only passes (Meta, MotionVectors)
- Remove unused shader variants with VariantFilter_Shader
- Create custom filters for project-specific needs
- Create separate variant collections for:
- Platform-specific variants (Quest, Mobile, Desktop)
- Quality levels (Low, Medium, High)
- Feature sets (VR, AR, Standard)
- Use Material Source Check to verify collection sources
- Use Keyword Source Check to find keyword usage
- Review variant count before writing to file
-
Strip desktop-only passes:
- MotionVectors
- GrabPass
- Meta (if not lightmapping)
-
Remove heavy shaders:
- Complex transparent shaders
- Multi-pass shaders
- Tessellation shaders
- Verify collector configuration
- Check path spellings in TotalMaterial collector
- Ensure scenes are in Build Settings for SceneDependency
- Check console for error messages
- Add manual keyword combinations
- Verify keywords exist in target shaders
- Check keyword spelling (case-sensitive)
- Enable all quality levels before collection
- Window not opening: Check Unity version compatibility
- Missing config file: Check the Assets/Settings folder, else use the button in the UI to create one.
Original tool concept from Chinese Unity community - Soco
- Last Updated: Sepetember 07, 2025 - Version 1.0.0
- Last Updated: Sepetember 10, 2025 - Version 1.1.0