← All namespaces

skeleton

Animation & rigging Experimental

Skeletal asset structure: bones, sockets, morph targets, skin weights, physics assets, cloth.

What it's for

This namespace edits the structure of skeletal assets: the USkeleton, the SkeletalMesh, and the PhysicsAsset that hangs off it. It covers the pieces you would otherwise author by hand in the Skeleton, Skeletal Mesh, and Physics Asset editors: bones and their bind poses, sockets and virtual bones, morph targets, skin weights, ragdoll bodies and constraints, and Chaos Cloth bindings.

Reach for it when you want an assistant to set up or fix rig plumbing without opening those editors: add a muzzle socket to attach a weapon, generate a ragdoll physics asset from bone poses, create and populate a blendshape for a facial expression, or clean up skin weights on a remeshed character. Most operations write straight to the asset; a handful (like driving a morph weight or previewing physics) touch only the live editor preview.

Keep the scope in mind: skeleton is about the skeletal asset and its rig data. Animation clips, montages, IK retargeters, and animation Blueprints live under call("animation") and call("anim") instead.

This area is experimental. It works today, but method names and shapes are still changing as it matures, so pin down the current parameters from the wiki page before you lean on a call in a script.

Examples

Add a weapon attachment socket

Anchor a named socket to a hand bone so props can attach to it in-game.

You: On SK_Character, add a hand socket called WeaponR anchored to hand_r.

  call("skeleton.create_socket", {skeletalMeshPath:"/Game/Chars/SK_Character",
        socketName:"WeaponR", attachBoneName:"hand_r",
        relativeLocation:{x:5, y:0, z:0}})
    → {ok:true, socketName:"WeaponR"}

Done. Socket WeaponR added on hand_r.

Generate a ragdoll physics asset

Build a fresh physics asset from the mesh's bone poses, then read back the bodies it produced.

You: Make a ragdoll physics asset for SK_Character and show me the bodies.

  call("skeleton.create_physics_asset", {skeletalMeshPath:"/Game/Chars/SK_Character"})
    → {ok:true, outputPath:"/Game/Chars/SK_Character_PhysicsAsset"}
  call("skeleton.list_physics_bodies",
        {physicsAssetPath:"/Game/Chars/SK_Character_PhysicsAsset"})
    → {bodies:[{bone:"pelvis", primitives:1, physicsType:"Simulated"}, ...]}

Done. Physics asset created with 18 bodies.

Create a facial blendshape

Add an empty morph target, then write per-vertex deltas into it to shape the expression.

You: On SK_Head, add a Smile morph and push the mouth-corner deltas into it.

  call("skeleton.create_morph_target", {skeletalMeshPath:"/Game/Chars/SK_Head",
        morphTargetName:"Smile"})
    → {ok:true, alreadyExists:false}
  call("skeleton.set_morph_target_deltas", {skeletalMeshPath:"/Game/Chars/SK_Head",
        morphTargetName:"Smile",
        deltas:[{vertexIndex:1042, positionDelta:{x:0, y:0.4, z:0.2}}]})
    → {ok:true, verticesWritten:1}

Done. Smile morph created and populated.

← Back to all namespaces