## Skinning Wiki

## General

This section of the wiki is designed to assist players with skinning, providing a detialed list on all possible customisble elements and how to get started with skinning. This wiki also covers the client-specific and backported features of this client. This site is still a huge WIP so certain information may not be detailed yet.

## Sprites

Sprites are used to modify various elements, including gameplay objects, user interface components, and animations. This section outlines all customizable sprites

Disclaimer: is currently in progress of being documented.

### Notes

- Origin Point defines where an image starts and is positioned from.

- Blend Mode Shows if an image gets tinted or not and if yes how it is blended.

- Any command highlighted in Green is exclusive to this client, while any command highlighted in Pink is backported.

### Cookie

menu-osu.png

- Suggested size: 1080x1080
- Origin Point: center
- Notes: Cookie displayed in the Main Menu and Song Selection

### App Icon

game.ico

- Suggested size: 32x32
- Origin Point: center
- Notes: Must be a proper .ico image, but it's easy to convert a png to an ico online.

### Home Screen

menu-background.jpg / .png

- Suggested size: 1366x768 (1920x1080 for HD)
- Origin Point: center
- Notes: Background used for various screens.

### Cursor

cursor.png

- Suggested size: 76x76 (152x152 for HD)
- Origin Point: center
- Notes: Expanding and rotation can be disabled via the skin.ini.

cursortrail.png

- Suggested size: 10x10 (20x20 for HD)
- Origin Point: center
- Notes: Trail is lengthened if cursormiddle.png is used.

cursormiddle.png

- Suggested size: 32x32 (64x64 for HD)
- Origin Point: center
- Notes: Won't rotate nor expand. Only visible if a sprite is available (or using the default skin).

## Sounds

This section outlines all customizable sound files. Shorter sounds should be in .wav format, as it offers higher audio quality with minimal loss. For longer files, it's best to use .mp3 format to save space.

Disclaimer: Taiko is currently undocumented.

### Notes

- Accepted formats: .wav, .ogg, .mp3.

### Clicks

menuback

- Suggested Format: .wav
- Notes: Clicking on menu-back or returning to the previous screen

menuhit

- Suggested Format: .wav
- Notes: Confirming a selection that switches screens

shutter

- Suggested Format: .wav
- Notes: When a screenshot is taken

### Hovers

menuclick

- Suggested Format: .wav
- Notes: Hovering above difficulties or menu buttons

### Mutiplayer Room Sounds

match-join

- Suggested Format: .wav
- Notes: Player joins a room

match-leave

- Suggested Format: .wav
- Notes: Player leaves a room

match-ready

- Suggested Format: .wav
- Notes: Player is prepared to start

match-notready

- Suggested Format: .wav
- Notes: Player revokes his start signal

match-confirm

- Suggested Format: .wav
- Notes: All players are ready, you get host of the lobby

match-start

- Suggested Format: .wav
- Notes: The match is starting, chat highlight sound, you get a PM

### Countdown Sounds

readys

- Suggested Format: .wav
- Notes: Countdown starting sound

count3s

- Suggested Format: .wav
- Notes: First sound played

count2s

- Suggested Format: .wav
- Notes: Second sound played

count1s

- Suggested Format: .wav
- Notes: Third sound played

gos

- Suggested Format: .wav
- Notes: Last sound played, gameplay starts on the next full beat

### Gameplay Sounds

metronomelow

- Suggested Format: .wav
- Notes: Catching bananas in osu!catch

