osu!
Personal tools
Namespaces
Variants
Actions
Please be aware that the osu!wiki will be moving to GitHub.
You won't be able to edit articles soon so make sure to learn how to use GitHub.
Go to the new home of the osu!wiki

Skin.ini

From osu!wiki
Jump to: navigation, search
Other Languages

Français  Русский  Bahasa Indonesia  中文  Deutsch  日本語  Português 


Osu!sys os.png

Skinning Skin.ini
Tutorial » Interface Standard Taiko Catch the Beat Mania Sounds
Skin elements » Interface Standard Taiko Catch the Beat Mania Sounds

skin.ini is an initialization file (format) found in almost every skin folder! It'll define how osu! will display its skinning elements.

Contents


Note: when a parameter is in italics, it describes what should be filled in. (refer to notes, if any)

// Like in .osu and .osb files, single-line comments are OK, like this one!

[General]

Command Question Values Default Notes
Name: What is the name of this skin? skin name
Author: Who is the author of this skin? skin creator Your name. Using your forum username is preferred
Version: How should the skin behave? 1.0/2.0/2.X/latest With skin.ini (without command) = 1.0
Without skin.ini = latest
See #Skin Versions for details
SliderBallFlip: If the sliderball is reversed, should the sliderball sprite flip horizontally? 0/1 1 Standard mode
Note: in most cases a 0 = no and a 1 = yes
If you're still unsure, these images should help explain it (in most cases!)
With 0
Sliderball flip-0.gif

With 1
Sliderball flip-1.gif
SliderBallFrames: How many frames do you have for the sliderball animation? + integer Standard mode
Slider Velocity dependent
This command might be obsolete
AllowSliderBallTint: Should the slider combo colour tint the slider ball? 0/1 0 The default sliderball will always get tinted, if enabled in Options
SliderStyle: What style should the sliders use? 1/2 2 Stable (Fallback) stream only
1 - Segmented tracks
2 - Gradient tracks
CursorRotate: Should the cursor sprite rotate constantly? 0/1 1
CursorExpand: Should the cursor expand when clicked? 0/1 1
CursorCentre: Should the cursor have an origin at the centre of the image? 0/1 1 0 = top-left corner
1 = centered
CursorTrailRotate: Should the cursor trail sprite rotate constantly? 0/1 1
HitCircleOverlayAboveNumber: Should the hitcircleoverlay sprite be drawn above the hitcircle combo number? 0/1 1 Standard mode
Misspelling of command (HitCircleOverlayAboveNumer) still works to support old skins using the misspelled command
SpinnerFrequencyModulate: Should the sound frequency be modulated depending on the spinner score? 0/1 1 Standard mode
LayeredHitSounds: Should the normal hitsound always be played with the additions? 0/1 1 Standard, Catch the Beat, Mania modes
SpinnerFadePlayfield: Should the spinner fade the playfield? 0/1 1 Standard mode
adds two black bars above and beyond the spinner-background
SpinnerNoBlink: Should the last spinner bar NOT blink? 0/1 0 Standard mode
For old style spinners
AnimationFramerate: At what FPS should all (with exceptions) animations play at? +integer Exceptions: circleoverlays, sliderball, pippidon, mania notes and lighting
CustomComboBurstSounds: On which combo milestones should the comboburst hitsound be played? +integer, +integer, +integer, … 50,75,100,200,300… Just the sound, not the image!
Comma-split list of combos with combo sounds
ComboBurstRandom: Should the combo burst sprites appear in random order? 0/1 0

[Colours]

Caution: "[Colors]" (spelling without the "u") will not work!

Notes:

  • All colours use the RGB or RGBa format! (Wikipedia on the RGB color model)
  • If RGBa is used on a RGB parameter, osu! will simply ignore the specified alpha/opacity
