{"id":31013863,"url":"https://github.com/revoconner/shadervariantcollectiontool","last_synced_at":"2025-10-26T05:47:39.560Z","repository":{"id":313312024,"uuid":"1050921436","full_name":"revoconner/ShaderVariantCollectionTool","owner":"revoconner","description":"A tool for managing and collecting shader variants efficiently and quickly for Unity Game Engine","archived":false,"fork":false,"pushed_at":"2025-09-05T07:23:50.000Z","size":56,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-05T08:35:30.021Z","etag":null,"topics":["shader","shaders","shadervariantcollection","unity","unity-package","unity3d-editor","unity3d-plugin"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/revoconner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-05T06:45:00.000Z","updated_at":"2025-09-05T07:29:05.000Z","dependencies_parsed_at":"2025-09-05T08:35:35.458Z","dependency_job_id":"35f2ca84-c9a2-4977-8399-423ff3bd8f40","html_url":"https://github.com/revoconner/ShaderVariantCollectionTool","commit_stats":null,"previous_names":["revoconner/shadervariantcollectiontool"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/revoconner/ShaderVariantCollectionTool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/revoconner%2FShaderVariantCollectionTool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/revoconner%2FShaderVariantCollectionTool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/revoconner%2FShaderVariantCollectionTool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/revoconner%2FShaderVariantCollectionTool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/revoconner","download_url":"https://codeload.github.com/revoconner/ShaderVariantCollectionTool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/revoconner%2FShaderVariantCollectionTool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274924804,"owners_count":25374820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["shader","shaders","shadervariantcollection","unity","unity-package","unity3d-editor","unity3d-plugin"],"created_at":"2025-09-13T06:02:31.453Z","updated_at":"2025-10-26T05:47:39.536Z","avatar_url":"https://github.com/revoconner.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Shader Variant Collection Tool\nA 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)\n\n## Table of Contents\n- [Screenshots](#screenshots)\n- [Installation](#installation)\n- [Quick Start Tutorial](#quick-start-tutorial)\n- [Filters Guide](#filters-guide)\n- [Manual Keyword Combinations](#manual-keyword-combinations)\n- [Variant File Ehnanced UI and Browser](#variant-file-ehnanced-ui-and-browser)\n- [Best Practices](#best-practices)\n- [Troubleshooting](#troubleshooting)\n\n\n## Screenshots\n\u003cimg width=\"347\" height=\"608\" alt=\"image\" src=\"https://github.com/user-attachments/assets/266da9cf-38b0-4d00-a582-f926eb2c9e47\" /\u003e\n\n\u003cimg width=\"2624\" height=\"1289\" alt=\"image\" src=\"https://github.com/user-attachments/assets/ca4f9271-3a6a-49a0-bd2d-9e3ede1ef14d\" /\u003e\n\u003cimg width=\"2228\" height=\"1162\" alt=\"image\" src=\"https://github.com/user-attachments/assets/3385e815-6ebb-42a8-b78a-5e256a9ee914\" /\u003e\n\n\u003cimg width=\"2619\" height=\"1287\" alt=\"image\" src=\"https://github.com/user-attachments/assets/c0491335-5367-4927-bb9f-d2cb25cd1a07\" /\u003e\n\n\u003cimg width=\"2614\" height=\"1249\" alt=\"image\" src=\"https://github.com/user-attachments/assets/5702adb4-a6e4-4ef3-8647-b1d3f442551d\" /\u003e\n\n\u003cimg width=\"3817\" height=\"1433\" alt=\"image\" src=\"https://github.com/user-attachments/assets/bd4dce8c-7d7d-454f-96d7-b4576e0aa6b9\" /\u003e\n\n\n## Installation\n\n### Via Unity Package Manager\n1. Open Unity Package Manager (Window → Package Manager)\n2. Click the **+** button in the top-left corner\n3. Select **\"Add package from git URL...\"**\n4. Install with ``` https://github.com/revoconner/ShaderVariantCollectionTool.git``` \n5. Click **Add**\n\n### Requirements\n- Unity 2022.3 or higher\n- Compatible with all render pipelines (Built-in, URP, HDRP) tested with URP only\n- Tested with Unity 6.1\n\n## Quick Start Tutorial\n\n1. **Open the tool**\n2. **Add a variant collection file**\n3. **Add a config file**\n4. **Follow the numbers on the button**\n5. **Profit?**\n\n\n\n\n\n## Filters Guide\n\n\n\n### Variant Filters\n\n#### VariantFilter_Shader\nFilter variants based on shader inclusion/exclusion.\n\n**Configuration:**\n- **Mode**:\n  - `Strip`: Remove variants for listed shaders\n  - `OnlyReserveContains`: Keep only variants for listed shaders\n- **Shaders**: Array of shaders to filter\n\n**Advanced Operations** (via foldout menu):\n- Add shader at specific index\n- Delete shader at index\n- Swap shader positions\n\n#### VariantFilter_PassStrip\nRemove variants of specific pass types.\n\n**Configuration:**\n- **Strip Passes**: Array of PassType values to remove\n\n**Common Pass Types to Strip:**\n- `Meta`: Editor-only lightmapping\n- `MotionVectors`: Not needed for Quest\n- `ScriptableRenderPipelineBatching`: If not using SRP Batcher\n\n### Keywork Filters\n\nAdded in v1.2.0 \n- Filters out individual keywords or combinations of keywords\n- If the checkbox on the right side is checked, all combinations including those keywords will be excluded\n- Takes precendent over MANUAL KEYWORD COMBINATION\n\n## Manual Keyword Combinations\n\n### When to Use\n- Keywords enabled only at runtime via script\n- Platform-specific keywords not active in editor\n- Quality setting variations\n- Feature toggles\n\n### How to Add\n1. Click **Manual Keyword Combinations**\n2. For each combination:\n   - Click **Add New Combination**\n   - Enter keywords separated by spaces\n   - Example: `FOG_LINEAR SHADOWS_SOFT`\n   - Example: `FOVEATED_RENDERING_NON_UNIFORM_RASTER`\n\n### Important Notes\n- Each line is processed independently\n- Keywords must exist in shader to be valid\n- Invalid combinations are silently skipped\n- Check console for processing results\n\n## Variant File Ehnanced UI and Browser\n### Features\n- **Shader List**: All shaders in collection\n- **Filter**: Type to filter shader names\n- **Add Shader**: Object field + Add button\n- **Clear**: Remove all variants (with confirmation)\n\n### Variant Inspector\nFor selected shader:\n- Shows variants grouped by PassType\n- Displays keyword combinations\n- Add button per pass type\n- Remove button per variant\n- Keyword filtering with exact match option\n\n### Adding Variants Manually\n1. Select shader in list\n2. Click + button\n3. In popup window:\n   - Select PassType\n   - Click keywords from available list\n   - Click selected keywords to remove\n   - Click \"Add Variant\"\n\n## Best Practices\n\n### 1. Collection Strategy\n- Start with MaterialCollection_SceneDependency for scene materials\n- Add MaterialCollection_TotalMaterial for comprehensive coverage\n- Use MaterialCollection_AssignMaterial for specific additions\n\n### 2. Filtering Strategy\n- Strip editor-only passes (Meta, MotionVectors)\n- Remove unused shader variants with VariantFilter_Shader\n- Create custom filters for project-specific needs\n\n### 3. Organization\n- Create separate variant collections for:\n  - Platform-specific variants (Quest, Mobile, Desktop)\n  - Quality levels (Low, Medium, High)\n  - Feature sets (VR, AR, Standard)\n\n### 4. Validation\n- Use **Material Source Check** to verify collection sources\n- Use **Keyword Source Check** to find keyword usage\n- Review variant count before writing to file\n\n\n\n### Recommended Filters\n1. Strip desktop-only passes:\n   - MotionVectors\n   - GrabPass\n   - Meta (if not lightmapping)\n\n2. Remove heavy shaders:\n   - Complex transparent shaders\n   - Multi-pass shaders\n   - Tessellation shaders\n\n\n## Troubleshooting\n\n### No Materials Collected\n- Verify collector configuration\n- Check path spellings in TotalMaterial collector\n- Ensure scenes are in Build Settings for SceneDependency\n- Check console for error messages\n\n### Missing Runtime Variants\n- Add manual keyword combinations\n- Verify keywords exist in target shaders\n- Check keyword spelling (case-sensitive)\n- Enable all quality levels before collection\n\n### Tool Window Issues\n- Window not opening: Check Unity version compatibility\n- Missing config file: Check the Assets/Settings folder, else use the button in the UI to create one.\n\n\n\n## Credits\n\nOriginal tool concept from Chinese Unity community - Soco\n\n---\n## Versions\n- *Last Updated: Sepetember 07, 2025 - Version 1.0.0*\n- *Last Updated: Sepetember 10, 2025 - Version 1.1.0*\n- *Last Updated: Sepetember 13, 2025 - Version 1.2.0*\n- *Last Updated: Sepetember 14, 2025 - Version 1.2.1*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frevoconner%2Fshadervariantcollectiontool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frevoconner%2Fshadervariantcollectiontool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frevoconner%2Fshadervariantcollectiontool/lists"}