ShapeShifter is a novel approach to skinning and switching between different games inside the same Unity project.
By switching your skinned assets with alternate versions while maintaining its original GUID, this tool allows for multiple versions of the same assets to coexist without ever losing references.
It supports the following asset types:
- AnimationClip
- AnimatorController
- Folders
- GameObject
- MonoScript
- Prefabs
- SceneAsset
- ScriptableObject
- Shader
- Texture2D
- TextAsset
- This is an experimental package with no official release yet. Take into account that it might bring unexpected problems into your project. Please make sure to backup your work before integrating ShapeShifter.
Here you can see some examples of what ShapeShifter is able to do:
Skinning a sprite
- After skinning a sprite, you'll be able to change the texture for each configured game version.
- After that, you can simply do a Game Switch operation and ShapeShifter will take care of replacing all skinned assets with the target game version you've selected.
- You can see the Game Switch changes happen in real time, even on a scene currently using that sprite!
Skinning a prefab
- With ShapeShifter you'll be able to experiment different designs while using the same prefab and maintaining all its references all the time.
- Notice that each game version will replace, not only the sprite from the previous example, but the whole prefab layout as well.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.