{"id":13661291,"url":"https://github.com/jknightdoeswork/swatchr","last_synced_at":"2025-04-24T23:32:17.383Z","repository":{"id":148331022,"uuid":"167757542","full_name":"jknightdoeswork/swatchr","owner":"jknightdoeswork","description":"A color palette management system for Unity","archived":false,"fork":false,"pushed_at":"2019-03-30T00:58:55.000Z","size":59,"stargazers_count":110,"open_issues_count":3,"forks_count":16,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-10T15:46:01.448Z","etag":null,"topics":["color","color-palette","game-development","gamedev","unity","unity3d"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jknightdoeswork.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}},"created_at":"2019-01-27T01:27:29.000Z","updated_at":"2024-08-17T00:45:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"c75d1641-d4ce-4744-a7b7-4cd7d514c994","html_url":"https://github.com/jknightdoeswork/swatchr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jknightdoeswork%2Fswatchr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jknightdoeswork%2Fswatchr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jknightdoeswork%2Fswatchr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jknightdoeswork%2Fswatchr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jknightdoeswork","download_url":"https://codeload.github.com/jknightdoeswork/swatchr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250727797,"owners_count":21477372,"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","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":["color","color-palette","game-development","gamedev","unity","unity3d"],"created_at":"2024-08-02T05:01:32.048Z","updated_at":"2025-04-24T23:32:17.377Z","avatar_url":"https://github.com/jknightdoeswork.png","language":"C#","funding_links":[],"categories":["C\\#","Art, Design \u0026 Visual Storytelling"],"sub_categories":["Color Theory \u0026 Tools"],"readme":"![Swatchr Logo](https://i.imgur.com/zdcXd53.png \"Swatchr Logo\")\n\n\u003eby [@00jknight](http://www.00jknight.com/)\n\n# Overview\nSwatchr allows Unity developers to store color palettes inside scriptable objects in their projects. Renderers, particle systems, cameras and shaders can then reference colors as keys into swatches. Swatches can be replaced and updated at runtime, and the changes will propagate. Swatches can be exported to Unity's built in color picker system. Swatchr can be easily extended to custom components by implementing the SwatchrColorApplier interface.\n\n# Features\n* Color palettes stored as scriptable objects in your project and repository\n* Import swatches from .ase \u0026 .png files \n* Import swatches from MagicaVoxel's palette export (See Note)\n* Export swatches to Unity's built in Color Picker tool\n* Components to apply color to Mesh Renderer, Sprite Renderer, Particle System, Light and Camera clear color\n* Nice editor UI\n* Comes with the AAP-Splendor-128 color palette designed by [@AdigunPolack](https://twitter.com/adigunpolack/status/993524761019015168)\n\n# How To\n\n## Creating a Swatch\nCreate an empty Swatch by right clicking in the Project Window and going to Swatchr -\u003e Create New Swatch. Click on the .asset file to view it's Editor UI in the Inspector. Add colors to it by clicking the + button. Click on the color next to the selected color to use Unitys color picker to pick a color.\n\n## Importing a .ASE file\nRight click in the Project Window and go to Swatchr -\u003e Import ASE File (Browse...). Use the file selector to select the .ase file. A swatch will be created.\n\n## Exporting to Unity's Color Picker\nSelect the swatch you want to export. Hit the Export To Color Picker Presets button. It will create a file with the .colors extension, and place it in an Editor/ folder. You can move that file, but it has to be in a folder path with Editor/ in it. Now go to the Unity Color Picker and click the dropdown to the top right of the color grid. Select the name of the Swatch you just exported. Now that swatch is available in Unity's default color picker.\n\n## Importing a PNG\nYou can import a palette from a png by right clicking in your Project Window and going to Swatchr -\u003e Import Swatch From Texture (Browse...). Note that every pixel in the png will become a color in the Swatch. There is no intelligent palette picking.\n\n## Importing MagicaVoxel palettes\nMagicaVoxel exports it's palettes with color profiles embedded in the png. Unity does not respect these color profiles. To work around this, export your model using the export .fbx option and then use that png file to import your swatch. Once you have the palette exported from this method, right click in your Project Window and go to Swatchr -\u003e Import Swatch From Texture (Browse...).\n\n## Swapping Swatches\nCreate a swatch for your project, eg) \"MySwatch\", and then use that swatch everywhere. Now make a backup of that swatch and create alternative swatches. Now use the Replace button on MySwatch to swap color palettes.\n\n## Selecting Materials\nTry the Legacy -\u003e Diffuse material to get a pure, clean, low poly look.\n\n# Technical Details\n* Swatch.cs is a scriptable object that contains an array of colors.\n* SwatchrColor.cs exposes a color property that uses an integer key and a Swatch to return a color.\n* SwatchrColorApplier.cs is an interface for a component that will automatically apply a SwatchrColor to a GameObject when the Swatch changes.\n* SwatchrRenderer.cs is one of several implementations of SwatchrColorApplier. This class applies the SwatchrColor to a MeshRenderer or SpriteRenderer.\n* Other examples of SwatchrColorApplier are SwatchrLight, SwatchrParticleSystem \u0026 SwatchrAmbientLightColor.\n\n# Screenshots\n## Swapping Swatches\n![Swatch Asset](https://i.imgur.com/81pPvFg.gif \"Swatch Gif\")\n## Swatch Asset\n![Swatch Asset](https://i.imgur.com/Trtywop.png \"Swatch Asset\")\n## Using a Swatch in the Color Picker\n![Color Picker](https://i.imgur.com/qCEx68a.png \"Color Picker\")","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjknightdoeswork%2Fswatchr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjknightdoeswork%2Fswatchr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjknightdoeswork%2Fswatchr/lists"}