UBlueprint

Blueprints are special assets that provide an intuitive, node-based interface that can be used to create new types of Actors and script level events; giving designers and gameplay programmers the tools to quickly create and iterate gameplay from within Unreal Editor without ever needing to write a line of code.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Engine/Blueprint.h

Include

#include "Engine/Blueprint.h"

Syntax

class UBlueprint : public UBlueprintCore

Remarks

Blueprints are special assets that provide an intuitive, node-based interface that can be used to create new types of Actors and script level events; giving designers and gameplay programmers the tools to quickly create and iterate gameplay from within Unreal Editor without ever needing to write a line of code.

Variables

Name Description

Public variable

uint32: 1

 

bBeingCompiled

The blueprint is currently compiled

Public variable

bool

 

bCachedDependenciesUpToDate

Public variable

bool

 

bDeprecate

Deprecates the Blueprint, marking the generated class with the CLASS_Deprecated flag

Public variable

bool

 

bDisplayCompilePIEWarning

TRUE to show a warning when attempting to start in PIE and there is a compiler error on this Blueprint

Public variable

bool

 

bDuplicatingReadOnly

Flag indicating that a read only duplicate of this blueprint is being created, used to disable logic in ::PostDuplicate,

Public variable

uint32: 1

 

bForceFullEditor

Whether to force opening the full (non data-only) editor for this blueprint.

Public variable

uint32: 1

 

bGenerateAbstractClass

Whether or not this blueprint's class is a abstract class or not.

Public variable

uint32: 1

 

bGenerateConstClass

Whether or not this blueprint's class is a const class or not.

Public variable

EIsBPNonReducib...

 

bHasAnyNonReducibleFunction

Cached information if the BP contains any non-reducible functions (that can benefit from nativization).

Public variable

uint32: 1

 

bHasBeenRegenerated

When the class generated by this blueprint is loaded, it will be recompiled the first time.

Public variable

uint32: 1

 

bIsNewlyCreated

Whether or not this blueprint is newly created, and hasn't been opened in an editor yet

Public variable

uint32: 1

 

bIsRegeneratingOnLoad

State flag to indicate whether or not the Blueprint is currently being regenerated on load

Public variable

FString

 

BlueprintCategory

The category of the Blueprint, used to organize this Blueprint class when displayed in palette windows

Public variable

FString

 

BlueprintDescription

Shows up in the content browser when the blueprint is hovered, exported as Hidden in GetAssetRegistryTags

Public variable

FString

 

BlueprintDisplayName

Overrides the BP's display name in the editor UI

Public variable

int32

 

BlueprintSystemVersion

The version of the blueprint system that was used to create this blueprint

Public variable

TEnumAsByte< en...

 

BlueprintType

The type of this blueprint

Public variable

TArray< FBPEdit...

 

BookmarkNodes

Bookmark nodes (for display)

Public variable

TMap< FGuid, st...

 

Bookmarks

Bookmark data

Public variable

uint32: 1

 

bQueuedForCompilation

Public variable

TArray< class U...

 

Breakpoints

Persistent debugging options

Public variable

uint32: 1

 

bRecompileOnLoad

Whether or not this blueprint should recompile itself on load

Public variable

uint32: 1

 

bRunConstructionScriptInSequencer

Whether or not you want to continuously rerun the construction script for an actor in sequencer

Public variable

uint32: 1

 

bRunConstructionScriptOnDrag

Whether or not you want to continuously rerun the construction script for an actor as you drag it in the editor, or only when the drag operation is complete

Public variable

TSet< TWeakObje...

 

CachedDependencies

Public variable

TSet< TWeakObje...

 

CachedUDSDependencies

User Defined Structures, the blueprint depends on.

Public variable

TArray< FName >

 

CategorySorting

Array of user sorted categories

Public variable

EBlueprintCompi...

 

CompileMode

The mode that will be used when compiling this class.

Public variable

TMap< FName, in...

 

ComponentTemplateNameIndex

Index map for component template names

Public variable

TArray< class U...

 

ComponentTemplates

Array of component template objects, used by AddComponent function

Public variable

uint32

 

CrcLastCompiledCDO

CRC for CDO calculated right after the latest compilation used by Reinstancer to check if default values were changed

Public variable

uint32

 

CrcLastCompiledSignature

Public variable

FCompilerResult...

 

CurrentMessageLog

If this blueprint is currently being compiled, the CurrentMessageLog will be the log currently being used to send logs to.

Protected variable

TWeakObjectPtr<...

 

CurrentObjectBeingDebugged

Current object being debugged for this blueprint

Protected variable

TWeakObjectPtr<...

 

CurrentWorldBeingDebugged

