Retro Palette Swapper is a bit more than just a shader; it is an entire system for drawing sprites, surfaces, tiles, and backgrounds with a manipulated palette.

Have you ever created a character in your game and wished you could change the character's hair or clothing color without uploading a complete new set of sprites for every single one of that character's animations? What about making a sprite appear on fire in a much more vibrant way than just putting a red or orange image_blend on it? Maybe you've got a black outline around your sprite and want to make it red when the player mouses over it?

All of this and much more is possible with Retro Palette Swapper!


  • Draw any sprite, surface, tile layer, or background with a specific palette!
  • Use surfaces to build dynamic palettes on the fly!
  • Gradually shift between palettes to create dynamic effects!
  • No known color limit (although 256 is suspected)!
  • Easy to drop into any existing project!
  • Fully commented example code!
  • Helpful scripts for manipulating palettes!
  • Full featured tool available to help non-artists build palette sprites!



HTML5 Demo:


All Platforms Supported (As far as I know. Desktop, Mobile, and HTML5) HTML5 is currently not FULLY supported due to bugs within GMS2, so it might magically work perfectly after a future update*

This shader will make your project require a video card that supports Shader Model 3.0. So make sure the demo functions before purchasing.

Additionally, your graphics need to be "retro"... or at the very least you should NOT be using the "interpolate colors between pixels" graphical option.




Tool Download:

Additional Setup for HTML5: Using this on HTML5 is a bit more challenging than on desktop or mobile. You need to do a few steps.

*When you initialize the system, you need to pass the init script your two HTML5 shaders: one for sprites and one for surfaces (these are included). *You need to go into the sprite shader and set your texture page size that you use for your project. *You need to go into the surface texture and set your size to the size your dynamic palettes are being built at. By default, it's set to 64x64, which means when you want to create a custom palette using shaders, instead of making the surface the exact size you need, you need to create the surface at 64x64. Again, this number can be changed, if desired.
*You may notice an error right when you run your game about some for loop or whatever. That can be safely ignored, and when you release your final HTML5 build, just remove the default shd_pal_swapper and the error will no longer appear. Hopefully GMS2 will give us target based resource configurations in the future. *There are a few missing features (gradual palette changes, layer swapping), but these seem to be related to a bug in GMS2, so it might all start working magically after a future update. Fingers crossed.

End User Licence Agreement (EULA).

Version 1.0.1. Published April 6, 2015

Created with GameMaker: Studio v1.4.1567

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Robert G 26 June 2019


Johnny W 12 June 2019


Anonymous 11 June 2019

Excelent, just need more doc

Thanks for this tool... It implements all the features I needed for my project.
But it still need better documentation. The current one solved some of my issues, but the HTML section need to be provided.
And also the full screen section (although I have not needed to implement this in my project, I suppose there are some that needs).

In other words: If you're looking for a palette swapper and your graphics are "simple", this is the tool you'll wanna use.


Andrew J 01 June 2019


Dalton A 31 May 2019


Reed M 31 May 2019

Color and visual upgrades made easy

Very easy to use, and makes spriting easy. For example; I have a horse as a main character, and he can get two different armors other than his normal coat. Using pallets and this shader, made me able to use just the base sprites I need and color the armors so he can have both and his normal coat on one sprite and just shift the pallet making my work cut down by third. Get this if you will need multiple colors on the same sprite, you won't regret it!


Zacal D 19 May 2019


Anonymous 27 April 2019


Anonymous 26 April 2019


Juan O 14 April 2019


Anonymous 12 April 2019


David P 12 April 2019

very useful!


Fabio F 14 March 2019

Worth every penny

I implemented this and got it working in less than 10 minutes, and I'm a crappy programmer that still doesn't know as much about GML as he should. That's how easy this one is to slap on to your project!


Nicholas H 23 February 2019


Ajmal R 06 February 2019

Great asset, worth buying!

Easy to set up and a very useful tool! I used it in my Android/ iOS game to create different themes, it worked perfectly and saved me an incredible amount of time and effort. Would definitely recommend!


Anonymous 22 January 2019


Alex C 09 January 2019


Dan J 07 January 2019

Great Shader, Great Support!

The plugin works very well and is easy to migrate to your own game. I had missed the note about turning off the interpolate colors between pixels. However, with a quick and easy conversation, the author pointed me to this note and got me back on track. Like another reviewer said -- this shader and the problem it solves is worth its weight in gold.


Anonymous 26 December 2018


Anonymous 26 December 2018


James H 24 December 2018


James C 03 December 2018


Brett B 20 November 2018

This is a must have

Support the Pope, this is amazing and the problem it just solved for me is worth way more than you are charging! ;)


Anonymous 18 November 2018


Vee F 08 October 2018


Diego V 30 September 2018


Anonymous 21 September 2018


Adam W 20 September 2018


Allen J 18 August 2018


Christophe C 31 July 2018

