Back to projects
DeliveredFreelanceSole programmerTools
AvatarCustom
Runtime Spine avatar-customization system — non-destructive skin-swapping with skin-tone and hair-color tinting, fully data-driven.
- Role
- Unity Developer
- Engagement
- Freelance
- Period
- 2021
- Platforms
- Unity
AvatarCustom is a runtime avatar-customization system for a Spine 2D character, delivered for a client. Players swap costume pieces, hair, face parts, and accessories on a live skeleton — all swaps non-destructive and applied frame-accurately via Spine’s skin API.
What I built
- Composite-skin customizer —
AvatarSpineCustomizerbuilds aslotToAttachmentDictfrom the default skin, then batches attachment remaps into a runtimecustomSkinviaGetRemappedClone, committing with a singleSetSkin → setup-pose → unloadpass to avoid texture leaks. - Color system — per-slot tinting for 3 skin tones and 18 hair colors, driven off the JSON part map’s
skin/hairkeys. - Isolated face sub-customizer — the face runs as a separate customizer instance so face and body slot dictionaries never collide.
- Data-driven mapping — a
GeneratePartToSlotloader (category → sub-part → slot list) plusScriptableObjectpalettes and part → sprite tables, so content lives in data, not code. - Editor tooling — custom Unity inspectors for the customizer and animation preview.

