class unreal.SkeletalMesh(outer: Optional[Object] = None, name: Union[Name, str] = 'None')

Bases: SkinnedAsset

SkeletalMesh is geometry bound to a hierarchical skeleton of bones which can be animated for the purpose of deforming the mesh. Skeletal Meshes are built up of two parts; a set of polygons composed to make up the surface of the mesh, and a hierarchical skeleton which can be used to animate the polygons. The 3D models, rigging, and animations are created in an external modeling and animation application (3DSMax, Maya, Softimage, etc). see: https://docs.unrealengine.com/latest/INT/Engine/Content/Types/SkeletalMeshes/

C++ Source:

  • Module: Engine

  • File: SkeletalMesh.h

Editor Properties: (see get_editor_property/set_editor_property)

  • asset_import_data (AssetImportData): [Read-Write] Asset Import Data

  • asset_user_data (Array[AssetUserData]): [Read-Write] Asset User Data: Array of user data stored with the asset

  • cloth_lod_bias_mode (ClothLODBiasMode): [Read-Write] Cloth LODBias Mode

  • default_animating_rig (Object): [Read-Write] Default Animating Rig

  • default_mesh_deformer (MeshDeformer): [Read-Write] Default Mesh Deformer

  • disable_below_min_lod_stripping (PerPlatformBool): [Read-Write] Disable Below Min Lod Stripping

  • enable_per_poly_collision (bool): [Read-Write] Enable Per Poly Collision

  • global_force_mip_levels_to_be_resident (bool): [Read-Write] Global Force Mip Levels to be Resident: Global and serialized version of ForceMiplevelsToBeResident.

  • lod_info (Array[SkeletalMeshLODInfo]): [Read-Write] LODInfo

  • lod_settings (SkeletalMeshLODSettings): [Read-Write] LODSettings

  • materials (Array[SkeletalMaterial]): [Read-Write] Materials

  • max_num_optional_lo_ds (PerPlatformInt): [Read-Write] Max Num Optional LODs

  • max_num_streamed_lo_ds (PerPlatformInt): [Read-Write] Max Num Streamed LODs

  • mesh_clothing_assets (Array[ClothingAssetBase]): [Read-Write] Mesh Clothing Assets

  • min_lod (PerPlatformInt): [Read-Write] Min Lod

  • min_quality_level_lod (PerQualityLevelInt): [Read-Write] Min Quality Level LOD

  • morph_targets (Array[MorphTarget]): [Read-Write] Morph Targets

  • negative_bounds_extension (Vector): [Read-Write] Negative Bounds Extension

  • never_stream (bool): [Read-Write] Never Stream

  • node_mapping_data (Array[NodeMappingContainer]): [Read-Write] Node Mapping Data

  • num_cinematic_mip_levels (int32): [Read-Write] Num Cinematic Mip Levels: Number of mip-levels to use for cinematic quality.

  • override_lod_streaming_settings (bool): [Read-Write] Override LODStreaming Settings

  • physics_asset (PhysicsAsset): [Read-Write] Physics Asset

  • positive_bounds_extension (Vector): [Read-Write] Positive Bounds Extension

  • post_process_anim_blueprint (type(Class)): [Read-Write] Post Process Anim Blueprint

  • ray_tracing_min_lod (int32): [Read-Write] Ray Tracing Min LOD

  • sampling_info (SkeletalMeshSamplingInfo): [Read-Write] Sampling Info

  • shadow_physics_asset (PhysicsAsset): [Read-Write] Shadow Physics Asset

  • skel_mirror_axis (AxisType): [Read-Write] Skel Mirror Axis

  • skel_mirror_flip_axis (AxisType): [Read-Write] Skel Mirror Flip Axis

  • skel_mirror_table (Array[BoneMirrorInfo]): [Read-Write] Skel Mirror Table

  • skeleton (Skeleton): [Read-Only] Skeleton

  • skin_weight_profiles (Array[SkinWeightProfileInfo]): [Read-Write] Skin Weight Profiles

  • support_lod_streaming (PerPlatformBool): [Read-Write] B Support LODStreaming

  • support_ray_tracing (bool): [Read-Write] Support Ray Tracing

  • thumbnail_info (ThumbnailInfo): [Read-Only] Thumbnail Info