Current world being debugged for this blueprint

Public variable

TArray< UEdGrap...

 

DelegateSignatureGraphs

Graphs of signatures for delegates

Public variable

TArray< class U...

 

DeprecatedPinWatches

Public variable

TArray< UEdGrap...

 

EventGraphs

Set of functions actually compiled for this class

Public variable

TArray< UEdGrap...

 

FunctionGraphs

Set of functions implemented for this class graphically

Public variable

TArray< FString...

 

HideCategories

Additional HideCategories. These are added to HideCategories from parent.

Public variable

TArray< struct ...

 

ImplementedInterfaces

Array of info about the interfaces we implement in this blueprint

Public variable

UInheritableCom...

 

InheritableComponentHandler

Stores data to override (in children classes) components (created by SCS) from parent classes

Public variable

TArray< UEdGrap...

 

IntermediateGeneratedGraphs

Set of functions actually compiled for this class

Public variable

TArray< struct ...

 

LastEditedDocuments

Set of documents that were being edited in this blueprint, so we can open them right away

Public variable

TArray< UEdGrap...

 

MacroGraphs

Set of macros implemented for this class

Public variable

EBlueprintNativ...

 

NativizationFlag

When exclusive nativization is enabled, then this asset will be nativized.

Public variable

TArray< struct ...

 

NewVariables

Array of new variables to be added to generated class

Public variable

TMap< FName, FN...

 

OldToNewComponentTemplateNames

Maps old to new component template names

Protected variable

FOnSetObjectBei...

 

OnSetObjectBeingDebuggedDelegate

Delegate called when the debug object is set

Public variable

UClass *

 

OriginalClass

If this BP is just a duplicate created for a specific compilation, the reference to original GeneratedClass is needed.

Public variable

TSubclassOf< cl...

 

ParentClass

Pointer to the parent class that the generated class should derive from.

Public variable

TSharedPtr< cla...

 

PreCompileLog

Message log for storing pre-compile errors/notes/warnings that will only last until the next Blueprint compile

Public variable

TMap< UEdGraph ...

 

PRIVATE_CachedMacroInfo

Cached cosmetic information about macro graphs, use GetCosmeticInfoForMacro() to access

Public variable

FGuid

 

SearchGuid

Guid key for finding searchable data for Blueprint in the DDC

Public variable

USimpleConstruc...

 

SimpleConstructionScript

'Simple' construction script - graph of components to instance

Public variable

TEnumAsByte< en...

 

Status

The current status of this blueprint

Public variable

UThumbnailInfo ...

 

ThumbnailInfo

Information for thumbnail rendering

Public variable

TArray< class U...

 

Timelines

Array of templates for timelines that should be created

Public variable

TArray< UEdGrap...

 

UbergraphPages

Set of pages that combine into a single uber-graph

Public variable

TSharedPtr< cla...

 

UpgradeNotesLog

Message log for storing upgrade notes that were generated within the Blueprint, will be displayed to the compiler results each compiler and will remain until saving

Public variable

TArray< FEdGrap...

 

WatchedPins

Constructors

Name Description

Public function

UBlueprint

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function Virtual Const

bool

 

AllowsDynamicBinding()

Public function Virtual Const

bool

 

AlwaysCompileOnLoad()

Allows derived blueprints to require compilation on load, otherwise they may get treated as data only and not compiled on load.

Public function

void

 

BroadcastChanged()

This should NOT be public

Public function

void

 

BroadcastCompiled()

Public function Virtual Const

bool

 

CanRecompileWhilePlayingInEditor()

Some Blueprints (and classes) can recompile while we are debugging a live session.

Public function

bool

 

ChangeOwnerOfTemplates()

Public function Virtual

void

 

ClearEditorReferences()

Clears out any editor data regarding a blueprint class, this can be called when you want to unload a blueprint

Public function Virtual Const

bool

 

FindDiffs

(
    const UBlueprint* OtherBluepri...,
    FDiffResults& Results
)

Fills in a list of differences between this blueprint and another blueprint.

Public function Const

UActorCompon...

 

FindTemplateByName

(
    const FName& TemplateName
)

Find the object in the TemplateObjects array with the supplied name

Public function

UTimelineTem...

 

FindTimelineTemplateByVariableName

(
    const FName& TimelineName
)

Find a timeline by name

Public function Const

const UTimel...

 

FindTimelineTemplateByVariableName

(
    const FName& TimelineName
)

Find a timeline by name

Public function Static

bool

 

ForceLoad

(
    UObject* Obj
)

Public function Static

void

 

ForceLoadMembers

(
    UObject* InObject
)

Public function Static

void

 

ForceLoadMetaData

