# Weapon

## Step 1 - Add FPSAnimWeapon

Similarly to the character, your weapon class also needs to be derived from a special animation abstract class - <mark style="color:purple;">**FPSAnimWeapon**</mark>.

{% code title="YourWeapon.cs" overflow="wrap" %}

```csharp
public class YourWeapon : FPSAnimWeapon //<- inherit from FPSAnimWeapon
{
}
```

{% endcode %}

The only change you need to make is to override the **GetAimPoint()** method:

{% code title="Weapon.cs" overflow="wrap" %}

```csharp
public override Transform GetAimPoint() //<- override this in your Weapon class
{
    _scopeIndex++;
    _scopeIndex = _scopeIndex > scopes.Count - 1 ? 0 : _scopeIndex;
    return scopes[_scopeIndex];
}    
```

{% endcode %}

In this code we iterate over all scope transforms when player changes a scope.
