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 in your Game Maker Studio 2 project.

 Have you ever created a character in your game and wished you could change the character's hair or clothing color without adding a complete new set of sprites to your project 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 or green when the player mouses over it?
 
All of this and much more is possible with Retro Palette Swapper! 

Features

* Draw any sprite, surface, or layer with a specific palette!
* Use surfaces to build dynamic palettes on the fly!
* Gradually shift between palettes to create dynamic effects!
* 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!  (Free to download for everyone)

Demo

Before you buy, try out the demo and make sure it runs for you.

Requirements

Only compatible with GameMaker Studio 2.
Desktop or Mobile targets only. 
HTML 5 IS NOW SUPPORTED! 
Waiting on a few fixes for full feature support.  

This shader will make your project require a video card that supports Shader Model 3.0 (which was released in 2004... so that really shouldn't be a problem)

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

TUTORIALS

Need help setting up your palette sprite?  Here are some videos that might help.

Photoshop:
Tool:

FAQ

Q: "I got it, but it isn't working."
A: Well, post here and I'll do my best to help you get it working. You may also want to scan this post to see if your issue has already been discussed. 

Q: "The example project doesn't seem to do anything"
A: Make sure you've installed the latest version of direct-x and video card drivers. I promise this works.

Q :"My sprite doesn't look any different when swapped."
A: Make sure the colors in your palette are EXACT MATCHES of the colors in your sprite. There is no "approximation"; the colors must be identical. Use the palette builder to help you find color inconsistencies in your sprites.Additionally, make sure you've imported the shader properly. Double check the fragment and vertex tabs in the shader asset itself compared to the example project.

Q: "Only some of my colors are changing."A: See previous answer.Q: "Everything looks SUPER weird."
A: Did you turn off the "Interpolate Colors Between Pixels" option in the global game settings? This will not work at all with that option on, so if your game's aesthetic relies on that, you are out of luck; this won't work for you.

Q: "I implemented this into my project and it is SOOO SLOOOOW! What's wrong?"
A: I honestly don't know. Thanks to GamerXP everything seems to work REALLY fast right now, and have yet to really find any performance issues. But if you are having issues, post about them here and let's figure out what's causing it.

Q: "Custom palettes seem cool... but I don't really understand what's going on..."
A: Oh, they are super cool, but I totally understand you being confused. Here's a post where I try to explain them a little better, but feel free to post any issues or "how would I do this with a custom palette" type questions.

Q: "I'm using GMS2, and I've copied the code into a new shader resource, but it won't work."
A: You need to set the shader type to GLSL ES. Right click on the shader in your resource tree and expand the "Shader Type" option.



Purchase

Buy Now$3.99 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $3.99 USD. You will get access to the following files:

Retro Palette Swapper 2.1.yyz 4 MB

Download demo

Download
PaletteGenerator3.0.1.exe 3 MB
Download
Retro Palette Swapper Demo.zip 2 MB

Development log