(
    UObject* InObject
)

Public function Virtual Const

void

 

GatherDependencies

(
    TSet< TWeakObjectPtr< UBlueprint >>...
)

Collect blueprints that depend on this blueprint.

Public function Const

void

 

GetAllGraphs

(
    TArray< UEdGraph* >& Graphs
)

Get all graphs in this blueprint

Public function Const

void

 

GetBlueprintCDONames

(
    FName& GeneratedClassName,
    FName& SkeletonClassName,
    FName NameOverride
)

Public function Virtual Const

UClass *

 

GetBlueprintClass()

Gets the class generated when this blueprint is compiled.

Public function Const

void

 

GetBlueprintClassNames

(
    FName& GeneratedClassName,
    FName& SkeletonClassName,
    FName NameOverride
)

Public function Static

UBlueprint &...

 

GetBlueprintFromClass

(
    const UClass* InClass
)

Get the Blueprint object that generated the supplied class

Public function Static

bool

 

GetBlueprintHierarchyFromClass

(
    const UClass* InClass,
    TArray< UBlueprint* >& OutBlu...
)

Gets an array of all blueprints used to generate this class and its parents.

Public function Static

int32

 

GetCurrentBlueprintSystemVersion()

Gets the current blueprint system version.

Public function Static

FName

 

GetFieldNameFromClassByGuid

(
    const UClass* InClass,
    const FGuid VarGuid
)

Public function

FName

 

GetFieldNameFromClassByGuid

(
    const UClass* InClass,
    const FGuid FunctionGuid
)

Public function Virtual Const

FString

 

GetFriendlyName()

Public function Static

bool

 

GetFunctionGuidFromClassByFieldName

(
    const UClass* InClass,
    const FName FunctionName,
    FGuid& FunctionGuid
)

Public function Static

FName

 

GetFunctionNameFromClassByGuid

(
    const UClass* InClass,
    const FGuid FunctionGuid
)

Public function

bool

 

GetGuidFromClassByFieldName

(
    const UClass* InClass,
    const FName FunctionName,
    FGuid& FunctionGuid
)

Public function Static

bool

 

GetGuidFromClassByFieldName

(
    const UClass* InClass,
    const FName VarName,
    FGuid& VarGuid
)

Public function

UInheritable...

 

GetInheritableComponentHandler

(
    bool bCreateIfNecessary
)

Public function Virtual Const

void

 

GetInstanceActions

Allow each blueprint instance to add specific UBlueprintNodeSpawners pertaining to the sub-class type.

Public function Const

UEdGraph ...

 

GetLastEditedUberGraph()

Gets the last edited uber graph.

Public function Const

UObject *...

 

GetObjectBeingDebugged

Public function Virtual Const

void

 

GetReparentingRules

(
    TSet< const UClass* >& Allowe...,
    TSet< const UClass* >& Disall...
)

Public function

ETimelineSig...

 

GetTimelineSignatureForFunctionByName

(
    const FName& FunctionName,
    const FName& ObjectPropertyName
)

Find a function given its name and optionally an object property name within this Blueprint

Public function Virtual Const

void

 

GetTypeActions

Allow each blueprint type (AnimBlueprint or ControlRigBlueprint) to add specific UBlueprintNodeSpawners pertaining to the sub-class type.

Public function Const

UWorld *

 

GetWorldBeingDebugged

Public function Static

bool

 

IsBlueprintHierarchyErrorFree

(
    const UClass* InClass
)

Returns true if the class hierarchy is error free

Public function Const

bool

 

IsPossiblyDirty()

Public function Const

bool

 

IsUpToDate()

Public function Virtual Const

bool

 

IsValidForBytecodeOnlyRecompile()

Whether or not this blueprint can be considered for a bytecode only compile

Protected function Virtual

void

 

LoadModulesRequiredForCompilation()

Blueprint can choose to load specific modules for compilation.

Public function

void

 

Message_Error

(
    const FString& MessageToLog
)

Public function

void

 

Message_Note

(
    const FString& MessageToLog
)

Sends a message to the CurrentMessageLog, if there is one available.

Public function

void

 

Message_Warn

(
    const FString& MessageToLog
)

Public function Virtual

void

 

NotifyGraphRenamed

(
    UEdGraph* Graph,
    FName OldName,
    FName NewName
)

Notify the blueprint when a graph is renamed to allow for additional fixups.

Public function

FChangedEven...

 

OnChanged()

Public function

FCompiledEve...

 

OnCompiled()

Public function

FOnSetObject...

 

OnSetObjectBeingDebugged()

Public function

void

 

RemoveChildRedirectors()

Removes any child redirectors from the root set and marks them as transient

