Actor Blueprint to Utility Blueprint?

Hey everyone, I am wondering if anyone might know an answer to this, I’ve done a lot of searching the web and am having no luck.

I have an actor blueprint with a construction script that is being used in editor, not runtime, and I wanted to use the merge actors function, but this only seems to be available in a utility blueprint. Does anybody know if it is possible to get the two to communicate somehow? I have set up an event dispatcher but I think because it’s not being ran in editor, it doesn’t connect. Hope that makes sense.

Thanks for having a read

Seems complicated. Why not just press simulate, select the actors and merge them from editor.

Why your current setup fails

  • Construction Script

    • Runs during actor construction (editor + runtime)

    • Has no access to editor-only subsystems like Merge Actors

  • Editor Utility Blueprint (EUB)

    • Runs only in the editor

    • Has access to things like Static Mesh Editor Subsystem → Merge Static Mesh Actors

So even though you used an event dispatcher, it won’t fire because:
→ your Actor Blueprint isn’t executing in the same editor context as the Utility Blueprint


The key limitation

:backhand_index_pointing_right: You cannot directly call editor-only functions (like Merge Actors) from a regular Actor Blueprint or its Construction Script.


Working approaches

:white_check_mark: Option 1 — Move the logic fully into an Editor Utility Blueprint (recommended)

Instead of trying to call it from your actor:

  1. Create an Editor Utility Widget / Blueprint

  2. Use:

    • Get Selected Actors

    • Filter/cast to your actor type (e.g. BP_Rubble_Pile_Parent_v001)

  3. Call:

    • Merge Static Mesh Actors

This is exactly what your current graph is already close to doing — just keep it entirely inside the utility blueprint.


:white_check_mark: Option 2 — Expose data from Actor → Read it in Utility BP

If your Actor Blueprint contains useful setup logic:

  • Store needed data (meshes, settings, etc.) as variables on the actor

  • In the Utility Blueprint:

    • Get selected actors

    • Read those variables

    • Perform the merge

:backhand_index_pointing_right: Think of the actor as data/config, and the utility BP as the executor


:white_check_mark: Option 3 — Use “Call in Editor” functions (limited bridge)

You can add a function in your Actor Blueprint and mark it:

Call In Editor

This lets you trigger it via a button in the Details panel.

BUT:

  • You still cannot call Merge Actors directly there

  • You can use it to prepare data or mark actors for the utility BP


:warning: What will NOT work

  • Event Dispatchers between Actor BP ↔ Utility BP (as you tried)

  • Calling editor subsystems from Construction Script

  • Forcing runtime BP to access editor-only nodes


Clean workflow (what most people do)

  1. Place/setup your actors in the level

  2. Select them

  3. Run an Editor Utility Widget button:

    • Collect actors

    • Merge meshes

    • Replace originals if needed


Bottom line

Your instinct is right, but the architecture needs to flip:

:cross_mark: Actor → tries to trigger Utility
:white_check_mark: Utility → reads Actors and performs the action

I have a actor blueprint that uses a mesh in the blueprint itself, and a PCG graph that spawns meshes on it. I just wanted a one click thing that would convert the PCG meshes and merge it with a duplication of the actor blueprint static mesh. I watched a video on PCG that said if you convert to static mesh it would put all the static meshes at 0,0,0 but I just tried it and it worked fine so yeah I wont need it hah!