AstroDX Wiki
Skin Creation

Skin Manifest

Top-Level Properties

PropertyTypeDefaultDescription
namestringN/AThe display name of the skin. This is shown in the skin selection menu.
designerstringN/AThe name of the skin's designer.
ringSpriteDefinition{ "path": "ring.png", "ppu": 115 }The ring sprite that covers the play area.

If you don't declare the properties in your JSON file, they will use the default values instead. Invalid paths will be ignored and don't show up as options in-game.


Colors

These properties define the tint colors applied to guide marks behind the notes. Colors are specified as hexadecimal strings (e.g., "#FF5733" or "#FF5733FF" for RGBA).

PropertyTypeDefault
tap_colorColorN/A
each_colorColorN/A
break_colorColorN/A
mine_colorColorN/A
slide_colorColorN/A

Tap Note Sprites

Sprites for tap notes and their variants.

PropertyTypeDefault Path
tapSpriteDefinition"tap.png"
tap_eachSpriteDefinition"tap_each.png"
tap_breakSpriteDefinition"tap_break.png"
tap_mineSpriteDefinition"tap_mine.png"
tap_exSpriteDefinition"tap_ex.png"

Star Note Sprites

Sprites for star-shaped notes and their variants.

PropertyTypeDefault Path
starSpriteDefinition"star.png"
star_altSpriteDefinition"star_alt.png"
star_eachSpriteDefinition"star_each.png"
star_breakSpriteDefinition"star_break.png"
star_mineSpriteDefinition"star_mine.png"
star_exSpriteDefinition"star_ex.png"

Hold Note Sprites

Sprites for hold notes and their variants.

PropertyTypeDefault Path
holdSpriteDefinition"hold.png"
hold_eachSpriteDefinition"hold_each.png"
hold_breakSpriteDefinition"hold_break.png"
hold_mineSpriteDefinition"hold_mine.png"
hold_slideSpriteDefinition"hold_slide.png"
hold_exSpriteDefinition"hold_ex.png"
hold_activeSpriteDefinition"hold_active.png"
hold_each_activeSpriteDefinition"hold_each_active.png"
hold_break_activeSpriteDefinition"hold_break_active.png"
hold_mine_activeSpriteDefinition"hold_mine_active.png"
hold_slide_activeSpriteDefinition"hold_slide_active.png"

Touch Note Sprites

Sprites for touch notes.

PropertyTypeDefault Path
touchSpriteDefinition"touch.png"
touch_eachSpriteDefinition"touch_each.png"
touch_breakSpriteDefinition"touch_break.png"
touch_mineSpriteDefinition"touch_mine.png"
touch_hitSpriteDefinition"touch_hit.png"
touch_stackSpriteDefinition"touch_stack.png"
touch_starSpriteDefinition"touch_star.png"
touch_star_altSpriteDefinition"touch_star_alt.png"
touch_star_eachSpriteDefinition"touch_star_each.png"
touch_star_breakSpriteDefinition"touch_star_break.png"
touch_star_mineSpriteDefinition"touch_star_mine.png"
touch_star_hitSpriteDefinition"touch_star_hit.png"

Touch Hold Sprites

Sprites for touch hold notes.

PropertyTypeDefault Path
touch_hold_trSpriteDefinition"touch_hold_tr.png"
touch_hold_brSpriteDefinition"touch_hold_br.png"
touch_hold_blSpriteDefinition"touch_hold_bl.png"
touch_hold_tlSpriteDefinition"touch_hold_tl.png"
touch_hold_breakSpriteDefinition"touch_hold_break.png"
touch_hold_mineSpriteDefinition"touch_hold_mine.png"
touch_hold_bgSpriteDefinition"touch_hold_bg.png"
touch_hold_break_bgSpriteDefinition"touch_hold_break_bg.png"
touch_hold_mine_bgSpriteDefinition"touch_hold_mine_bg.png"

Touch Dot Sprites

Sprites for the dot sprites at the center of touch notes.

PropertyTypeDefault Path
touch_dotSpriteDefinition"touch_dot.png"
touch_dot_eachSpriteDefinition"touch_dot_each.png"
touch_dot_breakSpriteDefinition"touch_dot_break.png"
touch_dot_mineSpriteDefinition"touch_dot_mine.png"

Slide Arrow Sprites

Sprites for the arrows shown along slide paths.

PropertyTypeDefault Path
arrowSpriteDefinition"arrow.png"
arrow_eachSpriteDefinition"arrow_each.png"
arrow_breakSpriteDefinition"arrow_break.png"

Fan Slide Sprites

Sprites for fan-shaped slides.

PropertyTypeDefault
fanSpriteDefinition{ "path": "fan.png", "ppu": 58 }
fan_eachSpriteDefinition{ "path": "fan_each.png", "ppu": 58 }
fan_breakSpriteDefinition{ "path": "fan_break.png", "ppu": 58 }
fan_erosionSpriteDefinition{ "path": "fan_erosion.png", "ppu": 58 }

SpriteDefinition Type

Each sprite property uses the SpriteDefinition type with the following fields:

PropertyTypeDefaultDescription
pathstringN/AThe relative path to the image file within the skin folder.
ppufloat200Pixels per unit in-game. Lower values make the sprite appear larger. A value of 100 means 100 pixels equals 1 unit.
pivot_xfloat0The horizontal pivot point of the sprite, normalized from 0 (left) to 1 (right). A value of 0.5 centers the pivot horizontally.
pivot_yfloat0The vertical pivot point of the sprite, normalized from 0 (bottom) to 1 (top). A value of 0.5 centers the pivot vertically.
topfloat0The top slice border for a 9-slice sprite, measured from the top edge in pixels.
bottomfloat0The bottom slice border for a 9-slice sprite, measured from the bottom edge in pixels.

Supported image formats are those recognized by Unity's Texture2D.LoadImage method, which includes PNG, JPEG, and other common formats.


Example

目录