Drop Magazine (AN_TFA_DropMagazine)
Spawns and drops a magazine during reload animations.
Asset path: /Game/InfimaGames/TacticalFPSAnimations/Common/Core/Animation/AN_TFA_DropMagazine
AN_TFA_DropMagazine is the notify you place on the exact frame where the current magazine should leave the weapon during a reload or similar animation. It is a weapon-owned notify, so it only does useful work when the montage is playing on a mesh owned by BP_TFA_BaseWeapon.
Quick Navigation
Purpose
Typical use:
Reload montages in first person or third person
Owner Requirement
This notify only works when the active animation is playing on a mesh owned by BP_TFA_BaseWeapon.
Notify Blueprint Flow
This notify is implemented in Received_Notify. It gets MeshComp.GetOwner(), casts the result to BP_TFA_BaseWeapon, validates the weapon, and then calls Weapon.SpawnDroppedMagazine(ImpulseForce, RotationForce). If the cast fails, nothing happens.
This notify does not spawn the magazine directly. It delegates the actual work to BP_TFA_BaseWeapon::SpawnDroppedMagazine.
Readable Blueprint Flow
Parameters
The notify exposes two parameters:
ImpulseForcePassed into
SpawnDroppedMagazineas the linear impulse strength
RotationForcePassed into
SpawnDroppedMagazineas the spin strength
Default Values
ImpulseForce = -50.0RotationForce = 150.0
The negative default on ImpulseForce is intentional. The weapon applies impulse along the socket up vector, so a negative value pushes in the opposite direction.
The notify only passes force values. Spawn class, socket, mesh, and impact sound are all defined by the weapon-side implementation and the active config.
What SpawnDroppedMagazine Does
SpawnDroppedMagazine DoesBP_TFA_BaseWeapon::SpawnDroppedMagazine creates a physics magazine actor at the weapon’s magazine socket and fills in the rest from CurrentConfig.
It uses config data for:
The socket to spawn from
The static mesh to assign
The impact sound to use on collision
Spawn Location
Component:
SK_ReceiverSocket:
CurrentConfig.SocketMagazineAttachmentTransform:
SK_Receiver.GetSocketTransform(SocketMagazineAttachment, RTS_World)
If SocketMagazineAttachment is missing or misnamed, Unreal falls back to the component transform, which usually looks like the magazine spawned at the weapon origin.
Spawned Actor and Runtime Setup
Class:
BP_TFA_PhysicsMagazineCollision handling:
AlwaysSpawnAssigned sound:
CurrentConfig.SoundCue_WEP_MagDropAssigned mesh:
SM_PshyicsObject.SetStaticMesh(CurrentConfig.MeshMagazine)
Physics Kick
Linear impulse uses the socket up vector multiplied by
ImpulseForceAngular impulse uses
RandomUnitVector()multiplied byRotationForceBoth are applied with
bVelChange = true
Config Fields Used
Values come from CurrentConfig (BP_TFA_BaseConfig):
SocketMagazineAttachmentMeshMagazineSoundCue_WEP_MagDrop
Placement Tips
Place the notify on the exact frame where the magazine clears the magwell
Put it on the montage that plays on the weapon mesh
If your reload logic moved to the character mesh, this weapon-owned notify will not execute its intended code path
Troubleshooting
Nothing happens
The animation is playing on a mesh that is not owned by
BP_TFA_BaseWeaponThe weapon does not implement
SpawnDroppedMagazine, or it exits early
The magazine drops, but looks wrong
Tune
ImpulseForceandRotationForceVerify
CurrentConfig.SocketMagazineAttachmentexists onSK_ReceiverVerify
CurrentConfig.MeshMagazineis setVerify
CurrentConfig.SoundCue_WEP_MagDropis set if you want impact audio
Related Pages
See Add Notifies to Animation Montages for placement workflow
See Base Weapon (BP_TFA_BaseWeapon) for the weapon-side implementation
See Physics Magazine (BP_TFA_PhysicsMagazine) and Base Physics Object (BP_TFA_BasePhysicsObject) for lifespan and impact sound behavior
Last updated
Was this helpful?

