Graphical altercations without making a new sprite

Hello

I am trying to make a character customization option In my 2d-sprite based game where you can alter certain parts of the player sprite to any color you want, is there any way to do this? TYIA

Hey @entom1 ! May I further clarify what do you have in mind? Is it to change the player’s skin color or the shirt color? If so, you can achieve this by creating a custom shader in Shader Graph and applying it to your player. This can be done while using just the existing player Sprite. This YouTube tutorial Project Apollo - Palette Swapping with Shaders in Unity shows you how to do that.

However, if you would like to customize or swap out different Sprites hairstyles or outfits (and not just the color), then you would need to prepare the different art assets/variations and swap them out using the Sprite Renderer. This 2D Character Customization in Unity Tutorial shows you how to do just that. It illustrates how to create a Character Customization menu, with bonus features of a Randomize button and a Save button that will save all of the changes to a Player prefab that can be used in later scenes.

Hope this helps!

The first video was exactly what I was looking for! Thank you so much for your help

Awesome! Glad to hear that! :slight_smile:

Aside from playing around with shaders, you could also have those parts of the player be separate sprites (child gameobjects each with its own sprite renderer), and have the sprite images themselves be completely white (black outlines and/or shading with shades of grey should work though), and then you can simply set their color in the sprite renderer with the editor, and change the color in runtime as well.