Batch/shared color palette

When working on games with many files, it can be time consuming to change colors en masse. It currently requires opening each file manually and changing them one by one. (In most software it’s like this).

It would be useful if you could manage colors across multiple files. This would be done by either;

  1. Changing the color palettes of multiple files via a batch command (probably in the palette menu).

  2. “Link palette to file” in palette menu.
    The user would select a previously saved palette file to link the project to.
    Upon opening the project, if it has been linked to a palette file, it will check for it. If it finds it, it would switch to the palette. If it doesn’t, it would maintain the previously used palette.

First it would check the saved file path, and if it isn’t there, it would check the same folder as the project. (if that’s possible)

Are you thinking this for indexed files only, or both indexed and RGB?

Well, the easier implementation would be that it affects the color palette either way, but only changes the colors of the actual images if it’s indexed (since it’s linked to the palette).

The ideal situation for users like me (who keeps a lot of layered files around) would be a way to change the colors of non indexed files, however I’m not sure how that would be achieved without adding a lot of settings. I think it would be best to worry about indexed files first and foremost.

Only modifying indexed images makes the most sense to me, and it’s consistent with Aseprite’s current behaviour when modifying palettes. For RGB images, the “palette” is really just swatches for convenience.

I think there would still be convenience in the palette/swatch being changed to a linked one, even if it makes no immediate change to the images.

Changing RBG images through some other function would be nice, but I don’t think it has any obvious, clean way of executing it.

1 Like

Would loading a different pallet and not remapping do the trick?

For non indexed sprites, I assume the function would load the linked palette without changing the colors in the image. If the image is indexed, it would load the linked palette and change the colors in the image simply because of how indexed sprites work.

1 Like

I actually requested this back in 2018:
https://community.aseprite.org/t/feature-request-shared-palette/2488

Didn’t seem like it got noticed though. I still would find this feature incredibly useful. Might just make my own image editing software that has it.