Stepping on a gold mine

I am usually very skeptical about buying some assets because I never know if it will match my programming skills. Turns out this time, it guides me through every step and is all the way as clear as rock water. Nice job, even the fps test passes the stress with flying colors.


Guillaume C 23 July 2018


Richard F 05 July 2018

Works like a charm, please take my money.

Nothing short of amazing. Thank you, everyone, who made this happened.


Malte B 03 July 2018


Anonymous 02 June 2018


Anonymous 18 April 2018

Works exactly how I want it to

I bought this not knowing if I could combine multiple palettes, which I needed since I have character sprites split in to different colorable pieces of clothing. With the swapper's support for using surfaces in place of sprites it's like 3 lines of code for me to add a new palette, which is awesome.


Aidan S 18 March 2018


Before this, I had to create separate sets of sprites for each character recolor... used to take me a few hours per sprite set. Now, I can get a new palette up and running within minutes! Best time saver I've ever seen, and easily worth the price!


Dylan T 29 January 2018


David f 01 January 2018


Tyler E 18 December 2017


Shane E 13 December 2017


Kesly C 23 November 2017


Glenn G 18 November 2017


Benjamin L 29 May 2018


Anonymous 21 October 2017


This well crafted system works perfectly and is easy to get working in your project. Could not be happier.


Dennis O 18 September 2017


Claudio E 01 September 2017

Wonderful Shader!

I really like it, you save so much time using this shader. It's easy to use and the tool for creating the basic palette works like a charm. Also, it work perfect with the new GM2.

Are there a possibility to export the PaletteGenerator for MAC? Thanks (For Mac's users of GM2)


Pixelated Pope (Publisher) 07 March 2018

Unfortunately I don't have a mac so I can't build for mac. Maybe I could get a friend to export it for me. Thanks for the support and the review!


Anonymous 11 August 2017

This saves so much time and hassle!

If you're doing a game with pixel art you need this. It's so easy and quick to fiddle colours once you've got things sorted. It opens up so many ideas for things to try. I'm so glad I found this when I did. This should be a staff favourite.


Maxime B 08 April 2017

Awesome shader

Looking foward learning to use this shader. Looks awesome, so many possibilities!


Devon M 07 April 2017

Works exactly as expected

It requires a little modification to get it going with GM2, but it's an excellent option that works flawlessly. Not nearly enough praise can be heaped on this, it's a must have if you are dealing with pixel art.


Pixelated Pope (Publisher) 08 August 2017

Thanks for the review, Devon! I've updated the package with a GMS2 specific version that should work right out of the box. Give it a shot and let me know if you run into any other issues.


Alexei R 14 February 2017

Seemed to good to be true...

Turns out if wasn't! It does exactly as advertised and after some simple setup you've got it working. The custom-made tool created for making palettes makes things even easier, so kudos to the publisher for putting such effort in.


Marcus J 17 August 2016

Just what I've wanted for so long

Finnaly I can do palette swapping in Game Maker! It took just three lines of code to try it in my project.


Richard H 11 July 2015

Very useful for customization and effects!

Hey, this was very easy to implement in my game (took less than 5 minutes), and is very helpful as I am creating a fairly complex character customization system. So far, it works like a charm. I'm looking forward to finding out if it will work with many objects on the screen at once, so that I can palette swap the enemies as well. I'm excited to try it out.

When publishing a game made with this shader, are there any additional system requirements the user should be made aware of before purchase, other than needing a graphics card capable of processing Shader Model 3.0?

Thanks for the product!


Pixelated Pope (Publisher) 10 August 2015

Besides Shader Model 3.0 I'm not aware of any additional requirements. The impact on performance should be very, very minimal, regardless of how many characters you have on screen that are palette swapping.

You can check out my Zelda fan-game video on youtube:

At 9:06 I enter a room that has over 20 enemies and link all palette swapping. The blobbies even have a 52 color palette (they very very gradually move through the entire rainbow). And the system has been vastly improved since I took that video.

Thanks for the review and the support! Good luck with your project, and let me know if you have any issues.


Phill E 29 June 2015

Great extension and a super useful tool as well!

The linked palette creation tool and video explains the set-up really well; once you've done that and had a look at the example code it's incredibly simple to swap palettes to your heart's content. Should be part of every GM:S pixel artist's toolkit.


Jonathan M 24 March 2015

Liked it at first sight!

You need to setup a little bit more but you've got so much control! I have tons of ideas and will try to implement it as soon as possible.

This review was left for a previous version of this asset.


Pixelated Pope (Publisher) 24 March 2015

Yeah. The setup can be a bit intimidating. I'm working on a companion app that will be released for free to help those who aren't familiar with graphic applications to create, modify, and export their palette sprite. Should be much easier than the method described in the tutorial video.

Thanks for the support and review! Let me know if you run into any issues.

Package contents

Loading, please wait

What is the issue?

Back to Top