HUD Message Device doesn't Hide HUD when called through Verse, after calling Show on specific Agents

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Devices

Summary

The following code to display a HUD and then have it Hide only when necessary doesn’t work:

ShowHUDForAgent(Agent:agent):void=
HUDMessageDevice.Show(Agent)
Sleep(5.0)
HUDMessageDevice.Hide()

Other than the fact that there’s no option to Hide() a HUD device only for a specific Agent, this code doesn’t hide it at all, for anyone in the match.
It will correctly display, but it won’t Hide().

Steps to Reproduce

Add a HUD Message Device and reference it via Verse, call the Show() on any agent in BeginPlay() or any other place, and then call Hide.
It won’t Hide the HUD.

Expected Result

It hides the HUD correctly for everyone in the match.

Observed Result

It doesn’t hide the HUD for anyone in the match.

Platform(s)

Win64

Can confirm this is also happening for me, having to use a trigger to clear the layer instead of hiding the message.

1 Like

I also have this issue still. Is there a solution for it?

Maybe you could try showing an empty string message to all users (not user specific) to clear it (then hide, if needed)

Something like

HudMessageDevice.Show(StringToMessage(""), ?DisplayTime := 0.01)
HudMessageDevice.Hide();

Or itterate through all players and Show() an empty string message, maybe?

4 Likes

This worked for me. Thanks!

1 Like

This issue is still happening in v29.40 - also showing an empty message doesn’t seem to fix it :confused:

Yes. It is still happening. You can not hide a Ui if you are are using the device as UI

make sure your blank hud message device is on a different layer and has a lower priority number than the one it is replacing

image

Doing this actually displays them both.

I’ll try using a Popup Dialog Device instead, seeing that you can Hide it for a specific Agent…

edit: nope, I forgot that popups prevented player movement since it’s expecting cursor interaction, so back to fiddling with hud messages!

OK so after a few trial and error with the HUD Messages, I’ve found that unticking Priority all together works best:

image

I don’t even need to call Hide() or show an empty message with short duration etc., just calling Show(Agent) on another message that doesn’t have priority shows it immediately (as per ToolTip).
So to “clear” the previous message I just show an empty canvas instead.

Again, no priority was key for me!

1 Like

This does suck. I ended up adding durations and redisplaying them before the duration expired if needed.

FORT-762417 has been ‘Closed’. We’re unable to reproduce this issue.