reckfellENGINE

BoneMap

Name mapping: profile bone → source skeleton bone.

On this page
class BoneMapReckfellSharpInherits Resource

For example, profile key Hips can store Pelvis from the source model. Assign Profile first, then configure mappings. BoneMap stores retargeting data; it does not itself change Skeleton3D names, poses or hierarchy.

Identical names do not eliminate differences in rest transforms, axes or animation paths. Duplicate assignments are possible, so verify the map and actual character. See retargeting for the workflow.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

BoneMapConstructor
# BoneMap
C#
public BoneMap();

Creates a map with no profile. Assign Profile first, then fill existing profile keys with SetSkeletonBoneName. The map does not hold a reference to a particular Skeleton3D.

Properties1

ProfileProperty
# Profile
C#
public SkeletonProfile Profile { get; set; }

The profile defines valid map keys. Synchronization adds new keys with empty values, removes keys absent from the profile and retains values for shared keys. Assigning a profile neither inspects a skeleton nor renames bones.

Methods5

FindProfileBoneNameStringName
# FindProfileBoneName
C#
public StringName FindProfileBoneName(StringName skeletonBoneName);

Finds a profile key by source bone name. Duplicate values return one match; do not rely on iteration order as a selection rule. No match returns an empty name.

Parameters
NameTypeDefault
skeletonBoneNameStringName—
skeletonBoneName

Source skeleton bone name, such as Pelvis. Check its existence separately with Skeleton3D.FindBone.

Returns StringName

Matching profile key or an empty StringName. Not a bone index.

GetProfileSkeletonProfile
# GetProfile
C#
public SkeletonProfile GetProfile();

Returns the same profile object as Profile, without making a copy. A new map has no profile despite the non-nullable SDK signature.

Returns SkeletonProfile

Current profile, or null when unassigned.

GetSkeletonBoneNameStringName
# GetSkeletonBoneName
C#
public StringName GetSkeletonBoneName(StringName profileBoneName);

Reads the forward mapping: profile bone name → source skeleton bone name. An existing key can have an empty value. Do not pass an arbitrary name absent from the profile: that is a native API error, not a guaranteed C# exception.

Parameters
NameTypeDefault
profileBoneNameStringName—
profileBoneName

Existing bone name in Profile, such as Hips; the target key, not the source bone name.

Returns StringName

Stored source bone name for the profile key; an empty name means unassigned.

SetProfilevoid
# SetProfile
C#
public void SetProfile(SkeletonProfile profile);

Assigns Profile and synchronizes keys with its bones. Reassigning the same reference does not rerun synchronization through this setter. Replacing the profile does not automatically fill source-skeleton names.

Parameters
NameTypeDefault
profileSkeletonProfile—
profile

Profile resource containing target bone names. The map retains a resource reference; it does not copy the profile.

SetSkeletonBoneNamevoid
# SetSkeletonBoneName
C#
public void SetSkeletonBoneName(StringName profileBoneName, StringName skeletonBoneName);

Stores a source bone name under an existing profile key. Does not verify that the bone exists in Skeleton3D and allows duplicate values under different keys. Does not mutate a live skeleton. Emits BoneMapUpdated even when writing the same value again.

Parameters
NameTypeDefault
profileBoneNameStringName—
skeletonBoneNameStringName—
profileBoneName

Existing bone name in Profile, such as Hips; the target key, not the source bone name.

skeletonBoneName

Source skeleton bone name, such as Pelvis. Check its existence separately with Skeleton3D.FindBone.

Signals and events2

BoneMapUpdatedEvent
# BoneMapUpdated
C#
public event Action BoneMapUpdated;

Notification from SetSkeletonBoneName. Does not prove that a value changed: writing the same name again also notifies. Read the relevant mapping again.

ProfileUpdatedEvent
# ProfileUpdated
C#
public event Action ProfileUpdated;

Notifies after map synchronization following profile replacement or the profile own ProfileUpdated notification. Separate from BoneMapUpdated; reassigning the same reference alone does not emit it.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.