Command Question Values Default Notes
Combo1: What colour should the last combo be? RGB 255,192,0 Catch the Beat and Standard modes
This will override the beatmap's colours!
Combo1 appears at the end
Combo2 appears first
Combo2: What colour should the first combo be? RGB 0,202,0
Combo3: What colour should the second combo be? RGB 18,124,255
Combo4: What colour should the third combo be? RGB 242,24,57
Combo5: What colour should the fourth combo be? RGB
Combo6: What colour should the fifth combo be? RGB
Combo7: What colour should the sixth combo be? RGB
Combo8: What colour should the seventh combo be? RGB
SliderBorder: What colour should the slider's border be? RGB 255,255,255 Standard mode
Determines the colour for the slider's border
MenuGlow: What colour should the spectrum bars be coloured in? RGB 0,78,155 This is the spectrum bars in the main menu, around the osu!cookie
Supporter tag.png required
SliderBall: What should the non-tinted sliderball's colour be? RGB 2,170,255 Standard mode
To use this, tinting the sliderball must be disabled in Options
SpinnerBackground: What colour should be added to the spinner-background? RGB 100, 100, 100 Standard mode
Suggestion: if using a transparent image, use 0,0,0
SongSelectActiveText: What colour should the text of the active panels be tinted in? RGB 0,0,0 The colour of text in the currently active group in song selection
SongSelectInactiveText: What colour should the text of the inactive panels be tinted in? RGB 255,255,255
StarBreakAdditive: What colour should be added to star2 during breaks? RGB 255,182,193
SliderTrackOverride: What colour should the slider's track be coloured in? RGB combo colour Standard mode
Using this command will make all slider tracks that specified colour!
InputOverlayText: What color should the input text color be? RGB 124,108,246 Catch the Beat and Standard modes

[Fonts]

All font sprites follow this style: prefix-#.png where # is from 0 to 9 and prefix is the font's "name"
Command Question Values Default Notes
HitCirclePrefix: What prefix is used for the hitcircle numbers? prefix default You can use a custom path
HitCircleOverlap: By how many pixels should the hitcircle numbers overlap? +/- integer -2 Negative integers will add a gap and vise versa
ScorePrefix: What prefix is used for the score numbers? prefix score You can use a custom path
ScoreOverlap: By how many pixels should the score numbers overlap? +/- integer -2 Negative integers will add a gap and vise versa
ComboPrefix: What prefix is used for the combo numbers? prefix score If custom pathed score numbers are set, the default score is used
You can use a custom path
ComboOverlap: By how many pixels should the combo numbers overlap? +/- integer -2 Negative integers will add a gap and vise versa

[CatchTheBeat]

Notes:

  • All colours use the RGB or RGBa format! (Wikipedia on the RGB color model)
  • If RGBa is used on a RGB parameter, osu! will simply ignore the specified alpha/opacity
Command Question Values Default Notes
HyperDash: What colour should be used for the dash? RGB 255,0,0 This is the default color for HyperDashAfterImage and HyperDashFruit
HyperDashAfterImage: What colour should be used for the after images? RGB HyperDash This colour outlines the Catcher after catching a hyper dash fruit
HyperDashFruit: What colour should be used for the fruits? RGB HyperDash This colour outlines the hyper dash fruit

[Mania]

Notes:

  • All colours use the RGB or RGBa format! (Wikipedia on the RGB color model)
  • If RGBa is used on a RGB parameter, osu! will simply ignore the specified alpha/opacity
  • integer = a whole number and number = a number with an optional decimal e.g. 1.2
  • when a command is depend on the total number of keys
    • too many: extras are ignored
    • not enough: missing commands will use default values
  • You MUST redefine every key you want to skin, separately!!
    • Like this (Yours should look like this but without those dots and have actual commands):
...

[Mania]
Keys: 4
*4K stuff*

[Mania]
Keys: 5
*5K stuff*

