I am trying to use blueprints to display my character's speed using a HUD, but for some reason the text is not displaying. What am I doing wrong? I am using the First Person template.
There are some mistakes in your try. The white lines are the execution path, the steps are executed in the order they are linked with the execution pins. In your picture you can see that the first "Cast To FirstPersonCharacter" has no execution pins connected. So this is never executed. And you use the output of this node as input for another cast node this value is null because the first cast has no input. Then you read the display name but not the velocity of the character. And again you did not connect the execution pins of the node where you try to set the string. So this step is skipped. In the end there is no value (null) that could be printed by the Draw Text node.
But now the solution:
You chose the HUD to show the text which is ok. Natively the hud draws the crosshair, which you can leave untouched. Simply put the part to draw the speed afterwards. Connect the execution output pin from the Draw Texture Node with your new nodes.