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.
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
You cannot directly call editor-only functions (like Merge Actors) from a regular Actor Blueprint or its Construction Script.
Working approaches
Option 1 — Move the logic fully into an Editor Utility Blueprint (recommended)
Instead of trying to call it from your actor:
Create an Editor Utility Widget / Blueprint
Use:
Get Selected Actors
Filter/cast to your actor type (e.g. BP_Rubble_Pile_Parent_v001)
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.
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
Think of the actor as data/config, and the utility BP as the executor
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
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)
Place/setup your actors in the level
Select them
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:
Actor → tries to trigger Utility 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!