MCBE
OverviewPacketsPlayerSkin
ID 0x5D · 93BothPlayer

PlayerSkin

Client skin update: full SerializedSkin with geometry, animations, persona pieces and tint colors.

player-skin.bin
struct PlayerSkin {
  uuid.UUID                                    Uuid;
  SerializedSkinRef                            Skin;
  string                                       LocalizedNewSkinName;
  string                                       LocalizedOldSkinName;
}

Structure

FieldTypeDescription
Uuiduuid.UUID
SkinSerializedSkinRef
Localized New Skin Namestring
Localized Old Skin Namestring

Structure of SerializedSkinRef

FieldTypeDescription
Idstring
Play Fab Idstring
Resource Patchstring
Image DataSkinImage
Animated Image Datavaruint32 count + AnimatedImageData[]Length-prefixed sequence.
Cape Image DataSkinImage
Geometry Datastring
Geometry Data Min Engine Versionstring
Animation Datastring
Cape Idstring
Full Idstring
Arm SizeArmSizeType
Skin ColorColor
Persona Piecesvaruint32 count + SerializedPersonaPieceHandle[]Length-prefixed sequence.
Piece Tint Colorsstring
Is Premiumbool
Is Personabool
Is Persona Cape On Classic Skinbool
Is Primary Userbool
Overrides Player Appearancebool
Trusted Skin Flagstring
Profile Hashstring

Structure of SkinImage

FieldTypeDescription
Widthuint32 (LE)
Heightuint32 (LE)
Image Bytesbyte[]

Structure of AnimatedImageData

SerializedSkinImpl::write writes the image inline rather than through a

FieldTypeDescription
Image Widthuint32 (LE)
Image Heightuint32 (LE)
Image Bytesbyte[]
Typeuint32 (LE)
Framesfloat32 (LE)
Animation Expressionuint32 (LE)

Structure of SerializedPersonaPieceHandle

FieldTypeDescription
Piece Idstring
Piece Typestring
Pack Idstring
Is Default Piecebool
Product Idstring

Notes

  • Servers should re-validate skin sizes and ids here — the client sends this on persona changes.