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

# Appearance Exports

All exports are **client-side**. Call them from other client scripts with:

`exports["devix-appearance"]:ExportName(args)`

***

## Opening the panel

| Export             | Description                                                                                                                                                                         |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **OpenAppearance** | Opens the appearance panel. Args: `mode` (e.g. `"face"`, `"hair"`, `"clothing"`, `"all"`), `shopType` (string or nil), `opts` (table, optional). See README for modes and freeMode. |

***

## Skin / outfit data

| Export                         | Description                                                                                 |
| ------------------------------ | ------------------------------------------------------------------------------------------- |
| **GetCurrentSkinData**         | Returns the current ped’s full skin/appearance data (face, overlays, clothing).             |
| **GetCurrentClothingOnlyData** | Returns only clothing (and accessories) data, no face/overlays.                             |
| **GetSkinDataForMode**         | Returns skin data filtered for a given mode (e.g. face-only, clothing-only).                |
| **NormalizeSkinForAppearance** | Normalizes raw skin data so it’s valid for the appearance panel (e.g. for loading into UI). |
| **getPedAppearance**           | Alias-style getter for current ped appearance (same idea as GetCurrentSkinData).            |

***

## Applying and saving

| Export                      | Description                                                               |
| --------------------------- | ------------------------------------------------------------------------- |
| **ApplyAppearance**         | Applies a full skin table to the local ped.                               |
| **ApplyClothingOnly**       | Applies only clothing/accessory data to the ped; face/overlays unchanged. |
| **ClearPedOverlays**        | Clears head overlays (makeup, blemishes, etc.) from the ped.              |
| **SavePlayerSkin**          | Saves the current ped skin to the server (devix-core).                    |
| **SetInitialSkinForRevert** | Stores current skin so you can revert later.                              |
| **RevertToInitialSkin**     | Restores the skin stored with SetInitialSkinForRevert.                    |
| **GetInitialSkinForRevert** | Returns the stored “initial” skin table, if any.                          |

***

## Mode and limits

| Export                          | Description                                                                    |
| ------------------------------- | ------------------------------------------------------------------------------ |
| **GetLastAppearanceMode**       | Returns the last mode the panel was opened with (e.g. `"face"`, `"clothing"`). |
| **GetAppearanceMaxValues**      | Max values for all appearance options (face + clothing).                       |
| **GetFaceOverlayMaxValues**     | Max values for face/overlay options only.                                      |
| **GetClothingMaxValues**        | Max values for clothing and accessories only.                                  |
| **GetHeadOverlayMaxValues**     | Max values for head overlays.                                                  |
| **GetCurrentClothingValues**    | Current clothing/accessory drawable and texture indices.                       |
| **GetCurrentFaceOverlayValues** | Current face overlay values.                                                   |
| **GetPedHeadOverlayDataTable**  | Head overlay data for the ped in table form.                                   |

***

## Colors and face generator

| Export                  | Description                                                              |
| ----------------------- | ------------------------------------------------------------------------ |
| **GetAppearanceColors** | Returns available color options (e.g. for hair, eyes) used by the panel. |
| **GetColor**            | Returns a single color by id/type (e.g. hair color index).               |
| **OpenFaceGenerator**   | Opens the face generator UI (e.g. for character creation).               |

***

## Summary

* **OpenAppearance** — main entry to open the panel.
* **Get… / Apply… / Save… / Revert…** — read, apply, save, and revert skin/outfit data.
* **Get…MaxValues / GetCurrent…Values** — limits and current values for UI or validation.
* **GetAppearanceColors / GetColor / OpenFaceGenerator** — colors and face generator.

All of these run on the **client**; there are no server exports from devix-appearance. Skin persistence is handled by **devix-core** (e.g. on SavePlayerSkin).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://devix.gitbook.io/devix/devix-appearance/appearance-exports.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
