An alternative is to create a new variable called “TheCrosshair” on your character. Make it take a reference to a Maincrosshair Widget class. After the “Create Maincrosshair Widget” node, take the return value and assign to that TheCrosshair variable, before you attach it to the viewport.
Then, create a “Remove Hud” method in the same blueprint as creates the widget, and make it get the value of TheCrosshair and pass it to “Remove from Parent”
The way you found will work, too, as long as you don’t need a permanent reference to the widget. (You may want to change crosshair colors, draw charge-meters, or whatnot, depending on game mechanics – but solve that when and if you need it!)