General Info / Disclaimer
Both listings focus on files present on the Stable (Latest) release stream and may include changes and additions from the cuttingedge release stream.
osu!lazer is not considered in the listings!
This listing is based on extensive research from multiple sources (old and current skins, changelog entries, ingame validation, or other threads).
Changes and additions will not always be added immediately when they go live.
Facts are "as it currently is!" Inconsistencies may be due to bugs, mistakes or oversights during coding.
Do not send any requests for access for editing of the detailed list! That is to prevent vandalism and falsifying facts!
Reply here or send a PM if there are oversights, wrong facts or mistakes/typos. Suggestions for new tables or columns are welcomed. All of these will be checked and added to the list.
Important notes for the detailed list
- sprites = contains all image files and their functions
- sounds = contains all audio files and their functions
- skin.ini = contains all configurable settings of a skin and their functions
- skin versions = small overview about changes done by the line "Version:" in the skin.ini-file
Most gameplay elements consist of multiple files.
Some files are used in specific moments or under certain conditions.
Sorting files into categories show the relationships and interactions between multiple files.
Notes are infos, facts, or a small description on what this file will do or what attributes and behaviours it holds.
Some cells are merged to not repeat the same notes multiple times.
Coloured boxes are mainly used to show which game mode uses certain files.
pink = osu! (Standard)
green = osu!taiko (Taiko)
blue = osu!catch (Catch the Beat)
purple = osu!mania (Mania)
orange = used in gameplay
grey = User Interface (UI) or shared stuff
These little markers on boxes can be hovered above and show additional information that can be rather difficult to understand. They aren't shown if the sheets are viewed per HTML-view.
Some files were removed from the default skin but can still be loaded to support very old skins.
@2x is the suffix for HD sprites. They have doubled dimension sizes and are used for resoulutions using 800p or higher.
If the name contains "(-n)", you can animate this element in seperate frames, starting at frame 0.
The sliderball and pippidon sprites use "(n)" instead of "(-n)" before a better animation system was added.
Exceptions to this are the combobursts; they always display a single sprite at a time and rotate through all sprites at each combo milestone.
Origin points or Anchors are points where the sprites are positioned from on the screen or containers. Some boxes also have notes with exact on screen positions or container positions.
Dimension sizes can be used freely, but there are some exceptions where sprites have a maximum area or minimum area. Measurements of the default sprites will therefore not be listed.
Measurements listed are recommendations that are free to be followed or ignored.
The blending mode describes how a sprite is rendered into the game.
- Normal indicates that sprites are overlaying the background how they are.
- multiplicative indicates that sprites can be coloured or change colours during gameplay. If a sprite is multiplicated by white, it shows up like if it is a "normally" blended sprite.
- additive indicates sprites that behave a bit different from multiplicative blending. Darker colours of the sprite appear as if they are transparent.
Some sprites can be coloured via the skin.ini-file while some other sprites get automatically coloured by the game itself.
There are two types of lines:
- section header ("[Fonts]")
- normal line ("HitCirclePrefix")
All lines only work if they are placed under the correct section.
They don't need to follow any order.
In case of duplicate lines, only the first line found is used.
Any "[Mania]" section must include the line "Keys:" to work properly. Each keycount needs its own section.
All lines are questions shortened into one command. Values are the answers to these questions.
A value can be:
- a switch type (0/1),
- an RGB(a) colour code (255,128,0),
- an integer (whole/non-decimal number),
- a number,
- or a word.
Some osu!mania lines need a list of values to cover all columns.
Not every line needs to be defined. If a line is missing it will be filled out with the default values that are set by the default skin.
Help / Support
Skinning tutorial (+ skinning support) by MLGnom
RBRat3's element dump + primer on animations (RBRat3 is part of the osu! dev team)
Skinning F.A.Q. by Lyawi
Guide on how to adjust the skin.ini-file by Lyawi
Skinning Guidelines for the forum by deadbeat (global moderator)
Custom Taiko Characters + how they work by Roga-don
Custom Catch The Beat characters by Rolled
Haskorion's Templates (images and PSDs)