PumpActionBase_BP

if (APumpActionShotgunBase* PumpShotgun = Cast<APumpActionShotgunBase>(CurrentWeapon))
{
	if (WeaponArray[weaponIndex] == PumpShotgun)
	{
	
		if (PumpShotgun->CurrentMagazineAmmo >= 1)
		{
			ShotgunPumpActionBool = true;
			bIsReloading = false;
			ReloadBool = false;
			bIsFiringGun = true;
			PumpShotgun->PumpActionBaseBool = true;
			PumpShotgun->Fire();
		}
		if (PumpShotgun->CurrentMagazineAmmo <= 6 && bIsFiringGun && PumpShotgun->CurrentMagazineAmmo != 0)
		{
			GetWorldTimerManager().ClearTimer(PumpShotgun->ShotgunReloadFTimerHandle);
		}
		Delay = 0.0;
	}
}
if (AShotgunBase* Shotgun = Cast<AShotgunBase>(CurrentWeapon))
{
	if (WeaponArray[weaponIndex] == Shotgun)
	{
		
		if (Shotgun->CurrentMagazineAmmo >= 1)
		{
			bIsReloading = false;
			ReloadBool = false;
			bIsFiringGun = true;
		}
		if (Shotgun->CurrentMagazineAmmo <= 6 && bIsFiringGun && Shotgun->CurrentMagazineAmmo != 0)
		{
			GetWorldTimerManager().ClearTimer(Shotgun->ShotgunReloadFTimerHandle);
		}
		Delay = 0.0;
	}
}
I don't know why WeaponBaseMesh->PlayAnimation(PumpActionBase, false); is not firing. The animation is not firing it stays idle. 

Hello there @Quaked54 !

From your screen sample, I think the problem happens when the animation gets called.

Your BP calls “Pump Action Base Func” from “Event Blueprint Update Animation”, which runs every single frame. If that function calls for the weapon’s “PlayAnimation”, that means it’s being restarted every tick, which will result in what your comment says, the mesh stays on the first pose and nothing else happens.

The animation should only be called once per shot, test by moving the “PlayAnimation” call into “Fire()”, and remove anything else that triggers it, so it’s able to play completely with no interruptions.