# CyclingFirearmAction

<figure><img src="https://4076613168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAtJP6qmQHDLTTrea7mq2%2Fuploads%2FTycFfanGaCTuP0YfUsRV%2Fimage.png?alt=media&#x26;token=9324437f-8ca4-49f0-a900-bf2fa69d8403" alt=""><figcaption><p>The AR-15 features a Cycling Action</p></figcaption></figure>

**CyclingFirearmAction** represents the action of a weapon that cycles in order to load the next round. This is applicable to most modern day firearms, however if you would like to create say a Break-Action shotgun you'd have to write your own FirearmAction component.&#x20;



{% hint style="info" %}
**FirearmCyclingAction** can be manipulated and made Interactable with the **FirearmCyclingActionInteractable** Component
{% endhint %}



The **CyclingFirearmAction** exposes a few variables that you can customize to your own needs:

* **automaticCycling** - Lets you determine if the firearm should cycle after being fired. Turning this off would create a Bolt-Action firearm, where you manually have to cycle every cartridge in to the chamber.
* **roundsPerMinute** - Determines the spring strength of your **Firearm**, which in turn determines how quickly the next round is loaded and how soon your Firearm can be fired again. Becomes especially noticeable in Full-Automatic firing.
* **lockOnEmptyMag** - Decides whether an empty Magazine should lock the action back in the open position to emulate the real Firearm counterpart. The real AK47 does not feature bolt lockback, and will therefore have to be manually cycled after every reload (with an empty chamber).





