[TUTORIAL] Blutility - Running Blueprint functions inside Editor

I’m not very good at writing a lot of text, so I’ll get straight to the point :slight_smile:

Step 1: Enable the Blutility!
Open Editor Preferences -> Experimental, then enable Blutility.


Step 2: Create Blutility asset
Inside the Content Browser, click on New (or right-click in an empty space), then select Miscellaneous -> Blutility.


Now select Custom Classes -> GlobalEditorUtilityBase as a base type.


Step 3: Adding simple functionality
In order to edit our newly created asset, we need to right-click it and select Edit Blueprint


We are presented with a familiar Blueprint Editor window.
Every Function that you create will be exposed to Blutility making it callable from the Editor, but from my test only functions with no input parameters are being exposed.


After compiling and saving our graph, it’s time to test it! Close the BP Editor window, then double-click on the asset. This should bring the Blutility Details panel.


As you can see it has a button with the name of our function - you guessed it - clicking on the button calls the function!
Lets see some results!


And that’s it!
Have fun and good luck!

Thanks for this! I’m curious to see what can be done with it. have you done anything further with it?
I’d love to be able to iterate over editor content (assets) but that doesn’t seem to be working. In my case, I have lots of textures that I’d want to make into material instances based off a single material, but that’s not quite working as there aren’t any functions available for creating assets, etc. (Atleast that I can find!) And the For Each Selected Asset doesn’t seem to work right (unless I’m missing something important :P)

I’m afraid I haven’t done anything more spectacular than iterating through some objects, messing with their positions etc.
Did you check if you can manipulate Assets from C++? If so, you could try to create custom BP nodes and use it that way :slight_smile:

I haven’t tried messing with the content browser. But I can definitely mess around with objects placed in the world, or place objects in the world using C++.

Very nice…I had no idea what was Blutility.


Very cool stuff. I’m not seeing the print to screen that you see in yours with the same setup. I’m able to get exposed variables to change based on what’s in the level, but nothing prints to the screen. Any idea why that could be?

Edit Figured it out. You have to have Show Stats (Shift+L) turned on in the editor.

on version 4.3 worked fine, but on 4.4 button is not displayed after the creation of the function, can you check it out?

I’m having the same issue. No button is created in 4.4

You can now call Blueprints Custom Events from any Blueprints that are placed in world. First create a new Actor Blueprint. Then create a Custom Event and enable Call In Editor.

Then drag and place this Blueprint in the world and select your Event from the list of Blutilities and hit Run. Thats it.

Heya - while that is pretty nice it still doesn’t solve the Blutility issue that others posted above (I am having it myself).

I’ve bugged for this. I don’t think its high up on the tree at this time. :confused: Blutility is so powerful, but so useless if I have to use 4.3.

Even with using events in Blutilities rather than functions - still nothing.

I haven’t been able to run Blutility either. It seems to be on the background at the moment and not really focused on in UE’s development.

I hope it will be improved, I have so many things I’d like to script in Blutility for level design!

Any updates on this?

bump still no updates on blutility?

Still doesn’t work in 4.7 preview 5.

Same issue as of preview 4.7 p8 as well.

Using the work around with the custom event was good enough for my needs, though. Thanks @ryanjon2040

With 4.7.2 this issue still persists. Unfortunately, the custom event workaround isn’t helping me. :frowning:

Hey Everyone,

Apologies there hasn’t been any feedback until now regarding blutilities, I can confirm that changes that resurrect blutilities did not make it in 4.7. The good news is that they are active in our main branch currently and have been for a while so I would expect to see blutilites working again in the next release and support to be more consistent from this point onwards. I’m going to keep an eye on this thread so if anyone experiences any further issues it is visible early and dealt with, longer term blutilities are expected to migrated away from an experimental feature and just become part of the blueprint toolset.

One thing to note with the tutorial at the start of this thread is that the print string node behaves slightly differently now and will require you to be in PIE to get the text display in the viewport, I only mention this because it might help to eliminate any confusion with users trying out this particular tutorial.

Hope this helps clear up some things!