@Control:
In BP_BaseWeapon blueprint there is a function called ShouldShowCrosshair. It return if the game should show the crosshair or not.
In BP_HUD blueprint, after the weapon is equiped, you set a variable “show crosshair” with the function of BP_BaseWeapon.
In WB_HUD_Base, there is a function IsCrosshairVisible. If it true, you display, if it false you hide the the widget.
In WB_HUD_Desktop (child of WB_HUD_Base), in designer tab, select the crosshair widget and you assign the IsCrosshairVisible function in the visibilty.