Scripting the Editor using Blueprints

Describes how to use Blueprints in the Editor to automate content production tasks.

Windows
MacOS
Linux

Blueprints are not only useful for creating runtime gameplay in your Project, they can also be a very effective tool for interacting with your Project content within the Unreal Editor. You can run your Blueprint graphs on demand in the Editor — these are sometimes referred to as Blutilities, short for Blueprint Utilities — to work with Assets, lay out content in your Levels, and even control the Editor UI itself.

This page describes some of the basics involved in using Blueprints to script and automate the Unreal Editor.

Running Blueprints in the Editor

Any time you use a Custom Event node in the Event Graph of a Blueprint class, you can set the Graph > Call in Editor option in the Details panel:

Custom Event Call in Editor

Similarly, when you create a new function on a Blueprint class, you can set the same option in the Details panel:

Function Call In Editor

If you place an Actor that has a Custom Event or Function like this into a Level, and you select it in the Viewport or in the World Outliner, the Details panel will show a button for each of these Call in Editor events and functions you set up. You'll typically find them in the Default section, where Blueprint classes also expose variables.

Click this button to trigger execution of the Event Graph from your Custom Event node or to trigger your custom function.

Custom event in the Details panel

This works for any Blueprint class that you can place into a Level. You can use it to test your runtime gameplay, as well as to build Editor-only content management tools.

If your Custom Event or function has any inputs, it will not be shown in the Details panel.

Using Editor-Only Features

Most operations that involve modifying Asset files or working with the Unreal Editor UI can't work in your game at runtime. Therefore, you can only access Editor-only features — that is, any functions that are defined in a module whose type is set to Editor — from Blueprint classes that are also Editor-only.

For example, if you use a Blueprint class that derives from a parent class that can be used at runtime — such as the base Actor class — you'll see a limited set of functions listed under the Editor Scripting category in your Blueprint Editor. However, if you use a class that derives from an Editor-only parent class — such as PlacedEditorUtilityBase — you'll see a much larger and more comprehensive set of functions that you can use:

Editor Scripting Blueprint nodes

If you've installed the Editor Scripting Utilities plugin, this is where you'll find the functions it exposes for working with Static Meshes and other kinds of Assets. See Scripting and Automating the Editor.

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback