Skip to content
CharacterDescription

[Character System](../groups/Character System.Character System.md) / CharacterDescription

CharacterDescription Class

Humanoid appearance configuration


What is CharacterDescription?

  • It is a Character description used to store advanced and base configuration.

  • The humanoid appearance is divided into advanced humanoid and basic humanoid. Advanced human figures can change the appearance of a character's clothing (shirt, pants, skirt...), head (face shape, mouth, nose, hair...), etc; The basic human figure is a whole appearance. You can choose your favorite asset from the basic human appearance in the left character/NPC.

CharacterDescription How to use it?

  • Essentially, it is a nested read-only object type used to store advanced information about role settings. This information is organized in a layer structure, where each layer is a read-only object type.

  • There is a property called description in the Character class, which returns a value type of CharacterDescription and is called using the description property in the character class.

  • We provides you with a large number of art model asset. Please search for them in the left column, marked with GUID for your use.

For details, please refer to the parameters listed below. Let's start customizing and modifying your human appearance~

Table of contents

Properties

advance: Object
Advanced humanoid object appearance configuration class
base: Object
Basic humanoid object appearance configuration class and advance are mutually exclusive

Properties

advance

Optional Readonly advance: Object

Advanced humanoid object appearance configuration class

The reason why advanced human figures are called advanced is that there are many customize parts.

  1. Basic section
  • There are eight types of character templates that can be changed (2D male, female; Lowpoly male, female); Realistic male and women; Men and women from Meika

  • Change body type

Usage example: Click the P key to switch roles

ts
protected onStart(): void {
    InputUtil.onKeyDown(Keys.P,()=>{
        Player.localPlayer.character.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.CartoonyMale;
    })
}
protected onStart(): void {
    InputUtil.onKeyDown(Keys.P,()=>{
        Player.localPlayer.character.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.CartoonyMale;
    })
}
  1. Head Features section

The face has many uses in games. It allows you to personalize your character, just like in real life, to customize your appearance. You can adjust the face shape, eyes, mouth and other features to make your character different, create a character that matches your own identity and imagination, and show your unique appearance.

Note: Face shape, eyebrows, eyes, etc. are classified as Grade 1; For example, the facial shape can be further refined into: cheekbones, cheeks, lower jaw, chin, etc. Adjust its upper, lower, left, right, and other parameters at the third level. Same below.

  1. Body Features section

Adjusting a character's physique can affect their abilities and characteristics. In some character games, different figures may affect the speed, strength, endurance and other property of character. For example, a tall character may have more deterrent and power, while an agile character may be better at moving quickly and avoiding attacks. By adjust the character's figure, you can optimization the character's ability and characteristics according to your own game strategy and preferences to make it more consistent with your game style.

  1. Makeup section

Make up can make your character more beautiful or unique. You can choose different makeup styles, such as heavy makeup, light makeup, neon style, devil style, etc., and design the character's makeup according to your own preferences and creativity. Such personalized customization can make your character stand out in the world of the game and become the focus of other Player.

  1. Hairstyle section

A spiky blue hairstyle can express a rebellious and adventurous personality, while an elegant bun showcases elegance and confidence.

  1. Clothing section

By choosing different clothing styles and accessories, you can create a unique character appearance. Whether it's fashion trends, classical elegance, or fantasy adventures, you can create your character's fashionable look according to your preferences and creativity.

  1. Clothing section

Usage example: Set character appearance in different ways, clear appearance, synchronize appearance. Play the effect when the appearance switch is completed. Determine whether the appearance is loaded and the corresponding animation is played.

ts
@Component
export default class CharacterStyleExample extends Script {
    protected onStart(): void {
        // The following code is only executed on the client side
        if(SystemUtil.isClient()) {
            // Get the current client Player
            let myPlayer = Player.localPlayer;
            // Get Player control character
            let myCharacter = myPlayer.character;
            // If the player's appearance is ready, wave your hand; otherwise, wave your hand
            if(myCharacter.isDescriptionReady) {
                let animation = myCharacter.loadAnimation("35391");
                animation.play();
            } else {
                let animation = myCharacter.loadAnimation("14521");
                animation.play();
            }
            let defaultStyle = null;
            // Add a function to the delegate of [character Dressing Complete]
            myCharacter.onDescriptionComplete.add(() => {
                // Play the effect after changing clothes
                EffectService.playOnGameObject("161245", myCharacter, {slotType: HumanoidSlotType.Root});
                // Get the default appearance style of the character
                defaultStyle = myCharacter.getDescription();
            });
            // Add a button method: Press keyboard "1" to reset to default character appearance
            InputUtil.onKeyDown(Keys.One, () => {
                myCharacter.setDescription(defaultStyle);
            });
            // Add a key method: press "2" on the keyboard to modify the character appearance
            InputUtil.onKeyDown(Keys.Two, () => {
                if(myCharacter.characterType == CharacterType.HumanoidV2) {
                    // Head: 1.5 times the size of the head
                    myCharacter.description.advance.headFeatures.head.headOverallScale = 1.5;
                    // Body type: 1.2 times the height
                    myCharacter.description.advance.bodyFeatures.body.height = 1.2;
                    // Powder blusher is 75674
                    myCharacter.description.advance.makeup.blush.blushStyle = "75674";
                    // The front hair is 57731, and the back hair is 63910
                    myCharacter.description.advance.hair.frontHair.style = "57731";
                    myCharacter.description.advance.hair.backHair.style = "63910";
                    // 58694 for tops, 58700 for lower garment, 60384 for gloves and 58696 for shoes
                    myCharacter.description.advance.clothing.upperCloth.style = "58694";
                    myCharacter.description.advance.clothing.lowerCloth.style = "58700";
                    myCharacter.description.advance.clothing.gloves.style = "60384";
                    myCharacter.description.advance.clothing.shoes.style = "58696";
                }
            });
            // Add a button method: Press keyboard "3" to synchronize the appearance of the character
            InputUtil.onKeyDown(Keys.Three, () => {
                myCharacter.syncDescription();
            });
            // Add a button method: Press keyboard "4" to clear the appearance of the character
            InputUtil.onKeyDown(Keys.Four, () => {
                myCharacter.clearDescription();
            });
        }
    }
}
@Component
export default class CharacterStyleExample extends Script {
    protected onStart(): void {
        // The following code is only executed on the client side
        if(SystemUtil.isClient()) {
            // Get the current client Player
            let myPlayer = Player.localPlayer;
            // Get Player control character
            let myCharacter = myPlayer.character;
            // If the player's appearance is ready, wave your hand; otherwise, wave your hand
            if(myCharacter.isDescriptionReady) {
                let animation = myCharacter.loadAnimation("35391");
                animation.play();
            } else {
                let animation = myCharacter.loadAnimation("14521");
                animation.play();
            }
            let defaultStyle = null;
            // Add a function to the delegate of [character Dressing Complete]
            myCharacter.onDescriptionComplete.add(() => {
                // Play the effect after changing clothes
                EffectService.playOnGameObject("161245", myCharacter, {slotType: HumanoidSlotType.Root});
                // Get the default appearance style of the character
                defaultStyle = myCharacter.getDescription();
            });
            // Add a button method: Press keyboard "1" to reset to default character appearance
            InputUtil.onKeyDown(Keys.One, () => {
                myCharacter.setDescription(defaultStyle);
            });
            // Add a key method: press "2" on the keyboard to modify the character appearance
            InputUtil.onKeyDown(Keys.Two, () => {
                if(myCharacter.characterType == CharacterType.HumanoidV2) {
                    // Head: 1.5 times the size of the head
                    myCharacter.description.advance.headFeatures.head.headOverallScale = 1.5;
                    // Body type: 1.2 times the height
                    myCharacter.description.advance.bodyFeatures.body.height = 1.2;
                    // Powder blusher is 75674
                    myCharacter.description.advance.makeup.blush.blushStyle = "75674";
                    // The front hair is 57731, and the back hair is 63910
                    myCharacter.description.advance.hair.frontHair.style = "57731";
                    myCharacter.description.advance.hair.backHair.style = "63910";
                    // 58694 for tops, 58700 for lower garment, 60384 for gloves and 58696 for shoes
                    myCharacter.description.advance.clothing.upperCloth.style = "58694";
                    myCharacter.description.advance.clothing.lowerCloth.style = "58700";
                    myCharacter.description.advance.clothing.gloves.style = "60384";
                    myCharacter.description.advance.clothing.shoes.style = "58696";
                }
            });
            // Add a button method: Press keyboard "3" to synchronize the appearance of the character
            InputUtil.onKeyDown(Keys.Three, () => {
                myCharacter.syncDescription();
            });
            // Add a button method: Press keyboard "4" to clear the appearance of the character
            InputUtil.onKeyDown(Keys.Four, () => {
                myCharacter.clearDescription();
            });
        }
    }
}

Type declaration

