See also: skin.ini/Blank
The skin.ini is an initialization file that is found in almost every skin folder.
This file will define how osu! will display certain skin elements.
Caution: skin.ini commands are case sensitive, make sure you follow the proper spelling and are using the correct capitalisation!
Below is the skinning changelog.
The version number, seen in the headings, is what will be used in the Version command for the skin.ini file.
Original 2007 - 2013 skin
If your skin.ini does not specify a Version, it will default to this version.
lighting.png).spinner-circle.png, spinner-background.png, and spinner-metre.png).ranking-replay.png and ranking-retry.png).sliderpoint10.png and sliderpoint30.png).UI: positioning changes / osu!: visibility update (reduced clutter).
@2x.png in the skinning element to let osu! know that the skinning element is higher in quality.spinner-middle.png, spinner-middle2.png, spinner-top.png, spinner-bottom.png, and spinner-glow.png).lighting.png.osu!taiko positioning changes
taiko-bar-right.png and taiko-bar-right-glow.png directly sits under taiko-bar-left.png.interface/UI changes
star.png instead of partially widthed star.png.osu!catch changes
fruit-ryuuta.png will no longer work from this point forward.comboburst-fruits.png).
osu!mania stage scaling adjustments
osu!mania column and upscroll adjustments
KeyFlipWhenUpsideDown and NoteFlipWhenUpsideDownNoteBodyStyle (stretch, cascade from top, cascade from bottom)LightingNWidth and LightingLWidthAllow per-type skinning of arrows
arrow-generic.png, arrow-warning.png and arrow-pause.png.play-warningarrow.png in favor of the above.osu!mania specific combobursts
comboburst-mania.png.
Always the newest version
If your skin folder does not contain a skin.ini file, it will default to this version.
latest might break).This is not a version, but a special skin folder that is created when the default skin is modified, e.g. by dragging in a custom menu background into the game window (with osu!supporter) or when attempting to modify osu!mania keybinds for the default skin from the options.
A skin in a folder named User will always use the latest skin version, regardless of any speification in skin.ini or otherwise.
Before viewing the skin.ini commands below, here are some notes.
tl;dr 0 = no and 1 = yes
Some commands only accept a boolean value (a true or a false value). When skinning, osu! is setup to only recognise a 1 (one) as true while a 0 (zero) as false.
Here is a classic example:
SliderBallFlip: 0 |
SliderBallFlip: 1 |
|---|---|
![]() |
![]() |
Note that Reisen, the sliderball, does not flip when 0 is used. However, Reisen does flip when a 1 is used. Depending on what sprite is used, you will either get a moonwalking sliderball, or one that turns around.
The tables below may list either a number, an integer or a positive integer.
When viewing these tables:
1.5, 4.295, 2, 3.0).-13, -632, 135 , 9).
376, 22, or 5).1, 2, 3, 55).A few commands may ask for a colour in the RGB or RGB(a) format.
R, G, B where R is red, G is green, and B is blue.
R, G, B, a, in addition to above, a means alpha (opacity).
osu! organises the commands with a heading command. Which may look like this [General]. osu! only uses five sections throughout the skin.ini file, which are indicated with the section headers below.
Name:
Unknown<Name>.osk.
<Name> (<Author>).osk.<Name> (<Author>), or <Name> [<.osk filename>] (<Author>) if the name in skin.ini differs from the name of the .osk file.Author:
<Name> (<Author>).osk.<Name> (<Author>), or <Name> [<.osk filename>] (<Author>) if the name in skin.ini differs from the name of the .osk file.Version:
latestskin.ini file is not present, latest will be used.skin.ini file is present, but does not use the Version command, 1.0 will be used (legacy support).AnimationFramerate:
-1 to to make osu! play all frames of the animation in one second-1AllowSliderBallTint:
0 or 10ComboBurstRandom
0 or 10CursorCentre:
0 or 110 = top-left corner1 = centredCursorExpand:
0 or 11CursorRotate:
0 or 11CursorTrailRotate:
0 or 11CustomComboBurstSounds:
HitCircleOverlayAboveNumber:
0 or 11HitCircleOverlayAboveNumer (with typo) still works for legacy supportLayeredHitSounds:
0 or 11SliderBallFlip:
0 or 11SpinnerFadePlayfield:
0 or 10SpinnerFrequencyModulate:
0 or 11SpinnerNoBlink:
0 or 10Notice
this header must be spelled as [Colours], not [Colors]!
Combo1:
Combo2:
Combo3:
Combo4:
Combo5:
Combo6:
Combo7:
Combo8:
MenuGlow:
0,78,155SliderBorder:
255,255,255SliderTrackOverride:
SongSelectActiveText:
0,0,0SongSelectInactiveText:
255,255,255SpinnerBackground:
100,100,100StarBreakAdditive:
255,182,193star2 during breaksHitCirclePrefix:
defaultHitCircleOverlap:
-2ScorePrefix:
scoreScoreOverlap:
0ComboPrefix:
scoreComboOverlap:
0HyperDash:
255,0,0HyperDashFruit:
HyperDashHyperDashAfterImage:
HyperDashNotes:
2.5 or higher....
[Mania]
Keys: 4
//*4K stuff*
[Mania]
Keys: 5
//*5K stuff*
...
Keys:
1234567891012141618ColumnStart:
136ColumnRight:
19ColumnSpacing:
0ColumnWidth:
30ColumnLineWidth:
2BarlineHeight:
1.2LightingNWidth:
LightingN use for all columns individually?LightingLWidth:
LightingL use for all columns individually?WidthForNoteHeightScale:
HitPosition:
402StageHint, LightingN, and LightingL are drawn at this positionLightPosition:
413StageLight.ScorePosition:
ComboPosition:
JudgementLine:
0 or 1LightFramePerSecond:
StageLight animation in one second?SpecialStyle:
0, 1, or 200 = none1 = (left (SP) or outer (DP) lane)2 = (right (SP) or inner (DP) lane)ComboBurstStyle:
0, 1, or 210 = Left1 = Right2 = Both (random)SplitStages:
0 or 10 = no splitting / forced SPStageSeparation:
40SeparateScore:
0 or 110 = shows on both stages at the same time1 = shows when hit on specific stageKeysUnderNotes:
0 or 10UpsideDown:
0 or 10KeyFlipWhenUpsideDown:
0 or 112.5 or higher.KeyFlipWhenUpsideDown#:
0 or 12.5 or higher.# with a valid column index (from 0 to 17).NoteFlipWhenUpsideDown:
0 or 112.5 or higher.KeyFlipWhenUpsideDown#D:
0 or 12.5 or higher.NoteFlipWhenUpsideDown#:
0 or 12.5 or higher.NoteFlipWhenUpsideDown#H:
0 or 12.5 or higher.NoteFlipWhenUpsideDown#L:
0 or 12.5 or higher.NoteFlipWhenUpsideDown#T:
0 or 12.5 or higher.NoteBodyStyle:
0, 1, or 212.5 or higher.NoteBodyStyle#:
0, 1, or 22.5 or higher.Colour#:
0,0,0,255# starts at 1ColourLight#:
55,255,255# starts at 1ColourColumnLine:
255,255,255,255ColourBarline:
255,255,255,255ColourJudgementLine:
255,255,255ColourKeyWarning:
0,0,0ColourHold:
255,191,51,255ColourBreak:
255,0,0KeyImage#:
KeyImage#D:
NoteImage#:
NoteImage#H:
NoteImage#L:
NoteImage#T:
StageLeft:
StageRight:
StageBottom:
StageHint:
StageLight:
LightingN:
LightingL:
WarningArrow:
Hit0:
Hit50:
Hit100:
Hit200:
Hit300:
Hit300g: