Export Combinations - ntd280804/Aseprite-Export-Combinations GitHub Wiki
π¨ Aseprite Modular Export: Layer Γ Tag Combinations
Export modular layers and tag combinations into organized folders β perfect for Unity, Godot, Unreal or any game engine with customizable characters.
π Description
This Aseprite script allows you to export each individual layer inside well-structured layer groups, organized by nested tag combinations.
Itβs perfect for modular character systems in game engines like Unity, Godot, or Unreal β where thousands of combinations are built from base parts, skins, and animation states.
Ideal for modular character systems, it enables exporting thousands of variants based on:
- β
Organize body parts via Layer Groups
- (e.g., FrontArm, Head, Torso)
- β
Export animation states using nested tag hierarchy
- (e.g., Idle β Idle_Sword β Idle_Sword_Loop)
- β
Customize skins/effects through layers inside each group
- (e.g., RedHair, GoldenArmor)
- β
Support deep tag nesting for sub-animations
- (e.g., Walk/Bare/Loop)
- β
Export to structured paths like:
- FrontArm/Idle/Sword/Golden.png
- FrontArm/Run/Sword/Loop/Golden.png
- FrontArm/Run/Sword/Brake/Golden.png
- β Export as spritesheets
- β Organize cleanly by tags + structured groups
- β Unlimited tag depth (recursive folder structure)
- β
Auto-parse tags using _ as level separators
- (e.g., Idle_Sword, Run_Staff_Loop)
- β Split animations into rows or columns
- β Integrate easily with Unity's ScriptableObject-based customization systems
π‘ Ideal for modular skin systems: easily swap weapons, armor, hair, effects, etc.
β οΈ Requirements & Notes
- β οΈ Do not use the same name for:
- A layer group and any of its child layers
- Tags that appear at the same level in the hierarchy
- β οΈ Tags must use underscores () to define hierarchy: TagLevel1_TagLevel2...
- Example: Run_Loopβ TagLevel1 Name = Run, TagLevel2 Name = Loop.
- β Layers outside any tag range will be skipped.
- β All body skins must be inside a named layer group.
- β Only layers inside tags will be exported.
- β Layer groups should be well-structured.
π·οΈ Multi-Level Tag Structure
To generate a nested folder structure during export, Aseprite tags must follow a consistent naming pattern using underscores _.
π Tag Format:
Use underscores (_) to define hierarchical levels of animation or state.
Each part separated by _ becomes a subfolder in the output path.
π Layer
To maintain a clean and modular export structure, this script follows the pattern:
LayerGroups/TagLevel1/TagLevel2/.../Layer.png
Examples:
- FrontArm/Idle/Golden.png
- FrontArm/Idle/Wooden.png
- Weapon/Run/Loop/Wooden.png
Why This Structure?
This path format is ideal for modular asset pipelines in game engines like Unity, Godot, or Unreal.
It enables:
π Easy swapping of components (e.g., different armors or hairstyles)
π§© Plug-and-play combination of character parts
π¦ Automatic loading using Resources.Load or addressable paths
π οΈ Cleaner ScriptableObject definitions matching asset paths
π οΈ Configuration Options
You can customize the export with the following:
Option | Description |
---|---|
π Output Directory | Where to save the exported files |
πΌ Format | PNG, GIF, JPG |
π Tag Split Mode | Choose between splitting tags into Rows or Columns |
π Scale | Export scale multiplier (1x to 10x) |
πΎ Save Sprite | Optionally save the original .aseprite after export |
π¨βπ» Author & Credits
- π§ Script by: Nguyα» n TrαΊ§n Dinh
- π§ Based on: PKGaspi's Aseprite Scripts
- π¦ GitHub: Aseprite-Export-Combinations