Weapon Selection System

You can also just have an Enum that specifies all of the weapon types, and use it to store the value of the currently active weapon (along with backup weapons currently held or w/e). Then you can use a Switch On [Weapon] node to branch relevant execution paths to specific casts.

This is helpful if weapons change more than just weapon functionality itself, and affect character movement (e.g. character sprints faster when holding a certain melee weapon, can’t jump when the minigun is equipped, whatever) or other things that don’t make sense distinguished from the player BP.