X3D Character Skin

Description

Character customization — free, no skinchanger, no database

A full 77-slot character editor: face, hair, beard, makeup, clothing and accessories, with an orbiting camera, poses, character lighting and a button that hides the other players standing on top of you. x3d_skin ships all of it in one resource, behind a ready-made Nuxt 4 panel.


Features

  • [+] Easy setup: tune everything in config, or set it through the web builder
  • [+] 77-slot editor: face, hair, beard, makeup, clothing and accessories
  • [+] No skinchanger needed, same-name exports for your existing scripts
  • [+] Orbiting camera, zoom and pan, 4 poses and face lighting
  • [+] Button to hide other players within 50 m on a crowded spawn area
  • [+] Clothing, beauty and mask shops built in, with spots and blips
  • [+] Set each shop type's price yourself, 0 means free to use
  • [+] Wardrobe: save named outfits, with a per-player limit
  • [+] 46 ready-made faces, or a mom/dad blend with nose, cheek and chin sliders
  • [+] Works alongside an existing skinchanger / esx_skin through Config.Backend
  • [+] No database needed: JSON file storage, or switch to MySQL
  • [+] Hook into other scripts through addons/

No skinchanger — the ped applier lives in this script

skin.lua is plain game natives, and it exposes the export names other scripts already call (GetSkin / LoadSkin / LoadClothes / Change), so a clothing shop or a uniform system that used to point at skinchanger can point at x3d_skin instead. Every slot is listed in components.lua with its default, its ceiling and its camera framing — and the real ceiling is asked from the game at runtime, never hardcoded, so add-on clothing packs the server installs are fully selectable.

The camera follows what you are editing, without fighting you

Pick a hairstyle and it frames the head; pick shoes and it drops to the feet. The moment the player rotates or zooms by hand, the camera stops moving on its own until they switch to another group. LMB drag rotates, RMB drag pans, scroll zooms. Four poses, three-point character lighting, and hiding every player within 50 m for a crowded spawn area.

Barbers and clothing shops can open it with a restricted slot list

Open the panel locked to the slots that shop sells, pass a price and the confirm button becomes "Purchase" with the amount on it. Submit and cancel callbacks let you charge for it yourself — this script never touches anyone's money — and the server-side x3d_skin:onSave hook fires every time a player saves a new appearance.

No database

Saved appearances live in a JSON file inside the resource, keyed by the player's permanent identifier rather than a reusable server id, and written on a timer, on disconnect and on a graceful stop. Want MySQL? Swap four functions for the commented oxmysql block at the bottom of the same file and run install.sql.

Nothing the panel sends is trusted: the slot name must be known, the value is floored and clamped into range, saves are limited to one per second per player, and /skin <id> always needs the ace.

Requirements

None · no skinchanger, no database, no framework, no license · drop it in and ensure it

Free · edit it however you like · just don't resell it or re-upload it as your own

Version history

  • 1.5.4 — Released 13/10/2026 00:21
  • 1.5.2 — Released 12/10/2026 10:23
  • 1.5.1 — Released 11/10/2026 16:23
  • 1.4.0 — Released 22/09/2026 11:06
  • 1.3.0 — Released 22/09/2026 11:02
Same category

Related scripts

View all products
Read more

Posts that cover this script