add_socket(socket, add_to_skeleton=False) None

Add a skeletal socket object to this SkeletalMesh, and optionally promotes it to USkeleton socket.

property default_animating_rig: Object

[Read-Write] Default Animating Rig



property default_mesh_deformer: MeshDeformer

[Read-Only] Default Mesh Deformer



find_socket_and_index(socket_name) -> (SkeletalMeshSocket, out_index=int32)

Find a socket object in this SkeletalMesh by name. Entering NAME_None will return NULL. If there are multiple sockets with the same name, will return the first one. Also returns the index for the socket allowing for future fast access via GetSocketByIndex()


socket_name (Name) –


out_index (int32):

Return type:


get_all_morph_target_names() Array[str]

Returns the list of all morph targets of this skeletal mesh


The list of morph targets

Return type:


get_bounds() BoxSphereBounds

Get the extended bounds of this mesh (imported bounds plus bounds extension). USkinnedAsset interface.

Return type:


get_imported_bounds() BoxSphereBounds

Get the original imported bounds of the skel mesh

Return type:


get_min_lod_for_quality_levels() -> (quality_level_minimum_lo_ds=Map[PerQualityLevels, int32], default=int32)

Get Min LODFor Quality Levels


quality_level_minimum_lo_ds (Map[PerQualityLevels, int32]):

default (int32):

Return type:


get_node_mapping_container(source_asset) NodeMappingContainer

Get Node Mapping Container


source_asset (Blueprint) –

Return type:


get_socket_by_index(index) SkeletalMeshSocket

Returns a socket by index. Max index is NumSockets(). The meshes sockets are accessed first, then the skeletons.


index (int32) –

Return type:


is_section_using_cloth(section_index, check_corresponding_sections=True) bool

Checks whether the provided section is using APEX cloth. if bCheckCorrespondingSections is true disabled sections will defer to correspond sections to see if they use cloth (non-cloth sections are disabled and another section added when cloth is enabled, using this flag allows for a check on the original section to succeed)

  • section_index (int32) – Index to check

  • check_corresponding_sections (bool) – Whether to check corresponding sections for disabled sections

Return type:


property lod_settings: SkeletalMeshLODSettings

[Read-Write] LODSettings



property materials: Array[SkeletalMaterial]

[Read-Write] Materials



property mesh_clothing_assets: Array[ClothingAssetBase]

[Read-Write] Mesh Clothing Assets



property morph_targets: Array[MorphTarget]

[Read-Write] Morph Targets



property negative_bounds_extension: Vector

[Read-Only] Negative Bounds Extension



property node_mapping_data: Array[NodeMappingContainer]

[Read-Only] Node Mapping Data



num_sockets() int32

Returns the number of sockets available. Both on this mesh and it’s skeleton.

Return type:


property physics_asset: PhysicsAsset

[Read-Only] Physics Asset



property positive_bounds_extension: Vector

[Read-Only] Positive Bounds Extension



property post_process_anim_blueprint: Class

[Read-Only] Post Process Anim Blueprint



remove_lo_ds(to_remove_lo_ds) bool

Remove all the specified LODs. This function will remove all the valid LODs in the list. Valid LOD is any LOD greater then 0 that exist in the skeletalmesh. We cannot remove the base LOD 0.


to_remove_lo_ds (Array[int32]) – The LODs we need to remove


true if the successfully remove all the LODs. False otherwise, but evedn if it return false it will have removed all valid LODs.

Return type:


set_min_lod_for_quality_levels(quality_level_minimum_lo_ds, default=-1) None

Allow to override min lod quality levels on a skeletalMesh and it Default value (-1 value for Default dont override its value).

property shadow_physics_asset: PhysicsAsset

[Read-Only] Shadow Physics Asset



property skeleton: Skeleton

[Read-Only] Skeleton



strip_lod_geometry(lod_index, texture_mask, threshold) bool

This function will strip all triangle in the specified LOD that don’t have any UV area pointing on a black pixel in the TextureMask. We use the UVChannel 0 to find the pixels in the texture.

  • lod_index (int32) –

  • texture_mask (Texture2D) –

  • threshold (float) –

Return type: