> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinemation.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# 🔗Linking

> In this section we will learn how to link layers.

## Overview

The linking process is used to smoothly blend in our desired Animator Profile in runtime.

Let's take at the linking functionality in the source code:

```text theme={null}
public void UnlinkAnimatorProfile() { ... }
public void LinkAnimatorProfile(GameObject itemEntity) { ... }
public void LinkAnimatorProfile(FPSAnimatorProfile newProfile) { ... }
```

The system has a way to link a Game Object, if it contains the Animator Profile. This is only possible if your Game Object has an **FPSEntityComponent**:

<img src="https://mintcdn.com/kinemation/IMbHDDWE_rjJU7jO/images/scriptable-animation-system/47fead6e4062cd7f5bea.png?fit=max&auto=format&n=IMbHDDWE_rjJU7jO&q=85&s=d870319f2d12b3d3247ca6b1e5a13259" alt="" width={350} data-path="images/scriptable-animation-system/47fead6e4062cd7f5bea.png" />

Then, in your controller code, you can just pass the weapon Game Object to the **LinkAnimatorProfile** method, and it will work as expected.

The **UnlinkAnimatorProfile** is used to blend out the currently active profile, which might be useful when you do not want to use the system at all.

## Code example

Let's see how we can apply the linking in practice. Here's a code snippet from the demo:

In the demo project, weapons control the equipment logic, and because our weapon has an **FPS Animator Entity** component, we can just pass the gameObject as a parameter.

It is also possible to link individual layers:

In this example, we play a procedural unequip animation by dynamically linking an `**unEquipMotion**`.

***

In the next section, we will learn how to integrate animation framework components with a third-party controller.
