# MagazineInteractor

<figure><img src="https://4076613168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAtJP6qmQHDLTTrea7mq2%2Fuploads%2Fd6voKvX2rjMjEZN2zI0w%2Fimage.png?alt=media&#x26;token=31045c69-17de-4a6f-9065-1d369c4a637d" alt=""><figcaption><p>MagazineInteractor hitbox on the </p></figcaption></figure>

**MagazineInteractor** extends XRInteractionToolkit's **XRSocketInteractor** and as such mostly behaves as one. It checks magazine combability, cooldowns, updates `Firearm.magazine` when a magazine is attached, and limits player detaching. The **MagazineInteractor** also has a custom attachment point for the magazines, the "Weapon/model/magazineRenderPoint" object, which is manipulated by the Firearm's animations.

{% hint style="warning" %}
In multiplayer, it is recommended to have a little larger hitbox to help with position inaccuracies.
{% endhint %}

The `allowGrabMagazine` variable determines whether the player can simply grab the attached Magazine in order to detach it. This is done to reflect the real life Firearm's Magazine detach process, which often can require further input. Most AK's simply allows you to grab the magazine, while the AR-15 platform requires you to engage the magazine release button.&#x20;



<figure><img src="https://4076613168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAtJP6qmQHDLTTrea7mq2%2Fuploads%2Fn70sDfi5uwqixCP051Zm%2Faleks-workshop-aleks.gif?alt=media&#x26;token=a9439416-a6cb-430b-9937-1d6ea5806568" alt=""><figcaption><p>AK Emergency Reload [@AleksWorkshop]</p></figcaption></figure>

You can extend detaching behaviour with the **MagazineEjectorInput** Component, which detaches magazine upon controller input. The AK platform also features the unique [**MagazineCollisionDetacher** ](physical-input-components/magazinecollisiondetacher)component, which detaches the current magazine upon collision, making it possible to perform the famous "Emergency AK Reload"
