Accessing a Blueprint, attached to a Blueprint... inside another blueprint

Many solutions exist here, some better than others - depending on how extensive this system is to become, and who needs to talk to whom:

  • you can use the actor that owns both components to make them talk to one another, and that’s without even creating additional references - use an Event Dispatcher. Assuming the Greasing Point needs to update its UI:

image

image

Dispatchers can carry any data, ofc.


Another way:

  • the UI actor could reach out to the Parent Actor and communicate with any other components present there:


And that’s before we even starting taking advantage of inheritance, or, better - in case there are some unrelated classes present - Blueprint Interface. This would eliminate casting and a lot of ambiguity.


Honestly, if I see nested child actors, I would probably think about some other solution.

Hard to disagree.

@ExpanseVR1 must these elements be full actors? Perhaps it’d be enough to override some components. For example:

Now you have a widget component with a graph (because you want to run some logic that’s unfit for regular widget perhaps?).

image

You’ve now stripped a wrapping layer and could talk to this custom comp directly. You can still equip it with an interface to make the comms even more snappy. Perhaps the greasing point does not need to be a fully fledged actor either…

1 Like