Public function

void

 

RemoveGeneratedClasses()

Consigns the GeneratedClass and the SkeletonGeneratedClass to oblivion, and nulls their references

Public function Virtual

bool

 

RenameGeneratedClasses

(
    const TCHAR* NewName,
    UObject* NewOuter,
    ERenameFlags Flags
)

Renames only the generated classes. Should only be used internally or when testing for rename.

Public function Virtual

void

 

ReplaceDeprecatedNodes()

Checks all nodes in all graphs to see if they should be replaced by other nodes

Public function Virtual

void

 

SetObjectBeingDebugged

(
    UObject* NewObject
)

Sets the current object being debugged

Public function Virtual

void

 

SetWorldBeingDebugged

(
    UWorld* NewWorld
)

Public function Virtual Const

bool

 

SupportedByDefaultBlueprintFactory()

Should the generic blueprint factory work for this blueprint?

Public function Virtual Const

bool

 

SupportsInputEvents()

Public function Virtual Const

bool

 

SupportsNativization

(
    FText* OutReason
)

Check whether this blueprint can be nativized or not

Public function Static

bool

 

ValidateGeneratedClass

(
    const UClass* InClass
)

Overridden from UObject

Name Description

Public function Virtual

void

 

BeginCacheForCookedPlatformData

(
    const ITargetPlatform* TargetP...
)

Starts caching of platform specific data for the target platform Called when cooking before serialization so that object can prepare platform specific data Not called during normal loading of objects

Public function Virtual

void

 

BeginDestroy()

Called before destroying the object.

Public function Virtual

void

 

ClearAllCachedCookedPlatformData()

Clear all cached cooked platform data

Public function Virtual Const

void

 

GetAssetRegistryTags

(
    TArray< FAssetRegistryTag >& OutTa...
)

Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

Public function Virtual

FString

 

GetDesc()

Return a one line description of an object for viewing in the thumbnail view of the generic browser

Public function Virtual

void

 

GetPreloadDependencies

(
    TArray< UObject* >& OutDeps
)

Called during cooking.

Public function Virtual Const

FPrimaryAsse...

 

GetPrimaryAssetId()

Returns an Type:Name pair representing the PrimaryAssetId for this object.

Public function Virtual

bool

 

IsCachedCookedPlatformDataLoaded

(
    const ITargetPlatform* TargetP...
)

Have we finished loading all the cooked platform data for the target platforms requested in BeginCacheForCookedPlatformData

Public function Virtual

EDataValidat...

 

IsDataValid

(
    TArray< FText >& ValidationErrors
)

Returns Valid if this object has data validation rules set up for it and the data for this object is valid.

Public function Virtual

bool

 

Modify

(
    bool bAlwaysMarkDirty
)

Note that the object will be modified.

Public function Virtual Const

bool

 

NeedsLoadForClient()

Called during saving to determine the load flags to save with the object.

Public function Virtual Const

bool

 

NeedsLoadForEditorGame()

Called during saving to include this object in client/servers running in editor builds, even if they wouldn't normally be.

Public function Virtual Const

bool

 

NeedsLoadForServer()

Called during saving to determine the load flags to save with the object.

Public function Virtual

void

 

PostDuplicate

(
    bool bDuplicateForPIE
)

Called after duplication & serialization and before PostLoad.

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Public function Virtual

void

 

PostLoadSubobjects

(
    FObjectInstancingGraph* OuterI...
)

Instances components for objects being loaded from disk, if necessary.

Public function Virtual

void

 

PreSave

(
    const ITargetPlatform* TargetP...
)

Presave function.

Public function Virtual

UClass *

 

RegenerateClass

(
    UClass* ClassToRegenerate,
    UObject* PreviousCDO
)

Called on the target when a class is loaded with ClassGeneratedBy is loaded.

Public function Virtual

bool

 

Rename

(
    const TCHAR* NewName,
    UObject* NewOuter,
    ERenameFlags Flags
)

Rename this object to a unique name, or change its outer.

Public function Virtual

void

 

Serialize

(
    FArchive& Ar
)

Handles reading, writing, and reference collecting using FArchive.

Public function Virtual

void

 

TagSubobjects

(
    EObjectFlags NewFlags
)

Tags objects that are part of the same asset with the specified object flag, used for GC checking

Classes

Name

Description

Public class

FChangedEvent

Broadcasts a notification whenever the blueprint has changed.

Public class

FCompiledEvent

Broadcasts a notification whenever the blueprint has changed.

Public class

FOnSetObjectBeingDebugged

Delegate called when the debug object is set

Enums

Name

Description

Public enum

EIsBPNonReducible

Select Skin
Light
Dark

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