# Skin class

Namespace: [Rhino.Runtime](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.runtime.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public abstract class Skin
```

Represents a customized environment that changes the appearance of Rhino.

Skin DLLs must contain a single class that derives from the Skin class.

## Constructors

- [Skin](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/ctor.md): Initializes a new instance of the [Skin](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin.md) class.

## Properties

- [ActiveSkin](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/activeskin.md): (static) Any time Rhino is running there is at most one skin being used (and possibly no skin). If a RhinoCommon based Skin class is being used, use ActiveSkin to get at the instance of this Skin class. May return null if no Skin is being used or if the skin is not a RhinoCommon based skin.
- [ApplicationName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/applicationname.md): If you want to provide a custom name for your skin.
- [HasBootSplash](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/hasbootsplash.md): (static) True when the platform's native boot splash is compiled in and shown at startup.
- [MainRhinoIcon](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/mainrhinoicon.md): If you want to provide a custom icon for your skin.
- [Settings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/settings.md): Gets access to the skin persistent settings.
- [SettingsDirectory](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/settingsdirectory.md): Get the skin's settings directory. This is the directory where the skin's persistent settings files are saved, matching the location used by [Skin.Settings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/settings.md). Note, this does not verify the directory exists.

## Methods

- [DismissBootSplash](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/dismissbootsplash.md): (static) Tells the platform's boot splash to dismiss, if one is up. Call this from a Skin subclass once its own window is on screen. No-op on platforms that have no boot splash.
- [HideSplash](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/hidesplash.md): Is called when the splash screen should be hidden.
- [OnBeginLoadAtStartPlugIns](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/onbeginloadatstartplugins.md): Is called when the first plug-in that loads at start-up is going to be loaded.
- [OnBeginLoadPlugIn](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/onbeginloadplugin.md): Is called when a specific plug-in is going to be loaded.
- [OnBuiltInCommandsRegistered](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/onbuiltincommandsregistered.md): Is called when built-in commands are registered.
- [OnEndLoadAtStartPlugIns](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/onendloadatstartplugins.md): Is called after all of the load at start plug-ins have been loaded.
- [OnEndLoadPlugIn](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/onendloadplugin.md): Is called after each plug-in has been loaded.
- [OnLicenseCheckCompleted](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/onlicensecheckcompleted.md): Is called when the license check is completed.
- [OnMainFrameWindowCreated](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/onmainframewindowcreated.md): Is called when the main frame window is created.
- [OpenNewDocument](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/opennewdocument.md): (static) Creates a new [RhinoDoc](https://developer.rhino3d.com/api/rhinocommon/type/rhino.rhinodoc.md) from the given template (or a blank document when the path is null/empty/missing) and brings up its document window. Must be called on the main UI thread.
- [SetBootSplashProgress](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/setbootsplashprogress.md): (static) Pushes a progress value to the platform's boot splash so it can paint a progress bar. The value is treated as a percentage and clamped to 0..100 on the native side. No-op on platforms that have no boot splash, and harmless if the splash is already gone.
- [ShowChooseRecent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/showchooserecent.md): Called when the host requests the Skin's "choose recent" UI. Default implementation is empty.
- [ShowChooseTemplate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/showchoosetemplate.md): Called when the host requests the Skin's "choose template" UI (e.g. from the File > New Using Template menu item). Default implementation is empty.
- [ShowHelp](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/showhelp.md): Called when the "help" splash screen should be shown. Default implementation just calls ShowSplash()
- [ShowSplash](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.skin/showsplash.md): Is called when the splash screen should be shown.
