How i do call an objective indicator in-game?

I have a blueprint > BPI_HUD_Interface_Events

This is used for draw in-game one “objective indicator” . (originally from Content Examples 4.6 Hud Examples)

The problem is: it´s only works when used as a HUD in actual Game Mode / HUD Class.

What i want: Call this “function blueprint” in-game , without need to use it as a my actual HUD Class.

It´s possible ? And…i try call this on my level blueprint , but didi not work…see attachment below.

Anybody? I just need to pick any mesh in the game (a door, for example) and use it as a refference point and show the distance in meters from player character to door, using a keybind “O” for example.

Are you sure that all the blueprints that utilise your Interface have it set as an interface in the Blueprint Props section (button at the top of every event graph)?

In my experience, Interface functions will show up in the list of nodes that appear when you right-click in a graph, even if that blueprint does not implement this interface in their Blueprint Props. But I’m pretty certain it won’t do anything unless that blueprint has the interface set in their list of implemented interfaces.

The problem might be that you are doing this in your level blueprint, which from what I can see cannot have an interface attached to it.

Maybe try an event dispatcher instead of an interface?

Directly to your question.

That’s not really possible. You will draw the indicator on your HUD or a widget (I hope… because everything else would mean you’d place a text render on the objective actor which may works but certainly not globally and fairly bad as actual objective indicator).

You can create a widget which does this and just provide it with the new objective and maybe a bool if any objective at all should be shown. Just save the Widget after you created it in any static class (like player character, player state or something like that).

Or just copy this functionality to the HUD you will use. You need one anyway and it’s a lot cleaner to have most or all of your HUD functionality inside of your HUD blueprint. If there is stuff you wanna use on multiple levels while other elements shouldn’t create a parent HUD class and just use children from then on. In your level properties you can overwrite all major classes (character, controller, game mode and hud) and just select the HUD you wanna use for that specific level.

Or as I said. Just use widgets for most or all of it.

I hope this helps.

Cheers

ok, tks alot!