comboburst(-#)

- Suggested Format: .wav
- Notes: Plays on predefined combo counts, animation naming allows multiple sounds

combobreak

- Suggested Format: .wav
- Notes: Only played if the combo count was 20 or higher before breaking

sectionpass

- Suggested Format: .wav
- Notes: Halfway through a break with more than 50% HP remaining

sectionfail

- Suggested Format: .wav
- Notes: Halfway through a break with less than 50% HP remaining

failsound

- Suggested Format: .mp3
- Notes: Failing a map at any point

applause

- Suggested Format: .mp3
- Notes: On the result screen after clearing a map

### Normal Sample Set

normal-hitnormal

- Suggested Format: .wav
- Notes: Kick sound (includes: osu!, ctb, mania)

normal-hitclap

- Suggested Format: .wav
- Notes: Clap or snare sound (includes: osu!, ctb, mania)

normal-hitfinish

- Suggested Format: .wav
- Notes: Crash sound (includes: osu!, ctb, mania)

normal-hitwhistle

- Suggested Format: .wav
- Notes: Whistle sound (includes: osu!, ctb, mania)

normal-slidertick

- Suggested Format: .wav
- Notes: Closed hihat sound (includes: osu!, ctb, mania)

normal-sliderslide

- Suggested Format: .wav
- Notes: Sound gets looped (includes: osu!, ctb, mania)

normal-sliderwhistle

- Suggested Format: .wav
- Notes: Sound gets looped (includes: osu!, ctb, mania)

### Soft Sample Set

soft-hitnormal

- Suggested Format: .wav
- Notes: Ride sound (includes: osu!, ctb, mania)

soft-hitclap

- Suggested Format: .wav
- Notes: Lighter clap or snare sound (includes: osu!, ctb, mania)

soft-hitfinish

- Suggested Format: .wav
- Notes: Lighter crash sound (includes: osu!, ctb, mania)

soft-hitwhistle

- Suggested Format: .wav
- Notes: Light bell sound (includes: osu!, ctb, mania)

soft-slidertick

- Suggested Format: .wav
- Notes: Shaker sound (includes: osu!, ctb, mania)

soft-sliderslide

- Suggested Format: .wav
- Notes: Sound gets looped (includes: osu!, ctb, mania)

soft-sliderwhistle

- Suggested Format: .wav
- Notes: Sound gets looped (includes: osu!, ctb, mania)

### Drum Sample Set

drum-hitnormal

- Suggested Format: .wav
- Notes: High tom sound (includes: osu!, ctb, mania)

drum-hitclap

- Suggested Format: .wav
- Notes: Mid tom sound (includes: osu!, ctb, mania)

drum-hitfinish

- Suggested Format: .wav
- Notes: Low tom sound (includes: osu!, ctb, mania)

drum-hitwhistle

- Suggested Format: .wav
- Notes: Open hihat sound (includes: osu!, ctb, mania)

drum-slidertick

- Suggested Format: .wav
- Notes: Light snare sound (includes: osu!, ctb, mania)

drum-sliderslide

- Suggested Format: .wav
- Notes: Sound gets looped (includes: osu!, ctb, mania)

drum-sliderwhistle

- Suggested Format: .wav
- Notes: Sound gets looped (includes: osu!, ctb, mania)

### Spinner Sounds

spinnerspin

- Suggested Format: .wav
- Notes: Played when spinning, sound gets looped, pitches up over time (osu! exclusive)

spinnerbonus

- Suggested Format: .wav
- Notes: Plays after a spinner is completed for every 1000 bonus points awarded (osu! exclusive)

## skin.ini

The skin.ini is an initialization file that is found in almost every skin folder that defines how osu! will display certain skin elements. Below is a table of all usable commands within the file.

Disclaimer: currently only osu! standard is documented.

Caution: skin.ini commands are case sensitive, make sure you follow the proper spelling and are using the correct capitalisation!

### Notes

- Sections are enclosed in square brackets [] and include [General], [Colours], and [Fonts]. Commands are only valid when placed within their corresponding section.

- You can add comments to the skin.ini by using the prefix //.

- In this client the command Version is unsupported and will be ignored if used.

- The value integer means a whole number (e.g. -13 -632 6).

- The value RGB looks like this R, G, B where R is red, G is green, and B is blue with each component ranging from 0 to 255.

- Any command highlighted in Green is exclusive to this client, while any command highlighted in Pink is backported.

### [General]

Name:

- Question: What is the name of this skin?
- Value: text (skin name)
- Default Value:
- Notes:

Author:

- Question: Who is the author of this skin?
- Value: text (skin creator)
- Default Value:
- Notes:

CursorExpand:

- Question: Should the cursor expand on clicking?
- Value: 0 (expanding) | 1 (not expanding)
- Default Value: 1
- Notes:

CursorCentre:

- Question: Should the cursor be centered?
- Value: 0 (top left corner) | 1 (centered)
- Default Value: 1
- Notes: Applies to all cursor layers

CursorRotate:

- Question: Should the cursor rotate?
- Value: 0 (no rotation) | 1 (rotation)
- Default Value: 1
- Notes:

CursorTrailRotate:

- Question: Should the cursortrail rotate?
- Value: 0 (no rotation) | 1 (rotation)
- Default Value: 1
- Notes:

AnimationFramerate:

- Question: How many frames should be displayed a second?
- Value: integer
- Default Value:
- Notes: Some exceptions: circleoverlays, sliderball, pippidon, mania notes, mania lighting

LayeredHitSounds:

- Question: Should the hitnormal sounds always be played?
- Value: 0 (no hitnormal on additions) | 1 (hitnormal on additions)
- Default Value: 1
- Notes: Does not work for osu!taiko

ComboBurstRandom:

- Question: Should combobursts be shown in a random order?
- Value: 0 (ordered) | 1 (random)
- Default Value: 0
- Notes: Does not work for osu!taiko

CustomComboBurstSounds:

- Question: On which combo marks should the comboburst sounds be played?
- Value: integers separated by comma
- Default Value:
- Notes: comboburst.wav will not be used when this command is active

HitCircleOverlayAboveNumber:

- Question: Should the hitcircleoverlay be drawn above the numbers?
- Value: 0 (numbers above overlay) | 1 (numbers below overlay)
- Default Value: 1
- Notes: HitCircleOverlayAboveNumer is also a valid command

SliderStyle:

- Question: What style should the sliders have?
- Value: 1 (segmented) | 2 (gradient)
- Default Value: 2
- Notes:

SliderBallFlip:

- Question: Should the sliderball flip when it passes the reversearow?
- Value: 0 (no flip) | 1 (flip)
- Default Value: 0
- Notes:

AllowSliderBallTint:

- Question: Should the sliderball be tinted to combo colours?
- Value: 0 (no tint) | 1 (tint to combo colours)
- Default Value: 1
- Notes:

SpinnerNoBlink:

- Question: Should the highest bar of the metre blink?
- Value: 0 (blinking) | 1 (no blinking)
- Default Value: 0
- Notes: For old style spinners using spinner-metre.png

SpinnerFadePlayfield:

- Question: Should the spinner add black bars during spins?
- Value: 0 (no black bars) | 1 (black bars)
- Default Value: 0
- Notes:

SpinnerFrequencyModulate:

- Question: Should the spinnerspin sound pitch up while spinning?
- Value: 0 (same pitch) | 1 (pitch up)
- Default Value: 1
- Notes: Starts low and pitches to a maximum

DanceFrameDivisor:

- Question: How fast should dance frame animations play?
- Value: decimal number (double)
- Default Value: 1.0
- Notes: This value is a divisor. Higher values slow the animation (e.g. 2.0 = half speed). Lower values speed it up (e.g. 0.5 = double speed). Use a dot for decimals.

### [Colours]

SongSelectDropdownColour:

- Question: What colour should the song select dropdowns be?
- Value: RGB
- Default Value: 0,0,0
- Notes:

CrossMenuTopColour:

- Question: What colour should the top layer of the animated PS3 background be tinted in?
- Value: RGB
- Default Value: 81,212,255
- Notes: This background can be enabled in the in-game settings

CrossMenuBottomColour:

- Question: What colour should the bottom layer of the animated PS3 background be tinted in?
- Value: RGB
- Default Value: 24,36,108
- Notes: This background can be enabled in the in-game settings

Holiday2024_Primary_Colour_1:

- Question: What colour should be used for Holiday Light Show primary colour #1?
- Value: RGB
- Default Value: 211,47,47
- Notes: Custom colour used by the Holiday 2024 Light Show.

Holiday2024_Primary_Colour_2:

- Question: What colour should be used for Holiday Light Show primary colour #2?
- Value: RGB
- Default Value: 56,142,60
- Notes: Custom colour used by the Holiday 2024 Light Show.

Holiday2024_Ambient_Colour_1:

- Question: What colour should be used for Holiday Light Show ambient colour #1?
- Value: RGB
- Default Value: 255,255,204
- Notes: Custom colour used by the Holiday 2024 Light Show (used for ticks/claps).

Holiday2024_Ambient_Colour_2:

- Question: What colour should be used for Holiday Light Show ambient colour #2?
- Value: RGB
- Default Value: 255,228,181
- Notes: Custom colour used by the Holiday 2024 Light Show.

SongSelectActiveText:

- Question: What colour should the text of the active panel be tinted in?
- Value: RGB
- Default Value: 0,0,0
- Notes: The currently selected beatmap (in a set)

SongSelectInactiveText:

- Question: What colour should the text of the inactive panels be tinted in?
- Value: RGB
- Default Value: 255,255,255
- Notes:

SongSelectGroupActive:

- Question: What colour should active beatmap group headers be tinted?
- Value: RGB
- Default Value: 163,240,44
- Notes: Group header when opened / active.

SongSelectGroupInactive:

- Question: What colour should inactive beatmap group headers be tinted?
- Value: RGB
- Default Value: 35,50,143
- Notes: Group header when not opened.

SongSelectGroupInactiveCur:

- Question: What colour should inactive beatmap group headers be tinted when they contain the currently selected beatmap?
- Value: RGB
- Default Value: 35,90,193
- Notes: Helps indicate where the current selection lives when a different group is opened.

SongSelectSetChildren:

- Question: What colour should beatmap difficulties be tinted when their set is opened?
- Value: RGB
- Default Value: 0,150,236
- Notes: Used for the child panels inside the active group.

SongSelectSetChildrenNew:

- Question: What colour should new/unplayed beatmap difficulties be tinted when their set is opened?
- Value: RGB
- Default Value: 68,156,255
- Notes: Used for child panels marked as new/unplayed.

SongSelectSelected:

- Question: What colour should the currently selected beatmap panel be tinted?
- Value: RGB
- Default Value: 255,255,255
- Notes: Applies to the selected difficulty within a set.

SongSelectPlayed:

- Question: What colour should played beatmap sets be tinted?
- Value: RGB
- Default Value: 233,104,0
- Notes: Used for set headers when the set contains played difficulties (collapsed state).

SongSelectUnplayed:

- Question: What colour should new/unplayed beatmap sets be tinted?
- Value: RGB
- Default Value: 241,139,159
- Notes: Used for set headers when the set is new/unplayed (collapsed state).

SongSelectSingle:

- Question: What colour should single-difficulty beatmap sets be tinted?
- Value: RGB
- Default Value: 220,20,60
- Notes: Used when a set only has one difficulty (or is treated as a single item).

MenuGlow:

- Question: What colour should the spectrum bars be?
- Value: RGB
- Default Value: 0,78,155
- Notes:

MenuKiaiGlow:

- Question: What colour should the menu's kiai glow be?
- Value: RGB
- Default Value: 0,0,255
- Notes:

EditorTaikoBlue:

- Question: What colour should the Kat (blue) circless in the taiko editor be?
- Value: RGB
- Default Value: 67,142,172
- Notes:

EditorTaikoRed:

- Question: What colour should the Don (red) circles in the taiko editor be?
- Value: RGB
- Default Value: 235,69,44
- Notes:

EditorTaikoYellow:

- Question: What colour should the sliders in the taiko editor be?
- Value: RGB
- Default Value: 252,184,6
- Notes:

StarBreakAdditive:

- Question: What colour should be added to star2 during breaks?
- Value: RGB
- Default Value: 255,182,193
- Notes:

InputOverlayText:

- Question: What colour should the numbers on the input keys be tinted?
- Value: RGB
- Default Value: 0,0,0
- Notes:

SliderBall:

- Question: What colour should the default sliderball be coloured in?
- Value: RGB
- Default Value: 2,170,255
- Notes:

SliderTrackOverride:

- Question: What colour should all sliderbodies be coloured in?
- Value: RGB
- Default Value:
- Notes: If not defined tracks are coloured in combo colours

SliderBorder:

- Question: What colour should be used for the sliderborders?
- Value: RGB
- Default Value: 255,255,255
- Notes:

SpinnerBackground:

- Question: What colour should be added to the spinner-background?
- Value: RGB
- Default Value: 100,100,100
- Notes: Tinting of spinner-background.png

Combo1:

- Question: What colour is used for the last combo?
- Value: RGB
- Default Value: 255,192,0
- Notes: Only defined colours are shown

Combo2:

- Question: What colour is used for the first combo?
- Value: RGB
- Default Value: 0,202,0
- Notes: Only defined colours are shown

Combo3:

- Question: What colour is used for the second combo?
- Value: RGB
- Default Value: 18,124,255
- Notes: Only defined colours are shown

Combo4:

- Question: What colour is used for the third combo?
- Value: RGB
- Default Value: 242,24,57
- Notes: Only defined colours are shown

Combo5:

- Question: What colour is used for the fourth combo?
- Value: RGB
- Default Value:
- Notes: Only defined colours are shown

Combo6:

- Question: What colour is used for the fifth combo?
- Value: RGB
- Default Value:
- Notes: Only defined colours are shown

Combo7:

- Question: What colour is used for the sixth combo?
- Value: RGB
- Default Value:
- Notes: Only defined colours are shown

Combo8:

- Question: What colour is used for the seventh combo?
- Value: RGB
- Default Value:
- Notes: Only defined colours are shown

### [Fonts]

HitCirclePrefix:

- Question: What prefix is used for the hitcircle numbers?
- Value: prefix (or) folder(s)/prefix
- Default Value: default
- Notes:

HitCircleOverlap:

- Question: By how many pixels should the hitcircle numbers overlap?
- Value: integer
- Default Value: -2
- Notes: Negative integers add a gap

ScorePrefix:

- Question: What prefix is used for the score numbers?
- Value: prefix (or) folder(s)/prefix
- Default Value: score
- Notes:

ScoreOverlap:

- Question: By how many pixels should the score numbers overlap?
- Value: integer
- Default Value: -2
- Notes: Negative integers add a gap

ComboPrefix:

- Question: What prefix is used for the combo numbers?
- Value: prefix (or) folder(s)/prefix
- Default Value: score
- Notes: If custom pathed score numbers are set, the root folder's score set is used

ComboOverlap:

- Question: By how many pixels should the combo numbers overlap?
- Value: integer
- Default Value: -2
- Notes: Negative integers add a gap