“My Character” is a variable which stores a reference to an instance of Character in the world.
The moment when you feed it with the reference is the moment where it doesn’t work in your case.
You’re saying "when the HUD spawns, it finds the character owned by player 0 and stores it in a variable if it exists and if it is a third person character (this is done with your “cast to third person character class”).
The problem here might be that you’re feeding the value of “my character” too soon in the game : the character did not spawn yet so the “Get player character” returns an empty value, therefore “MyCharacter” variable remains empty because your “cast to class” fails.
The other problem could be that your character class is not “ThirdPersonCharacter” and therefore the “cast to ThirdPersonCharacter” can’t work. “Cast to” tries to take an instance of an object in the world and to convert it into another class if this class is a child of the class of the object you’re casting.
In your case, if you add a “Delay” node (1 second delay for instance) at the beginning of your Event Construct, you should be fine. If it does not work, it means your character class is likely not to be ThirdPersonCharacter and in this case you have to edit your GameMode to tell it to spawn a ThirdPersonCharacter.
If you’re having trouble understanding, I suggest you to take a look at Epic’s tutorials about Blueprints.