Hi, I’m currently making a third person action RPG and have an issue. I need NPC’s names to appear above each NPC only after first encounter/dialogue with player character was finished. How can I make it?
Right now, I manage to make it so, that name is shown only when Player Character looks at NPC, but the name is shown no matter if there was any encounter or not. Then I tried to update logic but only manage to hide name of NPC permanently instead of hiding it until the first encounter/dialogue…
Here is my NPC logic description and screens.
In my project all encounters including dialogues with NPC are made through Interaction system. I have a BP_NPC_base containing everything that is needed for any NPC in game and BP_NPC_Mouse (child NPC blueprint) with specific information, dialogue tree, name etc. In order to check if there was an encounter or not, I add HasSpokenToPlayer Boolean to BP_NPC_Base, with default value of False.
Default logic of showing NPC name when player character looks at NPC is in BP_NPC_Base Event Graph (EventSetOutlineState) and in BP_NPC_Base Construction Script.
Update logic of showing NPC name after the first encounter is in BP_NPC_Mouse Event Graph EventInteract and BP_NPC_Mouse Construction Script.
BP_NPC_Base logic
BP_NPC_Mouse (Child) logic
With my child logic I only managed to hide name of NPC but it is not shown after first encounter/dialogue. What am I doing wrong? Any suggestions pls?





