# User interface skins

Source: https://ref.dm-lang.org/skin/

BYOND games used to have very limited interface options, all effectively sharing the same layout. In BYOND 4.0, skins were introduced, allowing developers more control over the layout.

A skin consists of [macro sets](https://ref.dm-lang.org/skin/macros.md) for keyboard/gamepad input, menus, and windows and/or panes. All of these are considered [controls](https://ref.dm-lang.org/skin/control/index.md) that a game can interact with via [winset()](https://ref.dm-lang.org/proc/winset.md), [winget()](https://ref.dm-lang.org/proc/winget.md), [output()](https://ref.dm-lang.org/proc/output.md), and a few other procs.

About the simplest possible skin is a single window with a single [map control](https://ref.dm-lang.org/skin/control/map.md), and a single macro set.

### See also
- [winset proc](https://ref.dm-lang.org/proc/winset.md)
- [winget proc](https://ref.dm-lang.org/proc/winget.md)
- [output proc](https://ref.dm-lang.org/proc/output.md)
- [winclone proc](https://ref.dm-lang.org/proc/winclone.md)
- [winexists proc](https://ref.dm-lang.org/proc/winexists.md)
- [winshow proc](https://ref.dm-lang.org/proc/winshow.md)
- [controls](https://ref.dm-lang.org/skin/control/index.md)
- [parameters](https://ref.dm-lang.org/skin/param/index.md)
- [macros (skin)](https://ref.dm-lang.org/skin/macros.md)
- [Client commands](https://ref.dm-lang.org/skin/commands/index.md)

## Pages

- [Client commands](https://ref.dm-lang.org/skin/commands/index.md)
- [controls (skin)](https://ref.dm-lang.org/skin/control/index.md)
- [macros (skin)](https://ref.dm-lang.org/skin/macros.md)
- [parameters (skin)](https://ref.dm-lang.org/skin/param/index.md)
