HUD causes game to Crash, if spawning 2 players

Take into account that you are now using C++, any access to a NULL pointer will result in crashes. I recommend you to ALWAYS check that the pointer is not pointing to NULL.

If you are checking for an UObject (Garbage Collected) you can compare with NULL while you can use nullptr if its a base C++ pointer or a shared pointer. Take into account that you can not assign nullptr to anything, this is because for UObject you normally use NULL to invalidate. In both cases the if clause will just work fine.