UControlRigBlueprint

Inheritance Hierarchy

References

Module

ControlRigDeveloper

Header

/Engine/Plugins/Animation/ControlRig/Source/ControlRigDeveloper/Public/ControlRigBlueprint.h

Include

#include "ControlRigBlueprint.h"

Syntax

UCLASS(BlueprintType, Meta=(IgnoreClassThumbnail))
class UControlRigBlueprint :
    public UBlueprint,
    public IInterface_PreviewMeshProvider,
    public IRigVMClientHost

Variables

Name Description

Public variable

bool

 

bSuspendAllNotifications

Public variable

bool

 

bSuspendModelNotificationsForOthers

Public variable

bool

 

bSuspendModelNotificationsForSelf

Public variable UProperty Category, EditAnywhere

FRigVMDrawConta...

 

DrawContainer

Public variable UProperty

TObjectPtr< UCo...

 

FunctionLibraryEdGraph

Protected variable UProperty assetregistrysearchable

TArray< FRigVMR...

 

FunctionReferenceNodeData

Asset searchable information function references in this rig

Public variable UProperty Category BlueprintReadOnly

TObjectPtr< URi...

 

Hierarchy

Public variable UProperty Category, EditAnywhere

FRigHierarchySe...

 

HierarchySettings

Public variable UProperty Category, EditAnywhere

FRigInfluenceMa...

 

Influences

Public variable UProperty Transient duplicatetransient

TMap< FString, ...

 

PinToOperandMap

Protected variable UProperty assetregistrysearchable

TArray< FRigVMG...

 

PublicGraphFunctions

Asset searchable information about exposed public functions on this rig

Public variable UProperty Category, EditAnywhere

FControlRigPyth...

 

PythonLogSettings

Public variable UProperty Category, EditAnywhere

FRigGraphDispla...

 

RigGraphDisplaySettings

Protected variable UProperty

FRigVMClient

 

RigVMClient

Public variable UProperty Category, EditAnywhere

TArray< TSoftOb...

 

ShapeLibraries

Public variable

TArray< FString...

 

ShapeLibrariesToLoadOnPackageLoaded

Shape libraries to load during package load completed

Protected variable UProperty Transient duplicatetransient

TObjectPtr< URi...

 

TemplateController

Protected variable UProperty Transient duplicatetransient

TObjectPtr< URi...

 

TemplateModel

Public variable UProperty Category, EditAnywhere BlueprintReadWrite

FRigVMCompileSe...

 

VMCompileSettings

Public variable UProperty Category, EditAnywhere

FRigVMRuntimeSe...

 

VMRuntimeSettings

Constructors

Name Description

Public function

UControlRigBlueprint()

Public function

UControlRigBlueprint

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function

bool

 

AddBreakpoint

(
    const FString& InBreakpointNodePat...
)

Adds a breakpoint to all loaded blueprints which use the node indicated by InBreakpointNodePath If the node is inside a public function, it will add a breakpoint to all blueprints calling this function.

Public function

bool

 

AddBreakpoint

(
    URigVMNode* InBreakpointNode,
    URigVMLibraryNode* LibraryNode
)

Adds a breakpoint to all loaded blueprints which use the InBreakpointNode.

Public function

bool

 

AddBreakpointToControlRig

(
    URigVMNode* InBreakpointNode
)

Adds a breakpoint to the first instruction of each callpath related to the InBreakpointNode

Public function UFunction BlueprintCallable, Category

FName

 

AddMemberVariable

(
    const FName& InName,
    const FString& InCPPType,
    bool bIsPublic,
    bool bIsReadOnly,
    FString InDefaultValue
)

Public function UFunction BlueprintCallable, Category

URigVMGraph ...

 

AddModel