...
Command Question Values Default Notes
Keys: What is the key count are these settings for? 1/2/3/4/5/6/7/8/
9/10/12/14/16/18
Required! Mania skins must define the number of keys they apply to
All values below are based on default skin element names and 4K
ColumnStart: Where does the most-left column start? +number 60
ColumnRight: Up to which point can columns be drawn? +number 19 The minimum space between the right of the screen and the right of the columns
Colour#: What should the background colour be used for the column's lane? RGB(a) 0,0,0,255 The amount needed is dependent on # of Keys
# starts at 1
ColourLight#: What colour should be used for the column's lighting? RGB 255,255,255 When keys are pressed, a mania-stage-light sprite is shown and is tinted with these colours
The amount needed is dependent on # of Keys
# starts at 1
ColourHold: What colour should be used for the combo counter during holds? RGB(a) 255,191,51,255 If using RGBa, the combo will change opacity during the hold note
ColourBreak: What colour should be used for the combo counter when it breaks? RGB 255,0,0
ColourColumnLine: What colour should be used for the column lines? RGB(a) 255,255,255,255 The colour of column lines splitting the columns
ColourBarline: What colour should be used for the bar separator? RGB(a) 255,255,255,255 The barline is the line that represents the whole beat.
ColourJudgementLine: What colour should be used for the judgement line? RGB 255,255,255
ColourKeyWarning: What colour should be used for the keybinding reminders? RGB 0,0,0
ColumnLineWidth: What widths should each column separators have individually? +number, +number, +number, +number, +number 2,2,2,2,2 A comma-separated list of decimal values defining the width of column lines
The amount needed is dependent on # of Keys + 1
ComboBurstStyle: On what side should the comboburst appear? 0/1/2 1 0 = Both
1 = Right
2 = Left
BarlineHeight: How thick is the barline? +number 1.2
ColumnWidth: What widths do all columns have individually? +number, +number, +number, +number 30,30,30,30 The amount needed is dependent on # of Keys
WidthForNoteHeightScale: Which height should all notes have if columns have individual widths? +number 0 The column width that notes should have their height scaled relative to. A lower value will make the notes thinner in height.
A value of 0 means the lowest ColumnWidth value will be used.
If not defined, the height scale of the smallest column width is used.
ColumnSpacing: What is the distance between all columns individually? +number, +number, +number 0,0,0 The spacing between two columns (not to be confused with StageSeparation)
The spaces in between each track will be transparent
The amount needed is dependent on # of Keys - 1
LightingNWidth: Which widths should LightingN use for all columns individually? +number, +number, +number, +number 0,0,0,0 Width for mania hit lighting.
0 = use ColumnWidth
The amount needed is dependent on # of Keys
Skin Version 2.5+
LightingLWidth: Which widths should LightingL use for all columns individually? +number, +number, +number, +number 0,0,0,0 Width for mania hold lighting.
0 = use ColumnWidth
The amount needed is dependent on # of Keys
Skin Version 2.5+
SpecialStyle: What SpecialStyle should be used for this key count, if available? 0/1/2 0 0 = special key is in the middle
1 = if non-split keyboard, far left; if CO-OP keyboard, outer lane
2 = if non-split keyboard, far right; if CO-OP keyboard, inner lane
JudgementLine: Should an additional line be drawn above the StageHint? 0/1 1 If 1, a white line above mania-stage-hint, the blue area above the keys
HitPosition: On which height should the judgement line be drawn at? +integer 402 LightingN & LightingL are drawn above this position
The vertical hit position measured in osu!pixels (240 min, 480 max)
ComboPosition: On which height should the combo counter appear at? +integer 111 The vertical position of the combo text
ScorePosition: On which height should the hitbursts appear at? +integer 325 The vertical position of the miss/50/100/300/MAX sprites
LightPosition: On which height should the stage lights be drawn at? +integer 413 Affects only the StageLight; The vertical position of the column lights
UpsideDown: ¿uʍop ǝpᴉsdn (ʎlqᴉɔɹoɟ) ǝq ǝƃɐʇs ǝɥʇ plnoɥS
(Jokes aside) Should the stage be (forcibly) upside down?
0/1 0 Act like DDR/StepMania?
SplitStages: Should the stage be split into 2 stages? 0/1 Always act like CO-OP?
SeparateScore: Should the hitburst only be shown on the stage it was scored on? 0/1 1
StageSeparation: What distance should the 2 stages have, when separated? +number 40
KeysUnderNotes: Should the keys be covered by notes when passing them? 0/1 0
LightFramePerSecond: How many frames does StageLight have? +integer 60
NoteBodyStyle: What style should be used for all hold note bodies? 0/1/2 1
Skin Version 2.4- will force stretch
0 = stretched
1 = repeat top
2 = repeat bottom
Skin Version 2.5+
NoteBodyStyle#: Same thing as above
Specifying this will override
# starts at 0
The amount permitted is dependent on # of Keys
KeyFlipWhenUpsideDown: Should keys be flipped when the stage is flipped? 0/1 1 Skin Version 2.5+
KeyFlipWhenUpsideDown#: Same thing as above
Specifying this will override
# starts at 0
The amount permitted is dependent on # of Keys
NoteFlipWhenUpsideDown: Should notes, overall, be flipped when the stage is flipped? 1
Skin Version 2.4- will force 0
When the UpsideDown option is on, this will control whether normal (non-LN) note sprites will be flipped vertically
Skin Version 2.5+
NoteFlipWhenUpsideDown#: Should the specified column's note be flipped when the stage is flipped? Same thing above
Specifying this will override
# starts at 0
The amount permitted is dependent on # of Keys
NoteFlipWhenUpsideDownH: Should the hold note's head be flipped when the stage is flipped? NoteFlipWhenUpsideDown Same as above but for controlling the vertical flip of LN "head" sprites under UpsideDown. Note that this option defaults to the value of NoteFlipWhenUpsideDown, since normal note sprites and LN head sprites tend to look similar
NoteFlipWhenUpsideDown#H: Should the specified column's hold note's head be flipped when the stage is flipped? Same thing above
Specifying this will override
# starts at 0
The amount permitted is dependent on # of Keys
NoteFlipWhenUpsideDownL: 1
0 for 2.4 and below
Same as above but for controlling the vertical flip of LN "length" (body) sprites under UpsideDown
NoteFlipWhenUpsideDown#L: Should the column's hold note body be flipped when the stage is flipped? Same thing above
Specifying this will override
# starts at 0
The amount permitted is dependent on # of Keys
NoteFlipWhenUpsideDownT: 1
Skin Version 2.4- will force 0
Same as above but for controlling the vertical flip of LN "tail" sprites under UpsideDown. Note that this option is always inverted just before it's used, so 0 means 1 and 1 means 0. This is because the tail sprite is usually just the head sprite flipped around
NoteFlipWhenUpsideDown#T: Should the column's hold note tail be flipped when the stage is flipped? Same thing above
Specifying this will override
# starts at 0
The amount permitted is dependent on # of Keys
KeyImage#: What is the filename for the column's idle key image? image_name # starts at 0
The amount permitted is dependent on # of Keys
KeyImage#D: What is the filename of the column's pressed key image? image_name # starts at 0
The amount permitted is dependent on # of Keys
NoteImage#: What is the filename of the column's note image? image_name # starts at 0
The amount permitted is dependent on # of Keys
NoteImage#H: What is the filename of the column's hold note head image? image_name # starts at 0
The amount permitted is dependent on # of Keys
NoteImage#L: What is the filename of the column's hold note body image? image_name # starts at 0
The amount permitted is dependent on # of Keys
NoteImage#T: What is the filename of the column's hold note tail image? image_name # starts at 0
The amount permitted is dependent on # of Keys
StageRight: What is the name of the right stage image? image_name
StageLeft: What is the filename of the left stage image? image_name
StageBottom: What is the filename of the bottom stage image? image_name This image will not be stretched to fit all of the columns
Based on 480px height
StageHint: What is the filename of the stage hint image? image_name This is the sprite for the judgement line
StageLight: What is the name of the stage light image? image_name Sprite image name for mania light
Hit0: What is the name of the hit0 image? image_name The ranking-panel shows the default mania-hit# if custom ones are defined
Hit50: What is the name of the hit50 image? image_name
Hit100: What is the name of the hit100 image? image_name
Hit200: What is the name of the hit200 image? image_name
Hit300: What is the filename of the hit300 image? image_name
Hit300g: What is the filename of the hit300g image? image_name
LightingN: What is the filename of the note lighting image? image_name Sprite image name for note lighting
LightingL: What is the filename of the hold note lighting image? image_name Sprite image name for hold note lighting
WarningArrow: What is the filename of the warning arrow image? image_name This spite appears at the start of a beatmap, if there is enough pre-time.

References

This is not part of the skin.ini file but we'd like to thank these users/resources:




Contents of
Logo.png
wiki
Getting Started Registration Installation Newbie's guide Game Interface Options Hit Objects
osu! Game Styles Basic explanation Multi-play
External ports » osu!stream osu!droid opsu! osu!wp T-Aiko Beats
External clients » osu!tourney osu!MapDownloader
World of osu!
Miscellaneous » Mascots osu!academy osu!talk
Beatmap Editor Compose / Design (Scripting) / Timing / Song Setup

Beatmapping Beat Snap Divisor / Distance Snap Custom Sample Overrides Kiai Time Mapping Techniques Skinning Skin.ini Storyboarding

Online Editing
and Ranking
Beatmap forum Submission Beatmap Approval (How to Get Your Map Ranked) Modding (Getting Your Map Modded) Music Theory Audio Editing Kudosu / Star Priority
People The Team Administrators/Global Moderation Team Quality Assurance Team Beatmap Nomination Group Language Moderators osu! Alumni Support Team Community Contributors List of notable people