> For the complete documentation index, see [llms.txt](https://nvx-development.gitbook.io/nvx-character-creator/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nvx-development.gitbook.io/nvx-character-creator/exports/opencreator.md).

# OpenCreator

### How to use the export

The skin variable contains all necesarry information about the players skin. If your Config.useSkinchanger is set to true the skin parameter is already formatted to work with skinchanger. The tattoos parameter is only available if [*Config.useSkinchanger*](/nvx-character-creator/getting-started/configuration.md) is set to true. Otherwise the tattoos are part of the skin parameter as skinchanger doesn't support tattoos.

```lua
exports["nvx_charcreator"]:OpenCreator(function(skin, tattoos)
end)
```

#### The "skin" object

The structure of the object depends on [*Config.useSkinchanger*](/nvx-character-creator/getting-started/configuration.md). If it is set to false, the object will look the following:

```lua
local skin = {
    model,
    headBlend,
    faceFeatures,
    hair,
    eyeColor,
    tattoos
}
```

If [*Config.useSkinchanger*](/nvx-character-creator/getting-started/configuration.md) is disabled, the skin object is formatted to fit the skinchanger data structure. You only have to encode the object via json and save it to your database. Take a look at the [skinchanger resource](https://github.com/esx-framework/esx-legacy/blob/main/%5Besx%5D/skinchanger/config.lua) to see how their data structure looks like.
