How can i make it so my weapon must swing thru a box to break it?

For a quick test you can get the code from your Character BP since a is_swinging boolean is already setup there. Within your weaponBP cast to characterBP with get player character as object, then get the is swinging boolean from characterbp and use that as a condition for the branch thats connected to destroy, you’ll probably have to clean it up later due to things like momentum.