base? { characterSetting?: { characterTemplate?: [CharacterTemplate](../enums/mw.CharacterTemplate.md) ; faceStyle?: [FaceStyle](../enums/mw.FaceStyle.md) ; somatotype?: [SomatotypeV2](../enums/mw.SomatotypeV2.md) } }@description: Basics
base.characterSetting? { characterTemplate?: [CharacterTemplate](../enums/mw.CharacterTemplate.md) ; faceStyle?: [FaceStyle](../enums/mw.FaceStyle.md) ; somatotype?: [SomatotypeV2](../enums/mw.SomatotypeV2.md) }@description: Character setting
base.characterSetting.characterTemplate? CharacterTemplate@description: Switch character, and take priority in configuration
base.characterSetting.faceStyle? FaceStyle@description: Basic facial shape Deprecated Info: This interface has been abandoned and will remain available until it is deleted. Please use a replacement solution as soon as possible to avoid problems. since 033 reason: Function migration replacement: Head replacement function
base.characterSetting.somatotype? SomatotypeV2@description: Switching body types
bodyFeatures? { arms?: { forearmFrontalScale?: number;forearmHorizontalScale?: number;forearmVerticalScale?: number;shoulderFrontalScale?: number;shoulderHorizontalScale?: number;upperArmFrontalScale?: number;upperArmHorizontalScale?: number;upperArmVerticalScale?: number } ; body?: { height?: number } ; breast?: { breastHorizontalShift?: number;breastLength?: number;breastOverallScale?: number;breastVerticalShift?: number } ; chest?: { chestFrontalScale?: number;chestHorizontalScale?: number;chestVerticalScale?: number } ; feet?: { feetOverallScale?: number } ; hands?: { handOverallScale?: number } ; hips?: { hipFrontalScale?: number;hipHorizontalScale?: number } ; legs?: { calfFrontalScale?: number;calfHorizontalScale?: number;calfVerticalScale?: number;thighFrontalScale?: number;thighHorizontalScale?: number;thighVerticalScale?: number } ; neck?: { neckFrontalScale?: number;neckHorizontalScale?: number;neckVerticalScale?: number } ; ribs?: { ribFrontalScale?: number;ribHorizontalScale?: number } ; waist?: { waistFrontalScale?: number;waistHorizontalScale?: number;waistVerticalScale?: number } }@description: Body related
bodyFeatures.arms? { forearmFrontalScale?: number;forearmHorizontalScale?: number;forearmVerticalScale?: number;shoulderFrontalScale?: number;shoulderHorizontalScale?: number;upperArmFrontalScale?: number;upperArmHorizontalScale?: number;upperArmVerticalScale?: number }@description: Arms
bodyFeatures.arms.forearmFrontalScale? number@description: Front and back zoom of forearm
bodyFeatures.arms.forearmHorizontalScale? number@description: Left and right scale of forearm
bodyFeatures.arms.forearmVerticalScale? number@description: Jib up and down scale
bodyFeatures.arms.shoulderFrontalScale? number@description: Shoulder arm scale forward and backward
bodyFeatures.arms.shoulderHorizontalScale? number@description: Shoulder arm left and right scale
bodyFeatures.arms.upperArmFrontalScale? number@description: Boom fore and aft scale
bodyFeatures.arms.upperArmHorizontalScale? number@description: Boom left and right scale
bodyFeatures.arms.upperArmVerticalScale? number@description: Boom up and down scale
bodyFeatures.body? { height?: number }@description: body
bodyFeatures.body.height? number@description: height
bodyFeatures.breast? { breastHorizontalShift?: number;breastLength?: number;breastOverallScale?: number;breastVerticalShift?: number }@description: chest
bodyFeatures.breast.breastHorizontalShift? number@description: Breast moves left and right
bodyFeatures.breast.breastLength? number@description: Breast length
bodyFeatures.breast.breastOverallScale? number@description: Breast overall scaling
bodyFeatures.breast.breastVerticalShift? number@description: Move breast up and down
bodyFeatures.chest? { chestFrontalScale?: number;chestHorizontalScale?: number;chestVerticalScale?: number }@description: pleural
bodyFeatures.chest.chestFrontalScale? number@description: Chest anterior and posterior scaling
bodyFeatures.chest.chestHorizontalScale? number@description: Left and right scaling of chest cavity
bodyFeatures.chest.chestVerticalScale? number@description: Chest scale up and down
bodyFeatures.feet? { feetOverallScale?: number }@description: foot
bodyFeatures.feet.feetOverallScale? number@description: Foot overall scale
bodyFeatures.hands? { handOverallScale?: number }@description: hand
bodyFeatures.hands.handOverallScale? number@description: Hand overall scale
bodyFeatures.hips? { hipFrontalScale?: number;hipHorizontalScale?: number }@description: Crotch
bodyFeatures.hips.hipFrontalScale? number@description: Hip front and back zoom
bodyFeatures.hips.hipHorizontalScale? number@description: Crotch scale
bodyFeatures.legs? { calfFrontalScale?: number;calfHorizontalScale?: number;calfVerticalScale?: number;thighFrontalScale?: number;thighHorizontalScale?: number;thighVerticalScale?: number }@description: leg
bodyFeatures.legs.calfFrontalScale? number@description: Lower leg scale forward and backward
bodyFeatures.legs.calfHorizontalScale? number@description: Lower Leg Left Right scale
bodyFeatures.legs.calfVerticalScale? number@description: Lower leg up and down scale
bodyFeatures.legs.thighFrontalScale? number@description: Thigh front and back scaling
bodyFeatures.legs.thighHorizontalScale? number@description: Left and right scale of thigh
bodyFeatures.legs.thighVerticalScale? number@description: Upper and lower thighs scale
bodyFeatures.neck? { neckFrontalScale?: number;neckHorizontalScale?: number;neckVerticalScale?: number }@description: neck
bodyFeatures.neck.neckFrontalScale? number@description: Neck front and back scaling
bodyFeatures.neck.neckHorizontalScale? number@description: Neck scale left and right
bodyFeatures.neck.neckVerticalScale? number@description: Scale up and down the neck
bodyFeatures.ribs? { ribFrontalScale?: number;ribHorizontalScale?: number }@description: Ribs
bodyFeatures.ribs.ribFrontalScale? number@description: Rib scale back and forth
bodyFeatures.ribs.ribHorizontalScale? number@description: Rib scale left and right
bodyFeatures.waist? { waistFrontalScale?: number;waistHorizontalScale?: number;waistVerticalScale?: number }@description: waist
bodyFeatures.waist.waistFrontalScale? number@description: Front and rear scale of waist
bodyFeatures.waist.waistHorizontalScale? number@description: Left and right scale of waist
bodyFeatures.waist.waistVerticalScale? number@description: Scale waist up and down
clothing? { gloves?: ```{ baseColorTexture?: ArrayLike<string\> ; part?: ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) }```` ; design?: ````{ designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string }```` ;pattern?: ````{ patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number }```` }\> ;style?: string } ;lowerCloth?: ```{ baseColorTexture?: ArrayLike<string\> ; part?: ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) }``` ; design?: ````{ designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string }```` ;pattern?: ````{ patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number }```` }\> ;style?: string } ;shoes?: ```{ baseColorTexture?: ArrayLike<string\> ; part?: ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) }``` ; design?: ````{ designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string }```` ;pattern?: ````{ patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number }```` }\> ;style?: string } ;upperCloth?: ```{ baseColorTexture?: ArrayLike<string\> ; part?: ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) }``` ; design?: ````{ designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string }```` ;pattern?: ````{ patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number }```` }\> ;style?: string` } }@description: Dress up related
clothing.gloves? { baseColorTexture?: ArrayLike<string\> ; part?: ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }> ; style?: string }@description: glove
clothing.gloves.baseColorTexture? ArrayLike<string>@description: Main texture
clothing.gloves.part? ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }>@description: Adjust area
clothing.gloves.style? string@description: style
clothing.lowerCloth? { baseColorTexture?: ArrayLike<string\> ; part?: ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }> ; style?: string }@description: Lower garment
clothing.lowerCloth.baseColorTexture? ArrayLike<string>@description: Main texture
clothing.lowerCloth.part? ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }>@description: Adjust area
clothing.lowerCloth.style? string@description: style
clothing.shoes? { baseColorTexture?: ArrayLike<string\> ; part?: ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }> ; style?: string }@description: shoes
clothing.shoes.baseColorTexture? ArrayLike<string>@description: Main texture
clothing.shoes.part? ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }>@description: Adjust area
clothing.shoes.style? string@description: style
clothing.upperCloth? { baseColorTexture?: ArrayLike<string\> ; part?: ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }> ; style?: string }@description: jacket
clothing.upperCloth.baseColorTexture? ArrayLike<string>@description: Main texture
clothing.upperCloth.part? ArrayLike<{ color?: { areaColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }>@description: Adjust area
clothing.upperCloth.style? string@description: style
hair? { backHair?: { accessories?: ArrayLike<{ color?: { accessoryColor?: string LinearColor }; `design?`:{ designColor?: string LinearColor ; designRotation?: number ; designScale?: number ; designStyle?: string }; `pattern?`:{ patternColor?: string LinearColor ; patternHorizontalScale?: number ; patternRotation?: number ; patternStyle?: string ; patternVerticalScale?: number ; patternVisibility?: number } }\> ; `baseColorTexture?`: `ArrayLike`<`string`\> ; `color?`:{ color?: string LinearColor ; gradientArea?: number ; gradientColor?: string LinearColor }; `highlight?`:{ highlightStyle?: string }; `style?`: `string` } ; `frontHair?`: `{ `accessories?`: `ArrayLike`<{ `color?`: { `accessoryColor?`: `string` [`LinearColor`](mw.LinearColor.md) }` ; `design?`:{ designColor?: string LinearColor ; designRotation?: number ; designScale?: number ; designStyle?: string }; `pattern?`:{ patternColor?: string LinearColor ; patternHorizontalScale?: number ; patternRotation?: number ; patternStyle?: string ; patternVerticalScale?: number ; patternVisibility?: number } }\> ; `baseColorTexture?`: `ArrayLike`<`string`\> ; `color?`:{ color?: string LinearColor ; gradientArea?: number ; gradientColor?: string LinearColor }; `highlight?`:{ highlightStyle?: string }`` ; style?: string } }@description: Hairstyles related
hair.backHair? { accessories?: ArrayLike<{ color?: { accessoryColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designScale?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }> ; baseColorTexture?: ArrayLike<string> ; color?: { color?: string [LinearColor](mw.LinearColor.md) ; gradientArea?: number;gradientColor?: string [LinearColor](mw.LinearColor.md) } ; highlight?: { highlightStyle?: string } ; style?: string }@description: Back hair
hair.backHair.accessories? ArrayLike<{ color?: { accessoryColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designScale?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }>@description: Headwear
hair.backHair.baseColorTexture? ArrayLike<string>@description: Main texture
hair.backHair.color? { color?: string [LinearColor](mw.LinearColor.md) ; gradientArea?: number;gradientColor?: string [LinearColor](mw.LinearColor.md) }@description: colour
hair.backHair.color.color? string LinearColor@description: Back hair color
hair.backHair.color.gradientArea? number@description: Gradient area
hair.backHair.color.gradientColor? string LinearColor@description: Gradient color
hair.backHair.highlight? { highlightStyle?: string }@description: Highlights
hair.backHair.highlight.highlightStyle? string@description: Highlight style
hair.backHair.style? string@description: Back hair style
hair.frontHair? { accessories?: ArrayLike<{ color?: { accessoryColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designScale?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }> ; baseColorTexture?: ArrayLike<string> ; color?: { color?: string [LinearColor](mw.LinearColor.md) ; gradientArea?: number;gradientColor?: string [LinearColor](mw.LinearColor.md) } ; highlight?: { highlightStyle?: string } ; style?: string }@description: Previous post
hair.frontHair.accessories? ArrayLike<{ color?: { accessoryColor?: string [LinearColor](mw.LinearColor.md) } ; design?: { designColor?: string [LinearColor](mw.LinearColor.md) ; designRotation?: number;designScale?: number;designStyle?: string } ; pattern?: { patternColor?: string [LinearColor](mw.LinearColor.md) ; patternHorizontalScale?: number;patternRotation?: number;patternStyle?: string;patternVerticalScale?: number;patternVisibility?: number } }>@description: Headwear
hair.frontHair.baseColorTexture? ArrayLike<string>@description: Main texture
hair.frontHair.color? { color?: string [LinearColor](mw.LinearColor.md) ; gradientArea?: number;gradientColor?: string [LinearColor](mw.LinearColor.md) }@description: colour
hair.frontHair.color.color? string LinearColor@description: colour
hair.frontHair.color.gradientArea? number@description: Gradient area
hair.frontHair.color.gradientColor? string LinearColor@description: Gradient color
hair.frontHair.highlight? { highlightStyle?: string }@description: Highlights
hair.frontHair.highlight.highlightStyle? string@description: Highlight style
hair.frontHair.style? string@description: style
headFeatures? { ears?: { earFrontalRotation?: number;earHorizontalRotation?: number;earLowerScale?: number;earOverallScale?: number;earUpperScale?: number } ; expressions?: { changeExpression?: [ExpressionType](../enums/mw.ExpressionType.md) } ; eyebrows?: { eyebrowBridgeFrontalShift?: number;eyebrowFrontalShift?: number;eyebrowHorizontalShift?: number;eyebrowInnerVerticalShift?: number;eyebrowOuterVerticalShift?: number;eyebrowOverallRotation?: number;eyebrowVerticalShift?: number } ; eyes?: { eyeCorners?: { innerEyeCornerHorizontalShift?: number;outerEyeCornerVerticalShift?: number } ; overall?: { eyeFrontalShift?: number;eyeHorizontalScale?: number;eyeHorizontalShift?: number;eyeOverallRotation?: number;eyeVerticalScale?: number;eyeVerticalShift?: number } ; pupils?: { pupilHorizontalScale?: number;pupilHorizontalShift?: number;pupilVerticalScale?: number;pupilVerticalShift?: number } } ; faceShape?: { cheek?: { cheekFrontalShift?: number;cheekHorizontalScale?: number;cheekVerticalShift?: number } ; cheekbone?: { cheekboneFrontalShift?: number;cheekboneHorizontalScale?: number } ; chin?: { chinFrontalShift?: number;chinTipFrontalShift?: number;chinTipHorizontalScale?: number;chinTipVerticalShift?: number } ; jawline?: { jawFrontalShift?: number;jawHorizontalScale?: number;jawlineRoundness?: number;jawlineVerticalShift?: number } ; overall?: { faceHorizontalScale?: number;lowerFaceFrontalShift?: number;lowerFaceHorizontalScale?: number;upperFaceFrontalShift?: number;upperFaceOverallScale?: number;upperFaceVerticalShift?: number } } ; head?: { baseColorTexture?: ArrayLike<string\> ; headHorizontalScale?: number;headOverallScale?: number;style?: string } ; mouth?: { lips?: { lowerLipThickness?: number;upperLipThickness?: number } ; mouthCorners?: { mouthCornerFrontalShift?: number;mouthCornerVerticalShift?: number } ; overall?: { mouthFrontalShift?: number;mouthHorizontalScale?: number;mouthVerticalShift?: number } } ; nose?: { noseBridge?: { noseBridgeFrontalShift?: number;noseBridgeHorizontalScale?: number } ; noseTip?: { noseTipVerticalShift?: number } ; nostrils?: { nostrilForntalShift?: number;nostrilHorizontalScale?: number;nostrilVerticalShift?: number } ; overall?: { noseOverallFrontalShift?: number;noseOverallVerticalShift?: number } } }@description: Head related
headFeatures.ears? { earFrontalRotation?: number;earHorizontalRotation?: number;earLowerScale?: number;earOverallScale?: number;earUpperScale?: number }@description: Ears
headFeatures.ears.earFrontalRotation? number@description: Rotate the ears back and forth
headFeatures.ears.earHorizontalRotation? number@description: Rotate the ears left and right
headFeatures.ears.earLowerScale? number@description: Lower ear scale
headFeatures.ears.earOverallScale? number@description: Ear overall scale
headFeatures.ears.earUpperScale? number@description: Upper ear scale
headFeatures.expressions? { changeExpression?: [ExpressionType](../enums/mw.ExpressionType.md) }@description: expression
headFeatures.expressions.changeExpression? ExpressionType@description: Switch emoticons
headFeatures.eyebrows? { eyebrowBridgeFrontalShift?: number;eyebrowFrontalShift?: number;eyebrowHorizontalShift?: number;eyebrowInnerVerticalShift?: number;eyebrowOuterVerticalShift?: number;eyebrowOverallRotation?: number;eyebrowVerticalShift?: number }@description: eyebrow
headFeatures.eyebrows.eyebrowBridgeFrontalShift? number@description: Moving back and forth between eyebrows
headFeatures.eyebrows.eyebrowFrontalShift? number@description: Move eyebrows back and forth
headFeatures.eyebrows.eyebrowHorizontalShift? number@description: Move eyebrows left and right
headFeatures.eyebrows.eyebrowInnerVerticalShift? number@description: Brow moves up and down
headFeatures.eyebrows.eyebrowOuterVerticalShift? number@description: Move eyebrows up and down
headFeatures.eyebrows.eyebrowOverallRotation? number@description: Eyebrow rotation as a whole
headFeatures.eyebrows.eyebrowVerticalShift? number@description: Move eyebrows up and down
headFeatures.eyes? { eyeCorners?: { innerEyeCornerHorizontalShift?: number;outerEyeCornerVerticalShift?: number } ; overall?: { eyeFrontalShift?: number;eyeHorizontalScale?: number;eyeHorizontalShift?: number;eyeOverallRotation?: number;eyeVerticalScale?: number;eyeVerticalShift?: number } ; pupils?: { pupilHorizontalScale?: number;pupilHorizontalShift?: number;pupilVerticalScale?: number;pupilVerticalShift?: number } }@description: eye
headFeatures.eyes.eyeCorners? { innerEyeCornerHorizontalShift?: number;outerEyeCornerVerticalShift?: number }@description: Corners of the eyes
headFeatures.eyes.eyeCorners.innerEyeCornerHorizontalShift? number@description: Move the corners of the eyes left and right
headFeatures.eyes.eyeCorners.outerEyeCornerVerticalShift? number@description: Move the corners of the eyes up and down
headFeatures.eyes.overall? { eyeFrontalShift?: number;eyeHorizontalScale?: number;eyeHorizontalShift?: number;eyeOverallRotation?: number;eyeVerticalScale?: number;eyeVerticalShift?: number }@description: whole
headFeatures.eyes.overall.eyeFrontalShift? number@description: Move your eyes back and forth
headFeatures.eyes.overall.eyeHorizontalScale? number@description: Scale eyes left and right
headFeatures.eyes.overall.eyeHorizontalShift? number@description: Move your eyes left and right
headFeatures.eyes.overall.eyeOverallRotation? number@description: Overall rotation of the eyes
headFeatures.eyes.overall.eyeVerticalScale? number@description: Zoom your eyes up and down
headFeatures.eyes.overall.eyeVerticalShift? number@description: Move your eyes up and down
headFeatures.eyes.pupils? { pupilHorizontalScale?: number;pupilHorizontalShift?: number;pupilVerticalScale?: number;pupilVerticalShift?: number }@description: pupil
headFeatures.eyes.pupils.pupilHorizontalScale? number@description: Left and right scale of pupil
headFeatures.eyes.pupils.pupilHorizontalShift? number@description: Pupil movement left and right
headFeatures.eyes.pupils.pupilVerticalScale? number@description: Pupil up and down scaling
headFeatures.eyes.pupils.pupilVerticalShift? number@description: Pupil move up and down
headFeatures.faceShape? { cheek?: { cheekFrontalShift?: number;cheekHorizontalScale?: number;cheekVerticalShift?: number } ; cheekbone?: { cheekboneFrontalShift?: number;cheekboneHorizontalScale?: number } ; chin?: { chinFrontalShift?: number;chinTipFrontalShift?: number;chinTipHorizontalScale?: number;chinTipVerticalShift?: number } ; jawline?: { jawFrontalShift?: number;jawHorizontalScale?: number;jawlineRoundness?: number;jawlineVerticalShift?: number } ; overall?: { faceHorizontalScale?: number;lowerFaceFrontalShift?: number;lowerFaceHorizontalScale?: number;upperFaceFrontalShift?: number;upperFaceOverallScale?: number;upperFaceVerticalShift?: number } }@description: Facial shape
headFeatures.faceShape.cheek? { cheekFrontalShift?: number;cheekHorizontalScale?: number;cheekVerticalShift?: number }@description: cheek
headFeatures.faceShape.cheek.cheekFrontalShift? number@description: Move cheeks back and forth
headFeatures.faceShape.cheek.cheekHorizontalScale? number@description: Scale cheeks left and right
headFeatures.faceShape.cheek.cheekVerticalShift? number@description: Move cheeks up and down
headFeatures.faceShape.cheekbone? { cheekboneFrontalShift?: number;cheekboneHorizontalScale?: number }@description: Cheekbone
headFeatures.faceShape.cheekbone.cheekboneFrontalShift? number@description: Front and back movement of cheekbones
headFeatures.faceShape.cheekbone.cheekboneHorizontalScale? number@description: Cheekbone left right scale
headFeatures.faceShape.chin? { chinFrontalShift?: number;chinTipFrontalShift?: number;chinTipHorizontalScale?: number;chinTipVerticalShift?: number }@description: Chin
headFeatures.faceShape.chin.chinFrontalShift? number@description: Chin moves forward and backward
headFeatures.faceShape.chin.chinTipFrontalShift? number@description: Move the tip of the chin back and forth
headFeatures.faceShape.chin.chinTipHorizontalScale? number@description: Chin Tip Left Right scale
headFeatures.faceShape.chin.chinTipVerticalShift? number@description: Move the tip of the chin up and down
headFeatures.faceShape.jawline? { jawFrontalShift?: number;jawHorizontalScale?: number;jawlineRoundness?: number;jawlineVerticalShift?: number }@description: mandible
headFeatures.faceShape.jawline.jawFrontalShift? number@description: Mandibular anterior posterior movement
headFeatures.faceShape.jawline.jawHorizontalScale? number@description: Right and left scale of mandible
headFeatures.faceShape.jawline.jawlineRoundness? number@description: Mandibular roundness
headFeatures.faceShape.jawline.jawlineVerticalShift? number@description: Lower jaw movement
headFeatures.faceShape.overall? { faceHorizontalScale?: number;lowerFaceFrontalShift?: number;lowerFaceHorizontalScale?: number;upperFaceFrontalShift?: number;upperFaceOverallScale?: number;upperFaceVerticalShift?: number }@description: whole
headFeatures.faceShape.overall.faceHorizontalScale? number@description: Facial left and right scaling
headFeatures.faceShape.overall.lowerFaceFrontalShift? number@description: Move the lower half of the face back and forth
headFeatures.faceShape.overall.lowerFaceHorizontalScale? number@description: Lower half face left right scale
headFeatures.faceShape.overall.upperFaceFrontalShift? number@description: Move the upper half of the face back and forth
headFeatures.faceShape.overall.upperFaceOverallScale? number@description: Overall scale of upper face
headFeatures.faceShape.overall.upperFaceVerticalShift? number@description: Move the upper half of the face up and down
headFeatures.head? { baseColorTexture?: ArrayLike<string\> ; headHorizontalScale?: number;headOverallScale?: number;style?: string }@description: head
headFeatures.head.baseColorTexture? ArrayLike<string>@description: Main texture
headFeatures.head.headHorizontalScale? number@description: Head scale left and right
headFeatures.head.headOverallScale? number@description: Head overall scale
headFeatures.head.style? string@description: style
headFeatures.mouth? { lips?: { lowerLipThickness?: number;upperLipThickness?: number } ; mouthCorners?: { mouthCornerFrontalShift?: number;mouthCornerVerticalShift?: number } ; overall?: { mouthFrontalShift?: number;mouthHorizontalScale?: number;mouthVerticalShift?: number } }@description: mouth
headFeatures.mouth.lips? { lowerLipThickness?: number;upperLipThickness?: number }@description: Lips
headFeatures.mouth.lips.lowerLipThickness? number@description: Thin and thick lower lip
headFeatures.mouth.lips.upperLipThickness? number@description: Thin and thick upper lip
headFeatures.mouth.mouthCorners? { mouthCornerFrontalShift?: number;mouthCornerVerticalShift?: number }@description: corners of the mouth
headFeatures.mouth.mouthCorners.mouthCornerFrontalShift? number@description: Move the corners of the mouth back and forth
headFeatures.mouth.mouthCorners.mouthCornerVerticalShift? number@description: The corners of the mouth move up and down
headFeatures.mouth.overall? { mouthFrontalShift?: number;mouthHorizontalScale?: number;mouthVerticalShift?: number }@description: whole
headFeatures.mouth.overall.mouthFrontalShift? number@description: Move your mouth back and forth
headFeatures.mouth.overall.mouthHorizontalScale? number@description: Scale the mouth left and right
headFeatures.mouth.overall.mouthVerticalShift? number@description: Move your mouth up and down
headFeatures.nose? { noseBridge?: { noseBridgeFrontalShift?: number;noseBridgeHorizontalScale?: number } ; noseTip?: { noseTipVerticalShift?: number } ; nostrils?: { nostrilForntalShift?: number;nostrilHorizontalScale?: number;nostrilVerticalShift?: number } ; overall?: { noseOverallFrontalShift?: number;noseOverallVerticalShift?: number } }@description: nose
headFeatures.nose.noseBridge? { noseBridgeFrontalShift?: number;noseBridgeHorizontalScale?: number }@description: bridge of the nose
headFeatures.nose.noseBridge.noseBridgeFrontalShift? number@description: Front and back movement of nasal bridge
headFeatures.nose.noseBridge.noseBridgeHorizontalScale? number@description: Left and right scaling of nasal bridge
headFeatures.nose.noseTip? { noseTipVerticalShift?: number }@description: nose
headFeatures.nose.noseTip.noseTipVerticalShift? number@description: Move the tip of the nose up and down
headFeatures.nose.nostrils? { nostrilForntalShift?: number;nostrilHorizontalScale?: number;nostrilVerticalShift?: number }@description: nosewing
headFeatures.nose.nostrils.nostrilForntalShift? number@description: Front and back movement of nasal wings
headFeatures.nose.nostrils.nostrilHorizontalScale? number@description: Left and right wing zooming
headFeatures.nose.nostrils.nostrilVerticalShift? number@description: Move the nostrils up and down
headFeatures.nose.overall? { noseOverallFrontalShift?: number;noseOverallVerticalShift?: number }@description: whole
headFeatures.nose.overall.noseOverallFrontalShift? number@description: The nose moves forward and backward as a whole
headFeatures.nose.overall.noseOverallVerticalShift? number@description: The nose moves up and down as a whole
makeup? { blush?: { blushColor?: string [LinearColor](mw.LinearColor.md) ; blushStyle?: string } ; bodyDecal?: ArrayLike<{ `decalColor?`: `string` [`LinearColor`](mw.LinearColor.md) ; `decalHorizontalShift?`: `number` ; `decalOverallRotation?`: `number` ; `decalOverallScale?`: `number` ; `decalStyle?`: `string` ; `decalVerticalShift?`: `number` }> ; coloredContacts?: { decal?: { pupilColor?: string [LinearColor](mw.LinearColor.md) ; pupilHorizontalPosition?: number;pupilSizeScale?: number;pupilStyle?: string;pupilVerticalPosition?: number } ; highlight?: { lowerHighlightColor?: string [LinearColor](mw.LinearColor.md) ; lowerHighlightStyle?: string;upperHighlightColor?: string [LinearColor](mw.LinearColor.md) ; upperHighlightStyle?: string } ; style?: { leftPupilColor?: string [LinearColor](mw.LinearColor.md) ; pupilColor?: string [LinearColor](mw.LinearColor.md) ; pupilStyle?: string;rightPupilColor?: string [LinearColor](mw.LinearColor.md) } } ; eyeShadow?: { eyeshadowStyle?: string;eyeshaowColor?: string [LinearColor](mw.LinearColor.md) } ; eyebrows?: { eyebrowColor?: string [LinearColor](mw.LinearColor.md) ; eyebrowStyle?: string } ; eyelashes?: { eyelashColor?: string [LinearColor](mw.LinearColor.md) ; eyelashStyle?: string } ; faceDecal?: ArrayLike<{ `decalColor?`: `string` [`LinearColor`](mw.LinearColor.md) ; `decalHorizontalShift?`: `number` ; `decalOverallRotation?`: `number` ; `decalOverallScale?`: `number` ; `decalStyle?`: `string` ; `decalVerticalShift?`: `number` }> ; headDecal?: { decalColor?: string [LinearColor](mw.LinearColor.md) ; decalStyle?: string } ; lipstick?: { lipstickColor?: string [LinearColor](mw.LinearColor.md) ; lipstickStyle?: string } ; skinTone?: { skinColor?: string [LinearColor](mw.LinearColor.md) } }@description: Makeup
makeup.blush? { blushColor?: string [LinearColor](mw.LinearColor.md) ; blushStyle?: string }@description: Blush
makeup.blush.blushColor? string LinearColor@description: Powder blusher color
makeup.blush.blushStyle? string@description: Powder blusher style
makeup.bodyDecal? ArrayLike<{ decalColor?: string [LinearColor](mw.LinearColor.md) ; decalHorizontalShift?: number;decalOverallRotation?: number;decalOverallScale?: number;decalStyle?: string;decalVerticalShift?: number }>@description: Body decals
makeup.coloredContacts? { decal?: { pupilColor?: string [LinearColor](mw.LinearColor.md) ; pupilHorizontalPosition?: number;pupilSizeScale?: number;pupilStyle?: string;pupilVerticalPosition?: number } ; highlight?: { lowerHighlightColor?: string [LinearColor](mw.LinearColor.md) ; lowerHighlightStyle?: string;upperHighlightColor?: string [LinearColor](mw.LinearColor.md) ; upperHighlightStyle?: string } ; style?: { leftPupilColor?: string [LinearColor](mw.LinearColor.md) ; pupilColor?: string [LinearColor](mw.LinearColor.md) ; pupilStyle?: string;rightPupilColor?: string [LinearColor](mw.LinearColor.md) } }@description: Contact lenses
makeup.coloredContacts.decal? { pupilColor?: string [LinearColor](mw.LinearColor.md) ; pupilHorizontalPosition?: number;pupilSizeScale?: number;pupilStyle?: string;pupilVerticalPosition?: number }@description: Stickers
makeup.coloredContacts.decal.pupilColor? string LinearColor@description: Decal Color
makeup.coloredContacts.decal.pupilHorizontalPosition? number@description: The sticker moves left and right
makeup.coloredContacts.decal.pupilSizeScale? number@description: Patch size scaling
makeup.coloredContacts.decal.pupilStyle? string@description: Pupil style
makeup.coloredContacts.decal.pupilVerticalPosition? number@description: Decal moves up and down
makeup.coloredContacts.highlight? { lowerHighlightColor?: string [LinearColor](mw.LinearColor.md) ; lowerHighlightStyle?: string;upperHighlightColor?: string [LinearColor](mw.LinearColor.md) ; upperHighlightStyle?: string }@description: Highlights
makeup.coloredContacts.highlight.lowerHighlightColor? string LinearColor@description: Highlight color below
makeup.coloredContacts.highlight.lowerHighlightStyle? string@description: Lower highlight style
makeup.coloredContacts.highlight.upperHighlightColor? string LinearColor@description: Highlight color on top
makeup.coloredContacts.highlight.upperHighlightStyle? string@description: Highlight style on top
makeup.coloredContacts.style? { leftPupilColor?: string [LinearColor](mw.LinearColor.md) ; pupilColor?: string [LinearColor](mw.LinearColor.md) ; pupilStyle?: string;rightPupilColor?: string [LinearColor](mw.LinearColor.md) }@description: style
makeup.coloredContacts.style.leftPupilColor? string LinearColor@description: Color of left pupil
makeup.coloredContacts.style.pupilColor? string LinearColorDeprecated @description: Pupil color
makeup.coloredContacts.style.pupilStyle? string@description: Pupil style
makeup.coloredContacts.style.rightPupilColor? string LinearColor@description: Right pupil color
makeup.eyeShadow? { eyeshadowStyle?: string;eyeshaowColor?: string [LinearColor](mw.LinearColor.md) }@description: Eye shadow
makeup.eyeShadow.eyeshadowStyle? string@description: Eyeshadow style
makeup.eyeShadow.eyeshaowColor? string LinearColor@description: Eyeshadow color
makeup.eyebrows? { eyebrowColor?: string [LinearColor](mw.LinearColor.md) ; eyebrowStyle?: string }@description: eyebrow
makeup.eyebrows.eyebrowColor? string LinearColor@description: Eyebrow color
makeup.eyebrows.eyebrowStyle? string@description: Eyebrow style
makeup.eyelashes? { eyelashColor?: string [LinearColor](mw.LinearColor.md) ; eyelashStyle?: string }@description: eyelash
makeup.eyelashes.eyelashColor? string LinearColor@description: Eyelash color
makeup.eyelashes.eyelashStyle? string@description: Eyelash style
makeup.faceDecal? ArrayLike<{ decalColor?: string [LinearColor](mw.LinearColor.md) ; decalHorizontalShift?: number;decalOverallRotation?: number;decalOverallScale?: number;decalStyle?: string;decalVerticalShift?: number }>@description: Face decal
makeup.headDecal? { decalColor?: string [LinearColor](mw.LinearColor.md) ; decalStyle?: string }@description: Head decal
makeup.headDecal.decalColor? string LinearColor@description: Decal Color
makeup.headDecal.decalStyle? string@description: Decal style
makeup.lipstick? { lipstickColor?: string [LinearColor](mw.LinearColor.md) ; lipstickStyle?: string }@description: Lipstick
makeup.lipstick.lipstickColor? string LinearColor@description: Lipstick color
makeup.lipstick.lipstickStyle? string@description: Lipstick style
makeup.skinTone? { skinColor?: string [LinearColor](mw.LinearColor.md) }@description: skin colour
makeup.skinTone.skinColor? string LinearColor@description: Skin color
slotAndDecoration? { slot: ArrayLike<{ decoration?: [CharacterDecoration](mw.CharacterDecoration.md) ; slotOffset?: Readonly<[Transform](mw.Transform.md)\> }> }Slot and items
slotAndDecoration.slot ArrayLike<{ decoration?: [CharacterDecoration](mw.CharacterDecoration.md) ; slotOffset?: Readonly<[Transform](mw.Transform.md)\> }>Description Slot data

base

Optional Readonly base: Object

Basic humanoid object appearance configuration class and advance are mutually exclusive

Usage example: Set character appearance in different ways, clear appearance, synchronize appearance. Play the effect when the appearance switch is completed. Determine whether the appearance is loaded and the corresponding animation is played.

ts
@Component
export default class CharacterStyleExample extends Script {
    protected onStart(): void {
        if(SystemUtil.isClient()) {
            // Get the current client Player
            let myPlayer = Player.localPlayer;
            // Get Player control character
            let myCharacter = myPlayer.character;
            // If the player's appearance is ready, wave your hand; otherwise, wave your hand
            if(myCharacter.isDescriptionReady) {
                let animation = myCharacter.loadAnimation("35391");
                animation.play();
            } else {
                let animation = myCharacter.loadAnimation("14521");
                animation.play();
            }
            let defaultStyle = null;
            // Add a function to the delegate of [character Dressing Complete]
            myCharacter.onDescriptionComplete.add(() => {
                // Play the effect after changing clothes
                EffectService.playOnGameObject("161245", myCharacter, {slotType: HumanoidSlotType.Root});
                // Get the default appearance style of the character
                defaultStyle = myCharacter.getDescription();
            });
            // Add a button method: Press keyboard "1" to reset to default character appearance
            InputUtil.onKeyDown(Keys.One, () => {
                myCharacter.setDescription(defaultStyle);
            });
            // Add a key method: press "2" on the keyboard to modify the character appearance
            InputUtil.onKeyDown(Keys.Two, () => {
                if(myCharacter.characterType == CharacterType.HumanoidV1) {
                    // Load a V1/4-feet appearance
                    character.description.base.wholeBody = "147807"
                }
            });
            // Add a button method: Press keyboard "3" to synchronize the appearance of the character
            InputUtil.onKeyDown(Keys.Three, () => {
                myCharacter.syncDescription();
            });
            // Add a button method: Press keyboard "4" to clear the appearance of the character
            InputUtil.onKeyDown(Keys.Four, () => {
                myCharacter.clearDescription();
            });
        }
    }
}
@Component
export default class CharacterStyleExample extends Script {
    protected onStart(): void {
        if(SystemUtil.isClient()) {
            // Get the current client Player
            let myPlayer = Player.localPlayer;
            // Get Player control character
            let myCharacter = myPlayer.character;
            // If the player's appearance is ready, wave your hand; otherwise, wave your hand
            if(myCharacter.isDescriptionReady) {
                let animation = myCharacter.loadAnimation("35391");
                animation.play();
            } else {
                let animation = myCharacter.loadAnimation("14521");
                animation.play();
            }
            let defaultStyle = null;
            // Add a function to the delegate of [character Dressing Complete]
            myCharacter.onDescriptionComplete.add(() => {
                // Play the effect after changing clothes
                EffectService.playOnGameObject("161245", myCharacter, {slotType: HumanoidSlotType.Root});
                // Get the default appearance style of the character
                defaultStyle = myCharacter.getDescription();
            });
            // Add a button method: Press keyboard "1" to reset to default character appearance
            InputUtil.onKeyDown(Keys.One, () => {
                myCharacter.setDescription(defaultStyle);
            });
            // Add a key method: press "2" on the keyboard to modify the character appearance
            InputUtil.onKeyDown(Keys.Two, () => {
                if(myCharacter.characterType == CharacterType.HumanoidV1) {
                    // Load a V1/4-feet appearance
                    character.description.base.wholeBody = "147807"
                }
            });
            // Add a button method: Press keyboard "3" to synchronize the appearance of the character
            InputUtil.onKeyDown(Keys.Three, () => {
                myCharacter.syncDescription();
            });
            // Add a button method: Press keyboard "4" to clear the appearance of the character
            InputUtil.onKeyDown(Keys.Four, () => {
                myCharacter.clearDescription();
            });
        }
    }
}

Type declaration

wholeBody? string@description: Whole body model