How to assign different HUDs and PlayerControllers to different players?

I am making a small 1 vs 1 game and I would like the first and second players to have different HUDs and Controllers. Right now all I know how to do is go to my GameMode blueprint and change the default HUDs, PlayerControllers, etc. But how do I go about assigning a different one for each individual player?

Ill take a crack at this I guess even though its been awhile.
You would have a separate blueprint for each character/player and also HUDs for each. Then in each character/player blue print you would assign the HUD to the controller that controls that character.

When creating the widget, there is an Owner pin.

If you are in splitscreen you Add to Player Screen instead of Add to Viewport, and it will put the widget into the splitscreen belonging to its Owner player.