> For the complete documentation index, see [llms.txt](https://atiysus-organization.gitbook.io/aty-scripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://atiysus-organization.gitbook.io/aty-scripts/weapon-editor/guide/skin-studio.md).

# Skin Studio

## Skin Studio

The studio is a layer-based canvas editor. A design is **a definition, not a picture**: a list of layers drawn onto a 512×512 canvas, which becomes the weapon's texture. Every client redraws it, which is why designs can be shared as a short code rather than a file.

The weapon updates live as you work. Drag the empty area around the canvas to turn the weapon, wheel to zoom.

Open it from the workshop with **Create a skin**, or **Edit** on a weapon that already has one.

### Tools

| Tool        | What it does                                                                  |
| ----------- | ----------------------------------------------------------------------------- |
| **Fill**    | A flat colour across the whole canvas                                         |
| **Pattern** | One of 22 repeating patterns, eight of which animate                          |
| **Decal**   | One of eight shapes — star, ring, cross, triangle, target, heart, bolt, frame |
| **Text**    | Up to 24 characters, five fonts, optional outline                             |
| **Brush**   | A freehand stroke, smoothed into a curve                                      |
| **Eraser**  | A stroke that cuts through everything beneath it                              |
| **Image**   | A picture or GIF, from the local art pool or an allowed host                  |
| **Move**    | Reposition a decal or text already on the canvas                              |

### Layers

Layers draw bottom-first — the top of the stack is what you see over everything else. Click a layer to select it, then set:

* Position X / Y
* Scale
* Rotation
* Opacity
* Blend mode — Normal, Multiply, Overlay
* Colour

{% hint style="info" %}
**Always set a base.** The whole diffuse texture is replaced, so there is no original underneath. An uncovered area is transparent, which reads as black on the weapon. Start with **Fill**, or set a base colour, unless black is what you want.
{% endhint %}

#### Animated patterns

Eight of the 22 patterns move — galaxy, plasma, lava, electric arcs, energy pulse, code rain, holographic and sonar. They animate **on the weapon itself**, live, for everyone who can see it.

Each takes a **Speed** from 0 to 4. Setting it to `0` freezes the pattern on its first frame, which is a perfectly good way to use one as still art.

One animated layer is enough. Two moving patterns on the same weapon fight each other and the result reads as flicker.

#### Limits

| Limit             | Value         |
| ----------------- | ------------- |
| Layers per design | 14            |
| Text length       | 24 characters |
| Points per stroke | 240           |
| Design name       | 48 characters |

Exceeding any of these makes the server reject the **whole** design, not just the offending layer. The full field-level reference is on Design format.

### Templates

56 ready-made designs ship with the resource — 26 animated, 30 still. Filter by All / Animated / Still, or search by name. Loading one drops it in as an editable draft.

#### Your own templates

**Save template** keeps a design in a personal library stored on that player's own machine. It is a convenience, not a server record — it does not travel between computers and is not backed up.

**Export as template** is the other thing: it produces the exact line to paste into `aty_gunsmith_assets/art/templates.json`, which puts the design in the built-in gallery for **everyone** on the server. Templates are read from that file, so adding one never touches code.

### Sharing a design

The **Share** box does both directions.

**Out:** *Make code & copy* turns the current design into an `ATY1:` string. That string is portable to any server running this resource.

**In:** paste into the *"Paste a code or raw JSON"* box. Both formats work — an `ATY1:` code, or raw JSON as produced by an AI. It loads as an editable draft: move things, recolour, then save.

{% hint style="info" %}
If the copy button reports the clipboard is blocked, the code is still shown in the box — select it and copy manually. Some clients block programmatic clipboard access inside NUI.
{% endhint %}

### Images

Images come from two places, gated separately:

**The local art pool** — artwork shipped inside `aty_gunsmith_assets`, read as `nui://`. No network, no allow-list, nothing to configure. Adding your own is a file and one line in `art/index.json`.

**Remote URLs** — only from hosts on `Config.Lanes.composite.images.whitelist`, https only, matched exactly.

{% hint style="warning" %}
**A share page is not an image link.** `https://tenor.com/view/...` is a web page and will fail; `https://media.tenor.com/xxxx/name.gif` is the image. The studio says so when it happens, but this is the single most common image failure.
{% endhint %}

**Colourise** recolours single-colour artwork to your chosen colour. Turn it off for artwork that carries its own colours.

### Saving

**Save** sends the design to the server, which validates every field. A malformed design cannot get in — but it also means an over-limit design is refused as a whole, so trim the layer count before saving rather than after.

If moderation is on, the design enters a review queue instead of becoming usable immediately.

Designs live in the player's library independently of any weapon. Removing a skin from a weapon does not delete the design.

### Making a design that reads well

A weapon is small on screen and mostly seen in motion. What survives that:

* **Two or three colours, not six.** A base, a pattern colour, one accent
* **Contrast between base and pattern.** A dark pattern at 0.5 opacity over a dark base disappears at any distance
* **Big shapes.** A decal below scale 0.4 is a smudge in game
* **Patterns are the texture, decals are the punctuation.** One or two decals is plenty
* **Text needs an outline**, or it vanishes over a busy pattern
* **Opacity is the cheapest depth trick.** The same pattern twice — once opaque, once at 0.3 with Multiply — reads as wear and grain
* **Motion is an accent, not a background.** An animated pattern alone at full opacity looks like a screensaver strapped to a gun

### See also

* AI designs — having an AI write one for you
* Design format — the JSON specification
* Who sees your skin
