Play Montage in C++ partially not working

void AWeaponBase::Fire()
{
	IsFiring = true;
	
	if(Character == nullptr || Character->GetController() == nullptr)
	{
		return;
	}

	if(ArmShootingMontage != nullptr && WeaponShootingMontage != nullptr)
	{
		Character->GetMesh1P()->GetAnimInstance()->Montage_Play(ArmShootingMontage);
		WeaponMesh->GetAnimInstance()->Montage_Play(WeaponShootingMontage);
		
		UE_LOG(LogTemp, Log, TEXT("Fire"));
	}
}

What I want to do is play animation montage on two different mesh.
I checked Character and WeaponMesh is valid, and Character’s ArmShootingMontage is Actually playing well.
But WeaponShootingMontage is not working. even if I checked Always Update Source Pose.

weapon mesh doesn’t receive input node in Default slot node, so that’s the only difference between Chracter’s working anim bp.
and it says source is visible but ignored…

What should I do?


Update)


image

I try to save pose snapshot and use it to input, but still montage doesn’t work.