Spawning with Loop Issues (it makes me feel insane)

You’ve created a hard reference to the NPC in the widget. The widget is pulling data from the referenced object every frame (or whenever you access it, I’m assuming here it’s a bound function as demonstrated here. And it will all work fine.

If you wanted to avoid creating a reference and simply assign value to the text block once, you could opt for something along the lines of:

This way you push the data into the widget’s element directly, avoiding a reference; you wouldn’t even need a Base Name variable in the NPC. (although it might be useful to have it there for other reasons, of course!)

There are many ways to accomplish what you needed here. Choosing the most suitable method will depend on the scope, on how complex the system will eventually become and what you expect it to do.