Blueprint only listening to message when placed inworld?

Hi there!

I have implemented an interface into an actor blueprint. When I am trying to trigger a message with a simple input from the player controller, the interface message is recieved ONLY when I place the blueprint into the world.

What am I missing out? Wrong blueprint choice? Is it a requirement for an actor blueprint to be placed inworld to listen to interface messages?

Best wishes

Hey @bitsnuggle!

In theory because there is no actor to send/receive the message in your level normally, there would be no way for the message to trigger. What is the end goal of your interface? Have you tried placing the logic to into interact with your interface on the player character? Can you share the current setup of your blueprints with us?

Any additional specifics you provide may go a long way in solving your problem.

Hi, thanks for this fast reply. I can certainly provide the node setup.

Here is the nodes for the key input https://cdn.discordapp.com/attachments/824375456685752341/1109056409418604574/screen_Mai_8971.png

The goal is to send values to the blueprint from the controller (which has the target data) into an array once the message is recieved. It works fine when I place the blueprint into world.

Would I have to put the handling of the message to another blueprint class or why is the blueprint not listening, even tho I implemented the interface?

Hey @bitsnuggle,

You would certainly need some sort of handler in level to shoot off the messages to the interface. The interface can not read any messages unless something in level has called it.

Where are those nodes implemented? on the separate blueprint you have now placed in level or your player character?

The nodes on the picture are located on player controller.

So if the blueprint X which needs the information from the playercontroller, and it does not recieve any message if not placed in world. I only can make the blueprint get that infor with the following other options, right?

  1. Event dispatcher - then in blueprint X cast to playercontroller - get data. and then proceed with the data?
  2. Put the logic from blueprint x (which is an actor blueprint) into game mode? Assuming that game mode listens “constantly” …trying that now.

How do you add actors to the world then? You’re spawning them dynamically, right?

Hey,

yeah, while trying out now, I realized that the actor blueprint without placing it as actor apparently can not listen to messages from the interface.
My solution now is to instead put the operations into the game mode. The interface works as intended and I can continue my work.
Thank you two.

1 Like

The blueprint is just that, a template. It does not really do anything until you instantiate actual actors from it; either by placing them in the scene, having components instantiate them, or spawning them directly.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.