๐Ÿ’ปExtending the System

In this section you will learn how to create custom animation modules.

Overview

A procedural animation feature consists of 2 entities:

  • FPSAnimatorLayerSettings: a Scriptable Object that contains all the data.

  • IAnimationLayerJob: a struct that executes custom animation logic.

If you open up the source code of the framework, you will notice that every layer has its own folder with 2 .cs files:

AdditiveLayer example.

FPSAnimatorLayerSettings class is responsible not just for containing the data, but for instantiating the IAnimationLayerJob as well:

CreateAnimationJob() method must return a new instance of the desired IAnimationLayerJob-type. When you link a new Animator Profile, the system iterates over all animation features (Layer Settings) and then invokes the CreateAnimationJob() method to create the Layer State.

Example

First, create a new FPSAnimatorLayerSettings-derived class for data, and IAnimationLayerJob-implemented struct:


In the next chapter, we will learn how to work with the demo project.

Last updated