Creating a configuration
To create a new configuration, create a class that inherits from the AnimationConfig abstract class
public abstract class AnimationConfig
{
public abstract void ApplyConfiguration(AvatarReady avatarReady);
public abstract void ResetConfiguration(AvatarReady avatarReady);
}
Some attributes must be specified in the configuration:
An AvatarReadyName to define the name of the config in the avatar ready inspector
An AvatarReadySupportedSystem to define the system this config applies to
A configuration may also have some optional attributes
One or many AvatarReadySupportedTracker if the system requires the use of trackers
One or many AvatarReadyConstOption / AvatarReadyObjectOptionAttribute / AvatarReadyReflectionOptionAttribute if the system requires specific options.
Example of attributes for the Animation Rigging Default configuration
[AvatarReadyName("Animation Rigging Default config", "Headset + 2 Hand controllers")]
[AvatarReadySupportedSystem(typeof(AnimationRiggingSystem))]
[AvatarReadySupportedTracker(0, "Headset", HumanBodyBones.Head, typeof(HeadTracker))]
[AvatarReadySupportedTracker(1, "Left Hand Tracker", HumanBodyBones.LeftHand, typeof(HandTracker))]
[AvatarReadySupportedTracker(1, "Right Hand Tracker", HumanBodyBones.RightHand, typeof(HandTracker))]
public class ARiggingDefaultConfig : AnimationConfig
{
...
}