# 4.7.0 Update

## Changes

* Implemented multithreading for animation features.
  * Complete integration of Animation Job System.
* Brand new blending system.
  * Works out of the box.
* Added control weights to the IK Layer.
* Fixed the Pose Offset layer applied without curve blending.

## Notes

The new update works out of the box for the most part, however some adjustments are required.

### Clean Import

Remove the **KINEMATION** folder entirely, update the asset in the **Package Manager,** and import it to the project.

### Script Execution Order

Go to <mark style="background-color:purple;">**Edit -> Project Settings -> Script Execution Order**</mark> and place the *FPS Animator* script **AFTER** your controller class (in this case it's the FPSController.cs from the demo project):

<figure><img src="https://784345943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxcUmJ78NSw1bSUlSO9oP%2Fuploads%2FuKODYHO6QBqe2Zo9pfmI%2Fimage.png?alt=media&#x26;token=b42ace0d-16d8-4d1b-8066-958d26eb96a4" alt=""><figcaption><p>New order.</p></figcaption></figure>

### Manual Initialization

Because the FPS Animator is running after your controller now, you must manually call the `Initialize` method:

{% code title="YourController.cs" %}

```csharp
private FPSAnimator _fpsAnimator;

private void Start()
{
    _fpsAnimator = GetComponent<FPSAnimator>();
    _fpsAnimator.Initialize();
}
```

{% endcode %}