(
    FString InName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Public function

FName

 

AddTransientControl

(
    URigVMPin* InPin
)

Remove a transient / temporary control used to interact with a pin

Public function

FName

 

AddTransientControl

(
    const FRigElementKey& InElement
)

Remove a transient / temporary control used to interact with a bone

Public function

void

 

BroadcastGraphImported

(
    UEdGraph* InGraph
)

Public function

void

 

BroadcastNodeDoubleClicked

(
    URigVMNode* InNode
)

Public function

void

 

BroadcastPostEditChangeChainProperty

(
    FPropertyChangedChainEvent& Proper...
)

Public function

void

 

BroadcastRefreshEditor()

Public function

void

 

BroadCastReportCompilerMessage

(
    EMessageSeverity::Type InSeverity,
    UObject* InSubject,
    const FString& InMessage
)

Public function

void

 

BroadcastRequestLocalizeFunctionDialog

(
    FRigVMGraphFunctionIdentifier InFun...,
    bool bForce
)

Public function UFunction BlueprintCallable, Category

bool

 

ChangeMemberVariableType

(
    const FName& InName,
    const FString& InCPPType,
    bool bIsPublic,
    bool bIsReadOnly,
    FString InDefaultValue
)

Public function

void

 

ClearBreakpoints()

Removes all the breakpoints from the blueprint and the VM

Public function

void

 

ClearTransientControls()

Removes all transient / temporary control used to interact with pins

Public function UFunction BlueprintCallable, Category

UControlRig ...

 

CreateControlRig()

Public function Static

void

 

DeclareConstructClasses

(
    TArray< FTopLevelAssetPath >& OutC...,
    const UClass* SpecificSubclass
)

Public function

void

 

DecrementVMRecompileBracket()

Public function UFunction BlueprintCallable, Category

TArray< FStr...

 

GeneratePythonCommands

(
    const FString InNewBlueprintName
)

Public function Const UFunction BlueprintCallable, Category

TArray< URig...

 

GetAllModels()

Public function Static UFunction BlueprintCallable, Category

TArray< UStr...

 

GetAvailableRigUnits()

Public function Const

URigVMContro...

 

GetController

(
    const UEdGraph* InEdGraph
)

Public function Const UFunction BlueprintCallable, Category

URigVMContro...

 

GetController

(
    const URigVMGraph* InGraph
)

Public function Const UFunction BlueprintCallable, Category

URigVMContro...

 

GetControllerByName

(
    const FString InGraphName
)

Public function Const

URigVMBluepr...

 

GetControlRigBlueprintGeneratedClass()

Get the (full) generated class for this control rig blueprint

Public function Const

URigVMBluepr...

 

GetControlRigBlueprintSkeletonClass()

Get the (skeleton) generated class for this control rig blueprint

Public function UFunction BlueprintCallable, Category

UClass *

 

GetControlRigClass()

Public function Const

const FContr...

 

GetControlShapeByName

(
    const FName& InName
)

Public function Static UFunction BlueprintCallable, Category

TArray< UCon...

 

GetCurrentlyOpenRigBlueprints()

Public function Const UFunction BlueprintCallable, Category

URigVMGraph ...

 

GetDefaultModel()

Public function Const

TArray< UCon...

 

GetDependencies

(
    bool bRecursive
)

Returns a list of dependencies of this blueprint.

Public function Const

TArray< FAss...

 

GetDependentAssets()

Returns a list of dependents as unresolved soft object pointers.

Public function Const

TArray< UCon...

 

GetDependentBlueprints

(
    bool bRecursive,
    bool bOnlyLoaded
)

Returns a list of dependents as resolved blueprints.

Public function Const

UEdGraph ...

 

GetEdGraph

(
    const FString& InNodePath
)

Public function Const

UEdGraph ...

 

GetEdGraph

(
    URigVMGraph* InModel
)

Public function UFunction BlueprintCallable, Category

URigHierarch...

 

GetHierarchyController()

Public function Const UFunction BlueprintCallable, Category

URigVMFuncti...

 

GetLocalFunctionLibrary()

Public function Const UFunction BlueprintCallable, Category

TArray< FRig...

 

GetMemberVariables()

Public function Const

URigVMGraph ...

 

GetModel

(
    const FString& InNodePath
)

Public function Const UFunction BlueprintCallable, Category

URigVMGraph ...

 

GetModel

(
    const UEdGraph* InEdGraph
)

Public function

URigVMContro...

 

GetOrCreateController

(
    const UEdGraph* InGraph
)

Public function UFunction BlueprintCallable, Category

URigVMContro...

 

GetOrCreateController

(
    URigVMGraph* InGraph
)

Public function Const

TArray< FRig...

 

GetReferenceNodeData()

Public function

URigVMContro...

 

GetTemplateController

(
    bool bIsFunctionLibrary
)

Public function

URigVMGraph ...

 

GetTemplateModel

(
    bool bIsFunctionLibrary
)

Public function

void

 

IncrementVMRecompileBracket()

Public function

void

 

InitializeModelIfRequired

(
    bool bRecompileVM
)

Public function Const

bool

 

IsFunctionPublic

(
    const FName& InFunctionName
)

Public function

void

 

MarkFunctionPublic

(
    const FName& InFunctionName,
    bool bIsPublic
)

Public function

FOnBreakpoin...

 

OnBreakpointAdded()

Public function

FOnExternalV...

 

OnExternalVariablesChanged()

Public function

FOnGraphImpo...

 

OnGraphImported()

Public function

FRigHierarch...

 

OnHierarchyModified()

Returns the modified event, which can be used to subscribe to topological changes happening within the hierarchy.

Public function

FRigVMGraphM...

 

OnModified()

Public function

FOnNodeDoubl...

 

OnNodeDoubleClicked()

Public function

FOnPostEditC...

 

OnPostEditChangeChainProperty()

Public function Virtual

void

 

OnPostVariableChange

(
    UBlueprint* InBlueprint
)

Public function Virtual

void

 

OnPreVariableChange

(
    UObject* InObject
)

Public function

FOnRefreshEd...

 

OnRefreshEditor()

Public function

FOnReportCom...

 

OnReportCompilerMessage()

Public function

FControlRigO...

 

OnRequestBreakLinksDialog()

Public function

FControlRigO...

 

OnRequestBulkEditDialog()

Public function

FOnRequestIn...

 

OnRequestInspectObject()

Public function

FRigVMContro...

 

OnRequestJumpToHyperlink()

Public function

FOnLocalizeF...

 

OnRequestLocalizeFunctionDialog()

Public function

void

 

OnRigVMRegistryChanged()

RigVMRegistry changes can be triggered when new user defined types(structs/enums) are added/removed in which case we have to refresh the model

Public function Virtual

void

 

OnVariableAdded

(
    const FName& InVarName
)

Public function

FOnVariableD...

 

OnVariableDropped()

Public function Virtual

void

 

OnVariableRemoved

(
    const FName& InVarName
)

Public function Virtual

void

 

OnVariableRenamed

(
    const FName& InOldVarName,
    const FName& InNewVarName
)

Public function Virtual

void

 

OnVariableTypeChanged

(
    const FName& InVarName,
    FEdGraphPinType InOldPinType,
    FEdGraphPinType InNewPinType
)

Public function

FOnVMCompile...

 

OnVMCompiled()

Public function

void

 

PopulateModelFromGraphForBackwardsCompatibility

(
    UControlRigGraph* InGraph
)

Public function

void

 

PropagateDrawInstructionsFromBPToInstances()

Public function

void

 

PropagateHierarchyFromBPToInstances()

Public function

void

 

PropagatePoseFromBPToInstances()

Public function

void

 

PropagatePoseFromInstanceToBP

(
    UControlRig* InControlRig
)

Public function

void

 

PropagatePropertyFromBPToInstances

(
    FRigElementKey InRigElement,
    const FProperty* InProperty
)

Public function

void

 

PropagatePropertyFromInstanceToBP

(
    FRigElementKey InRigElement,
    const FProperty* InProperty,
    UControlRig* InInstance
)

Public function

void

 

PropagateRuntimeSettingsFromBPToInstances()

Public function

void

 

RebuildGraphFromModel()

Public function UFunction BlueprintCallable, Category

void

 

RecompileVM()

Public function UFunction BlueprintCallable, Category

void

 

RecompileVMIfRequired()

Public function

void

 

RefreshAllModels

(
    EControlRigBlueprintLoadType InLoad...
)

This is needed since even after load model data can change while the Control Rig BP is not opened for example, if a user defined struct changed after BP load, any pin that references the struct needs to be regenerated

Public function

void

 

RefreshControlRigBreakpoints()

Recomputes the instruction breakpoints given the node breakpoints in the blueprint

Public function

bool

 

RemoveBreakpoint

(
    const FString& InBreakpointNodePat...
)

Removes the given breakpoint from all the loaded blueprints that use this node, and recomputes all breakpoints in the VM

Public function

bool

 

RemoveBreakpoint

(
    URigVMNode* InBreakpointNode
)

Removes the given breakpoint from all the loaded blueprints that use this node, and recomputes all breakpoints in the VM

Public function UFunction BlueprintCallable, Category

bool

 

RemoveMemberVariable

(
    const FName& InName
)

Public function UFunction BlueprintCallable, Category

bool

 

RemoveModel

(
    FString InName,
    bool bSetupUndoRedo,
    bool bPrintPythonCommand
)

Public function

FName

 

RemoveTransientControl

(
    URigVMPin* InPin
)

Remove a transient / temporary control used to interact with a pin

Public function

FName

 

RemoveTransientControl

(
    const FRigElementKey& InElement
)

Remove a transient / temporary control used to interact with a bone

Public function UFunction BlueprintCallable, Category

bool

 

RenameMemberVariable

(
    const FName& InOldName,
    const FName& InNewName
)

Public function UFunction BlueprintCallable, Category

void

 

RequestAutoVMRecompilation()

Public function UFunction BlueprintCallable, Category

void

 

RequestControlRigInit()

Public function

void

 

RequestInspectObject

(
    const TArray< UObject* >& InO...
)

Public function UFunction BlueprintCallable, Category

void

 

SetAutoVMRecompile

(
    bool bAutoRecompile
)

Public function

void

 

SetDebugMode

(
    const bool bValue
)

Sets the execution mode. In Release mode the rig will ignore all breakpoints.

Public function

void

 

SetupPinRedirectorsForBackwardsCompatibility()

Overridden from UBlueprint

Name Description

Public function Virtual

bool

 

CanImportGraphFromText

(
    const FString& InClipboardText
)

Returns true if the blueprint can import a given InClipboardText.

Public function Virtual

bool

 

ExportGraphToText

(
    UEdGraph* InEdGraph,
    FString& OutText
)

Copies a given graph into a text buffer. Returns true if successful.

Public function Virtual Const

UClass *

 

GetBlueprintClass()

Gets the class generated when this blueprint is compiled.

Public function Virtual Const

void

 

GetInstanceActions

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

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 Virtual Const

bool

 

IsValidForBytecodeOnlyRecompile()

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

Public function Virtual

void

 

LoadModulesRequiredForCompilation()

Blueprint can choose to load specific modules for compilation.

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 Const

bool

 

ShouldBeMarkedDirtyUponTransaction()

Returns true if this blueprint should be marked dirty upon a transaction

Public function Virtual Const

bool

 

SupportedByDefaultBlueprintFactory()

Should the generic blueprint factory work for this blueprint?

Public function Virtual Const

bool

 

SupportsAnimLayers()

Returns true if this blueprint supports animation layers

Public function Virtual Const

bool

 

SupportsDelegates()

Returns true if this blueprint supports delegates

Public function Virtual Const

bool

 

SupportsEventGraphs()

Returns true if this blueprint supports event graphs

Public function Virtual Const

bool

 

SupportsFunctions()

Returns true if this blueprint supports functions

Public function Virtual Const

bool

 

SupportsGlobalVariables()

Returns true if this blueprint supports global variables

Public function Virtual Const

bool

 

SupportsLocalVariables()

Returns true if this blueprint supports global variables

Public function Virtual Const

bool

 

SupportsMacros()

Returns true if this blueprint supports macros

Public function Virtual

bool

 

TryImportGraphFromText

(
    const FString& InClipboardText,
    UEdGraph** OutGraphPtr
)

Returns a new ed graph if the blueprint's specialization imported a graph based on a clipboard text content an nullptr if that's not successful.

Overridden from UObject

Name Description

Public function Virtual

void

 

GetPreloadDependencies

(
    TArray< UObject* >& OutDeps
)

Called during cooking.

Public function Virtual Const

bool

 

IsPostLoadThreadSafe()

Called during async load to determine if PostLoad can be called on the loading thread.

Public function Virtual

void

 

PostDuplicate

(
    bool bDuplicateForPIE
)

Called after duplication & serialization and before PostLoad.

Public function Virtual

void

 

PostEditChangeChainProperty

(
    FPropertyChangedChainEvent& Proper...
)

This alternate version of PostEditChange is called when properties inside structs are modified.

Public function Virtual

void

 

PostLoad()

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

Public function Virtual

void

 

PostRename

(
    UObject* OldOuter,
    const FName OldName
)

Called at the end of Rename(), but only if the rename was actually carried out

Public function Virtual

void

 

PostTransacted

(
    const FTransactionObjectEvent& Tra...
)

Called after the object has been transacted in some way.

Public function Virtual

void

 

PreDuplicate

(
    FObjectDuplicationParameters& DupP...
)

Called before duplication.

Public function Virtual

void

 

PreSave

(
    FObjectPreSaveContext SaveContext
)

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

void

 

Serialize

(
    FArchive& Ar
)

Handles reading, writing, and reference collecting using FArchive.

Overridden from IInterface_PreviewMeshProvider

Name Description

Public function Virtual Const UFunction BlueprintCallable, Category

USkeletalMes...

 

GetPreviewMesh()

Get the preview mesh for this asset

Public function Virtual UFunction BlueprintCallable, Category

void

 

SetPreviewMesh

(
    USkeletalMesh* PreviewMesh,
    bool bMarkAsDirty
)

IInterface_PreviewMeshProvider interface

Overridden from IRigVMClientHost

Name Description

Public function Virtual Const

UObject *...

 

GetEditorObjectForRigVMGraph

(
    URigVMGraph* InVMGraph
)

Returns the editor object corresponding with the supplied editor object.

Public function Virtual

FRigVMClient...

 

GetRigVMClient()

Returns the rigvm client for this host.

Public function Virtual Const

const FRigVM...

 

GetRigVMClient()

Returns the rigvm client for this host.

Public function Virtual

IRigVMGraphF...

 

GetRigVMGraphFunctionHost()

Returns the rigvm function host.

Public function Virtual Const

const IRigVM...

 

GetRigVMGraphFunctionHost()

Returns the rigvm function host.

Public function Virtual

void

 

HandleConfigureRigVMController

(
    const FRigVMClient* InClient,
    URigVMController* InController...
)

Reacts to a request to configure a controller.

Public function Virtual

void

 

HandleRigVMGraphAdded

(
    const FRigVMClient* InClient,
    const FString& InNodePathOrName
)

Reacts to adding a graph.

Public function Virtual

void

 

HandleRigVMGraphRemoved

(
    const FRigVMClient* InClient,
    const FString& InNodePathOrName
)

Reacts to removing a graph.

Public function Virtual

void

 

HandleRigVMGraphRenamed

(
    const FRigVMClient* InClient,
    const FString& InOldNodePath,
    const FString& InNewNodePath
)

Reacts to renaming a graph.

Constants

Deprecated Variables

Deprecated Functions

Name Description

Public function Virtual

PRAGMA_DISAB...

 

PreSave

(
    const ITargetPlatform* TargetP...
)

Use version that takes FObjectPreSaveContext instead.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Cancel