Swapping Sprite Library Assets
If swapping each Sprite of an actor individually takes too much effort, you can instead swap the entire Sprite Library Asset to another one containing alternate Sprites.
The following example shows how to switch from a Sprite Library Asset of color Sprites to another one containing identical Sprites but in grayscale:
Left: An actor with the color Sprite Library Asset. Right: The same actor with the grayscale Sprite Library Asset.
- First create visual variants of your actor's artwork. In this example, the original artwork is in color and a grayscale variant of it is created as an alternate Sprite set. Both should be saved to separate .psb files.
- Import both .psb files into the Unity Editor. Both become separate Model Prefabs in the Asset window.
- Create a Sprite Library Asset and assign each Sprite of the actor to a unique Category. It is suggested to name each Category and Label after the respective body part of the actor for convenience. Apply the changes once complete.
The Category and Label names for the parts of the color actor. - Repeat step 3 for the grayscale actor. Use the same Category and Label names for the corresponding gray Sprites.
The grayscale Sprites with the same corresponding Category and Label names. - Drag the color Model Prefab into the Scene view, and go to the root GameObject. Add a Sprite Library component to the root GameObject and assign the color Sprite Library Asset created in step 3 to the Sprite Library Asset property.
- For every Sprite Renderer in the Instantiated Prefab, add a Sprite Resolver component and ensure that the Sprite Resolver component has the same Sprite selected as the Sprite Renderer.
- With the Inspector window of the color Prefab root GameObject remaining open, go to the Asset window and assign the Sprite Library Asset created in step 4 to the Sprite Library Asset property of the Sprite Library component.
- The Sprites of the color Prefab should have switched to their grayscale counterparts of the grayscale Sprite Library Asset.
The Sprite Library Asset property is set to the grayscale version of the original Sprite Library Asset and the actor's Sprites have switched accordingly.