This behavior requires the plugin that goes with it: construct.net/en/construct-2/addons/364/skin-plugin
Skin it
Skin it is a pack containing a plugin and a behavior that will allow you to easily implement a skin system in your game.
The plugin
A skin group is a global plugin that will contain every information about a set of skin. Each skin contains a number of subskin that you set up yourself.
You can have multiple skin groups for categorisation purposes, and each group is referred to with a tag that you need to set up in the skin group's parameters.
Each skin group allows you to get a random skin and a random subskin from a given skin.
The behavior
The behavior will allow you to attach a skin to a sprite.
The default skin is whatever the sprite contains before the skin gets attached.
The skin group tag needs to be set as it can't be changed at runtime. It links the behavior to the appropriate skin group.
The skin and subskin tag are the skin values that will be used on start of layout.
Use default skin shall be set to Yes if you don't want the object to start with a skin.
Hide default skin means that the sprite will get set to invisible if a skin used, and visible if no skin is used.
A sprite can hold multiple skin behaviors, each with its own properties. The skins, then get layered following the behavior order, from top to bottom.
A skin, as it is also a sprite, can hold a skin too.
Use cases
In the demo, you will find a wearable equipment system.
You can also make a regular skin system where the character gets entirely replaced by new skins.
You can also make an NPC system where every NPC is the same sprite, but the visuals get replaced by a skin.
Skin it basically separates a sprite from its texture, making anything with dynamic texture relatively easy to set up.
The skins never need to be loaded as well. They only need to be stored in an object bank layout to have a model for creating them. You can also decide to use different resolution skins by resizing them in the object bank.