description: Returns the tooltip for the node

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetNodeTooltip ( const [FRigVMTemplateTypeMap](API\Plugins\RigVM\RigVMCore\FRigVMTemplateTypeMap) & InTypes ) const


description: Returns the name of the permutation for a given set of types

module: RigVM

code: [FString](API\Runtime\Core\Containers\FString) GetPermutationName ( const [FRigVMTemplateTypeMap](API\Plugins\RigVM\RigVMCore\FRigVMTemplateTypeMap) & InTypes ) const


description: Returns the dispatch function for a given type set

code: [FRigVMFunctionPtr](API\Plugins\RigVM\RigVMCore\FRigVMFunctionPtr) GetOrCreateDispatchFunction ( const [FRigVMTemplateTypeMap](API\Plugins\RigVM\RigVMCore\FRigVMTemplateTypeMap) & InTypes ) const


code: [FString](API\Runtime\Core\Containers\FString) GetPermutationNameImpl ( const [FRigVMTemplateTypeMap](API\Plugins\RigVM\RigVMCore\FRigVMTemplateTypeMap) & InTypes ) const


description: Returns the struct for this dispatch factory

code: [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * GetScriptStruct() const


description: Builds and returns the template

code: const [FRigVMTemplate](API\Plugins\RigVM\RigVMCore\FRigVMTemplate) * GetTemplate() const


description: Returns the name of the factory template


description: Returns the upgrade info to use for this factory

code: virtual [FRigVMStructUpgradeInfo](API\Plugins\RigVM\RigVMCore\FRigVMStructUpgradeInfo) GetUpgradeInfo ( const [FRigVMTemplateTypeMap](API\Plugins\RigVM\RigVMCore\FRigVMTemplateTypeMap) & InTypes, const [FRigVMDispatchContext](API\Plugins\RigVM\RigVMCore\FRigVMDispatchContext) & InContext ) const


description: Returns true if a given control flow block needs to be sliced

code: virtual const bool IsControlFlowBlockSliced ( const [FName](API\Runtime\Core\UObject\FName) & InBlockName ) const


description: Returns true if the factory provides metadata for a given argument.

code: bool HasArgumentMetaData ( const [FName](API\Runtime\Core\UObject\FName) & InArgumentName, const [FName](API\Runtime\Core\UObject\FName) & InMetaDataKey ) const


description: Returns true if the dispatch is a control flow dispatch

code: bool IsControlFlowDispatch ( const [FRigVMDispatchContext](API\Plugins\RigVM\RigVMCore\FRigVMDispatchContext) & InContext ) const


description: Returns true if the argument is lazy.

code: bool IsLazyInputArgument ( const [FName](API\Runtime\Core\UObject\FName) & InArgumentName ) const


description: Returns the delegate to react to new types being added to an argument. this happens if types are being loaded later after this factory has already been deployed

code: virtual [FRigVMTemplateTypeMap](API\Plugins\RigVM\RigVMCore\FRigVMTemplateTypeMap) OnNewArgumentType ( const [FName](API\Runtime\Core\UObject\FName) & InArgumentName, [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndex ) const


description: Returns true if the dispatch uses the same function ptr for all permutations

code: virtual bool IsSingleton() const


description: Registered needed types during registration of the factory

code: virtual void RegisterDependencyTypes() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > * UpdateArgumentNameCache ( int32 InNumberOperands ) const


description: Returns truf if this factory supports a given executecontext struct.

code: bool SupportsExecuteContextStruct ( const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InExecuteContextStruct ) const


className: TrueString

code: static const [FString](API\Runtime\Core\Containers\FString) TrueString = TEXT("True");


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > * UpdateArgumentNameCache_NoLock ( int32 InNumberOperands ) const


className: FRigVMDispatchFactory

description: A factory to generate a template and its dispatch functions

ArgumentNamesMap

type: TMap< int32,TS...

ArgumentNamesMutex

type: FCriticalSectio...

CachedTemplate

type: constFRigVMTem...

FactoryScriptStruct

type: UScriptStruct&...


code: int32 GetIndex ( const [FName](API\Runtime\Core\UObject\FName) & InName ) const


code: const [FRigVMDrawInstruction](API\Plugins\RigVM\RigVMCore\FRigVMDrawInstruction) & operator[] ( int32 InIndex ) const


code: const [FRigVMDrawInstruction](API\Plugins\RigVM\RigVMCore\FRigVMDrawInstruction) & operator[] ( const [FName](API\Runtime\Core\UObject\FName) & InName ) const


code: [FRigVMDrawInstruction](API\Plugins\RigVM\RigVMCore\FRigVMDrawInstruction) & operator[] ( const [FName](API\Runtime\Core\UObject\FName) & InName )


className: FRigVMDrawContainer

Instructions

type: TArray<FRigVMD...


code: [FRigVMDrawInstruction](API\Plugins\RigVM\RigVMCore\FRigVMDrawInstruction) & operator[] ( int32 InIndex )


code: FRigVMDrawInstruction ( [ERigVMDrawSettings::Primitive](API\Plugins\RigVM\RigVMCore\ERigVMDrawSettings__Primitive) InPrimitiveType, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & InColor, float InThickness, FTransform InTransform )


className: FRigVMDrawInstruction

Color

type: FLinearColor

MaterialRenderProxy

type: FMaterialRender...

MeshIndices

type: TArray< uint32 ...

MeshVerts

type: TArray<FDynami...

description: This is to draw cone, they're not UPROPERTY.

Name

type: FName

Positions

type: TArray< FVector...

PrimitiveType

type: TEnumAsByte<ER...

Thickness

type: float

Transform

type: FTransform


code: void DrawArc ( const FTransform & WorldOffset, const FTransform & Transform, float Radius, float MinimumAngle, float MaximumAngle, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float Thickness, int32 Detail )


code: void DrawAxes ( const FTransform & WorldOffset, const FTransform & Transform, float Size, float Thickness )


code: void DrawAxes ( const FTransform & WorldOffset, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const FTransform > & Transforms, float Size, float Thickness )


code: void DrawAxes ( const FTransform & WorldOffset, const FTransform & Transform, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & InColor, float Size, float Thickness )


code: void DrawAxes ( const FTransform & WorldOffset, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const FTransform > & Transforms, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & InColor, float Size, float Thickness )


code: void DrawBox ( const FTransform & WorldOffset, const FTransform & Transform, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float Thickness )


code: void DrawCone ( const FTransform & WorldOffset, const FTransform & ConeOffset, float Angle1, float Angle2, uint32 NumSides, bool bDrawSideLines, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & SideLineColor, [FMaterialRenderProxy](API\Runtime\Engine\Materials\FMaterialRenderProxy) *const MaterialRenderProxy )


code: void DrawInstruction ( const [FRigVMDrawInstruction](API\Plugins\RigVM\RigVMCore\FRigVMDrawInstruction) & InInstruction )


code: void DrawLine ( const FTransform & WorldOffset, const FVector & LineStart, const FVector & LineEnd, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float Thickness )


code: void DrawLineStrip ( const FTransform & WorldOffset, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const FVector > & Positions, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float Thickness )


code: void DrawLines ( const FTransform & WorldOffset, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const FVector > & Positions, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float Thickness )


code: void DrawPoint ( const FTransform & WorldOffset, const FVector & Position, float Size, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color )


code: void DrawPoints ( const FTransform & WorldOffset, const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const FVector > & Points, float Size, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color )


code: void DrawRectangle ( const FTransform & WorldOffset, const FTransform & Transform, float Size, const [FLinearColor](API\Runtime\Core\Math\FLinearColor) & Color, float Thickness )


className: FRigVMDrawInterface

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FRigVMDrawInterface : public [FRigVMDrawContainer](API\Plugins\RigVM\RigVMCore\FRigVMDrawContainer)


code: FRigVMExecuteArgument ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [ERigVMPinDirection](API\Plugins\RigVM\RigVMCore\ERigVMPinDirection) & InDirection, const [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) & InTypeIndex )


code: virtual void Copy ( const [FRigVMExecuteContext](API\Plugins\RigVM\RigVMCore\FRigVMExecuteContext) * InOtherContext )


className: FRigVMExecuteArgument

description: TheFRigVMExecuteArgumentdescribes an execute argument.

code: struct FRigVMExecuteArgument

Direction

type: ERigVMPinDirect...

TypeIndex

type: TRigVMTypeIndex


code: const [FRigVMDrawContainer](API\Plugins\RigVM\RigVMCore\FRigVMDrawContainer) * GetDrawContainer() const


code: [FRigVMDrawInterface](API\Plugins\RigVM\RigVMCore\FRigVMDrawInterface) * GetDrawInterface() const


code: [FRigVMLog](API\Plugins\RigVM\RigVMCore\FRigVMLog) * GetLog() const


code: [FRigVMNameCache](API\Plugins\RigVM\RigVMCore\FRigVMNameCache) * GetNameCache() const


description: The current actor this VM is owned by

code: const [AActor](API\Runtime\Engine\GameFramework\AActor) * GetOwningActor() const


description: The current component this VM is owned by

code: const [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * GetOwningComponent() const


description: The current transform going from rig (global) space to world space

code: const FTransform & GetToWorldSpaceTransform() const


description: The world this VM is running in

code: const [UWorld](API\Runtime\Engine\Engine\UWorld) * GetWorld() const


code: void Log ( [EMessageSeverity::Type](API\Runtime\Core\Logging\EMessageSeverity__Type) InSeverity, const [FString](API\Runtime\Core\Containers\FString) & InMessage ) const


code: template<typename FmtType, typename... Types> void Logf ( [EMessageSeverity::Type](API\Runtime\Core\Logging\EMessageSeverity__Type) InSeverity, const FmtType & Fmt, Types... Args ) const


description: Serialize this type from another

code: bool SerializeFromMismatchedTag ( const [FPropertyTag](API\Runtime\CoreUObject\UObject\FPropertyTag) & Tag, [FStructuredArchive::FSlot](API\Runtime\Core\Serialization\FStructuredArchive\FSlot) Slot )


code: void SetAbsoluteTime ( double InAbsoluteTime )


code: void SetDrawContainer ( [FRigVMDrawContainer](API\Plugins\RigVM\RigVMCore\FRigVMDrawContainer) * InDrawContainer )


code: void SetDeltaTime ( double InDeltaTime )


code: void SetEventName ( const [FName](API\Runtime\Core\UObject\FName) & InName )


code: void SetDrawInterface ( [FRigVMDrawInterface](API\Plugins\RigVM\RigVMCore\FRigVMDrawInterface) * InDrawInterface )


code: void SetFramesPerSecond ( double InFramesPerSecond )


code: void SetLog ( [FRigVMLog](API\Plugins\RigVM\RigVMCore\FRigVMLog) * InLog )


code: void SetOwningActor ( const [AActor](API\Runtime\Engine\GameFramework\AActor) * InActor )


code: void SetOwningComponent ( const [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * InOwningComponent )


code: void SetToWorldSpaceTransform ( const FTransform & InToWorldSpaceTransform )


description: Converts a transform from world space to VM (global) space

code: FTransform ToVMSpace ( const FTransform & InTransform ) const


description: Converts a location from world space to VM (global) space

code: FVector ToVMSpace ( const FVector & InLocation ) const


description: Converts a rotation from world space to VM (global) space

code: FQuat ToVMSpace ( const FQuat & InRotation ) const


description: Converts a transform from VM (global) space to world space

code: FTransform ToWorldSpace ( const FTransform & InTransform ) const


description: Converts a location from VM (global) space to world space

code: FVector ToWorldSpace ( const FVector & InLocation ) const


code: void SetWorld ( const [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld )


description: Converts a rotation from VM (global) space to world space

code: FQuat ToWorldSpace ( const FQuat & InRotation ) const


className: FRigVMExecuteContext

description: The execute context is used for mutable nodes to indicate execution order.

AbsoluteTime

type: double

DrawContainerPtr

type: FRigVMDrawConta...

DrawInterfacePtr

type: FRigVMDrawInter...

LogPtr

type: FRigVMLog*

NameCache

type: FRigVMNameCache...

OwningActor

type: constAActor&#...

description: The current actor this VM is owned by

OwningComponent

type: constUSceneCom...

RuntimeSettings

type: FRigVMRuntimeSe...

World

type: constUWorld&#...

description: The world this VM is running in


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: FRigVMExecuteOp ( uint16 InFunctionIndex, uint16 InArgumentCount )


className: FRigVMExecuteOp

description: Execute a function

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FRigVMExecuteOp : public [FRigVMBaseOp](API\Plugins\RigVM\RigVMCore\FRigVMBaseOp)


code: void BeginSlice ( int32 InCount, int32 InRelativeIndex )


className: FExecutionHaltedEvent

code: class FExecutionHaltedEvent : public TBaseMulticastDelegate_ThreeParams< void, int32, UObject *, const FName & >


className: FExecutionReachedExitEvent

description: Bindable event for external objects to be notified when the VM reaches an Exit Operation

code: class FExecutionReachedExitEvent : public TBaseMulticastDelegate_OneParam< void, const FName & >


code: const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * GetContextPublicDataStruct() const


code: const [FName](API\Runtime\Core\UObject\FName) & GetFirstEntryEventInEventQueue()


code: template<typename ExecuteContextType> const ExecuteContextType & GetPublicData() const


code: template<typename ExecuteContextType> ExecuteContextType & GetPublicData()


code: template<typename ExecuteContextType> ExecuteContextType & GetPublicDataSafe()


code: const [FRigVMSlice](API\Plugins\RigVM\RigVMCore\FRigVMSlice) & GetSlice() const


code: virtual void Initialize ( const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InScriptStruct )


code: bool IsValidArrayIndex ( int32 & InOutIndex, const [FScriptArrayHelper](API\Runtime\CoreUObject\UObject\FScriptArrayHelper) & InArrayHelper ) const


code: bool IsValidArrayIndex ( int32 & InOutIndex, int32 InArraySize ) const


code: bool IsValidArraySize ( int32 InSize ) const


code: [FRigVMExtendedExecuteContext](API\Plugins\RigVM\RigVMCore\FRigVMExtendedExecuteContext) & operator= ( const [FRigVMExtendedExecuteContext](API\Plugins\RigVM\RigVMCore\FRigVMExtendedExecuteContext) & Other )


description: /** Full context reset */

code: void Reset()


description: Resets VM execution state

code: void ResetExecutionState()


code: void SetContextPublicDataStruct ( const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InScriptStruct )


code: void SetDebugInfo ( [FRigVMDebugInfo](API\Plugins\RigVM\RigVMCore\FRigVMDebugInfo) * InDebugInfo )


code: const void SetFirstEntryEventInEventQueue ( const [FName](API\Runtime\Core\UObject\FName) & InFirstEventName )


code: void SetNameCache ( [FRigVMNameCache](API\Plugins\RigVM\RigVMCore\FRigVMNameCache) * InNameCache )


code: FRigVMExtendedExecuteContext ( const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InExecuteContextStruct )


code: FRigVMExtendedExecuteContext ( const [FRigVMExtendedExecuteContext](API\Plugins\RigVM\RigVMCore\FRigVMExtendedExecuteContext) & InOther )


code: virtual ~FRigVMExtendedExecuteContext()


className: FRigVMExtendedExecuteContext

bCurrentlyRunningRootEntry

type: bool

CachedMemory

type: TArray<URigVMM...

description: Changes to the layout of cached memory array should be reflected in GetContainerIndex()

CachedMemoryHandles

type: TArray<FRigVMM...

CurrentBreakpointAction

type: ERigVMBreakpoin...

CurrentExecuteResult

type: ERigVMExecuteRe...

CurrentMemory

type: TArrayView<URi...

DebugInfo

type: FRigVMDebugInfo...

DeferredVMContextToCopy

type: constFRigVMExt...

DeferredVMToCopy

type: TObjectPtr<URi...

EntriesBeingExecuted

type: TArray< int32 >

ExternalVariableRuntimeData

type: TArray<FRigVME...

Factory

type: constFRigVMDis...

FirstEntryEventInQueue

description: A RigVMHost can run multiple events per evaluation, such as the Backward&Forward Solve Mode, store the first event such that we know when to reset data for a new round of rig evaluation

HaltedAtBreakpoint

type: FRigVMBreakpoin...

InstructionCyclesDuringLastRun

type: TArray< uint64 ...

InstructionVisitedDuringLastRun

description: Stores the number of times each instruction was visited

LazyBranchInstanceData

type: TArray<FRigVML...

NameCache

type: FRigVMNameCache

OnExecutionHalted

type: FExecutionHalte...

OnExecutionReachedExit

type: FExecutionReach...

PublicDataScope

type: FStructOnScope

SliceOffsets

type: TArray< uint16 ...

Slices

type: TArray<FRigVMS...

VM

type: URigVM*


code: template<typename T> [TArray](API\Runtime\Core\Containers\TArray)< T > GetArray()


code: void SetRuntimeSettings ( [FRigVMRuntimeSettings](API\Plugins\RigVM\RigVMCore\FRigVMRuntimeSettings) InRuntimeSettings )


code: static uint32 GetPropertyTypeHash ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, const uint8 * InMemory )


code: template<typename T> const T & GetRef() const


code: template<typename T> T GetValue() const


code: bool IsValid ( bool bAllowNullPtr ) const


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, bool & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< double > & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [FString](API\Runtime\Core\Containers\FString) & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [FName](API\Runtime\Core\UObject\FName) & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & InValue )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsEnum](API\Runtime\Core\Templates\TIsEnum)< T >::Value >::Type *> static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, T & InValue )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsBaseStructure](API\Plugins\RigVM\RigVMCore\TRigVMIsBaseStructure)< T >::Value, T >::Type *> static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, T & InValue )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsEnum](API\Runtime\Core\Templates\TIsEnum)< T >::Value >::Type *> static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< T > & InValue )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsBaseStructure](API\Plugins\RigVM\RigVMCore\TRigVMIsBaseStructure)< T >::Value, T >::Type *> static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< T > & InValue )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUStruct](API\Plugins\RigVM\RigVMCore\CRigVMUStruct), T >>::Type *> static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, T & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< bool > & InValue )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUClass](API\Plugins\RigVM\RigVMCore\CRigVMUClass), T >>::Type *> static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, T & InValue )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUStruct](API\Plugins\RigVM\RigVMCore\CRigVMUStruct), T >>::Type *> static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< T > & InValue )


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUClass](API\Plugins\RigVM\RigVMCore\CRigVMUClass), T >>::Type *> static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< T > & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, void * InContainer, const [FName](API\Runtime\Core\UObject\FName) & InOptionalName )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, int32 & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, uint8 & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, float & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, [TArray](API\Runtime\Core\Containers\TArray)< float > & InValue )


code: static [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) Make ( const [FName](API\Runtime\Core\UObject\FName) & InName, double & InValue )


code: template<typename VarType> static void MergeExternalVariable ( [TArray](API\Runtime\Core\Containers\TArray)< VarType > & OutVariables, const VarType & InVariable )


code: template<typename T> void SetValue ( const T & InValue )


code: template<typename T> void SetArray ( const [TArray](API\Runtime\Core\Containers\TArray)< T > & InValue )


code: FRigVMExternalVariable ( const [FRigVMExternalVariableDef](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariableDef) & Other )


code: FRigVMExternalVariable ( const [FRigVMExternalVariableDef](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariableDef) & Other, uint8 * InMemory )


className: FRigVMExternalVariable

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FRigVMExternalVariable : public [FRigVMExternalVariableDef](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariableDef)

Memory

type: uint8 *


code: static void GetTypeFromProperty ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, [FName](API\Runtime\Core\UObject\FName) & OutTypeName, [UObject](API\Runtime\CoreUObject\UObject\UObject) *& OutTypeObject )


code: FRigVMExternalVariableRuntimeData ( uint8 * InMemory )


className: FRigVMExternalVariableDef

description: The external variable can be used to map external / unowned memory into the VM and back out

bIsArray

type: bool

Name

type: FName

Property

type: constFProperty...

TypeObject

type: UObject*


className: FRigVMExternalVariableRuntimeData


code: const [FName](API\Runtime\Core\UObject\FName) & GetArgumentNameForOperandIndex ( int32 InOperandIndex, int32 InTotalOperands ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMFunctionArgument](API\Plugins\RigVM\RigVMCore\FRigVMFunctionArgument) > & GetArguments() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) > & GetArgumentTypeIndices() const


code: const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * GetExecuteContextStruct() const


code: const [FRigVMTemplate](API\Plugins\RigVM\RigVMCore\FRigVMTemplate) * GetTemplate() const


code: bool SupportsExecuteContextStruct ( const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InExecuteContextStruct ) const


code: FRigVMFunction ( const TCHAR * InName, [FRigVMFunctionPtr](API\Plugins\RigVM\RigVMCore\FRigVMFunctionPtr) InFunctionPtr, [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, int32 InIndex, const [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMFunctionArgument](API\Plugins\RigVM\RigVMCore\FRigVMFunctionArgument) > & InArguments )


code: FRigVMFunction ( const [FString](API\Runtime\Core\Containers\FString) & InName, [FRigVMFunctionPtr](API\Plugins\RigVM\RigVMCore\FRigVMFunctionPtr) InFunctionPtr, [FRigVMDispatchFactory](API\Plugins\RigVM\RigVMCore\FRigVMDispatchFactory) * InFactory, int32 InIndex, const [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMFunctionArgument](API\Plugins\RigVM\RigVMCore\FRigVMFunctionArgument) > & InArguments )


className: FRigVMFunction

description: TheFRigVMFunctionis used to represent a function pointer generated by UHT for a given name. The name might be something like "FMyStruct::MyVirtualMethod"

code: struct FRigVMFunction

ArgumentNames

type: TArray<FName>

Arguments

type: TArray<FRigVMF...

ArgumentTypeIndices

type: TArray<TRigVMT...

Factory

type: FRigVMDispatchF...

FunctionPtr

type: FRigVMFunctionP...

Name

type: FString

Struct

type: UScriptStruct&...


code: FRigVMFunctionArgument ( const TCHAR * InName, const TCHAR * InType, const [ERigVMFunctionArgumentDirection](API\Plugins\RigVM\RigVMCore\ERigVMFunctionArgumentDirection) InDirection )


code: FRigVMFunctionArgument ( const [FString](API\Runtime\Core\Containers\FString) & InName, const [FString](API\Runtime\Core\Containers\FString) & InType, const [ERigVMFunctionArgumentDirection](API\Plugins\RigVM\RigVMCore\ERigVMFunctionArgumentDirection) InDirection )


className: FRigVMFunctionArgument

description: TheFRigVMFunctionArgumentdescribes an argument necessary for the C++ invocation of the RIGVM_METHOD backed function

code: struct FRigVMFunctionArgument

Direction

type: ERigVMFunctionA...

Name

type: const TCHAR ...

NameString

type: TSharedPtr<FSt...


className: FRigVMFunctionArgumentArray

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMFunctionArgument](API\Plugins\RigVM\RigVMCore\FRigVMFunctionArgument) > FRigVMFunctionArgumentArray


CPPType

description: The complete CPP type to base a new property off of (for ex: 'TArray<TArray>')

CPPTypeObject

type: TSoftObjectPtr<...

description: The tail CPP Type object, for example theUScriptStructfor a struct.

DefaultValue

description: The default value to use for this property (for example: '(((X=1.000000, Y=2.000000, Z=3.000000)))')

Name

description: The name of the property to create.


className: FRigVMFunctionCompilationPropertyPath


className: FRigVMFunctionPtr

code: typedef void(* FRigVMFunctionPtr


className: FRigVMGetExternalVariablesDelegate

description: Delegates used for variable introspection / creation

code: typedef TBaseDelegate_NoParams< [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) > > FRigVMGetExternalVariablesDelegate


description: Returns true if this argument is an execute context

code: bool IsExecuteContext() const


description: Validates and potentially loads the CPP Type Object

code: bool IsCPPTypeObjectValid() const


className: FRigVMFunctionCompilationData

ByteCode

type: FRigVMByteCode

ExternalRegisterIndexToVariable

type: TMap< int32,FN...

Operands

type: TMap<FString, ...

OperandToDebugRegisters

type: TMap<FRigVMOpe...


code: bool operator== ( const [FRigVMGraphFunctionArgument](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionArgument) & Other ) const


className: FRigVMGraphFunctionArgument

bIsArray

type: bool

CPPType

type: FName

Direction

type: ERigVMPinDirect...


className: EntryString

code: static const [FString](API\Runtime\Core\Containers\FString) EntryString = TEXT("Entry");


code: static [FRigVMGraphFunctionData](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionData) * FindFunctionData ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InIdentifier, bool * bOutIsPublic )


code: static [FString](API\Runtime\Core\Containers\FString) GetArgumentNameFromPinHash ( const [FString](API\Runtime\Core\Containers\FString) & InPinHash )


code: [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) GetOperandForArgument ( const [FName](API\Runtime\Core\UObject\FName) & InArgumentName ) const


code: bool operator== ( const [FRigVMGraphFunctionData](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionData) & Other ) const


className: ReturnString

code: static const [FString](API\Runtime\Core\Containers\FString) ReturnString = TEXT("Return");


code: void PostDuplicateHost ( const [FString](API\Runtime\Core\Containers\FString) & InOldPathName, const [FString](API\Runtime\Core\Containers\FString) & InNewPathName )


code: FRigVMGraphFunctionData ( const [FRigVMGraphFunctionHeader](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionHeader) & InHeader )


className: FRigVMGraphFunctionData

CompilationData

type: FRigVMFunctionC...

Header

type: FRigVMGraphFunc...


code: [FRigVMGraphFunctionData](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionData) * GetFunctionData ( bool bLoadIfNecessary ) const


code: [IRigVMGraphFunctionHost](API\Plugins\RigVM\RigVMCore\IRigVMGraphFunctionHost) * GetFunctionHost ( bool bLoadIfNecessary ) const


code: bool operator== ( const [FRigVMGraphFunctionHeader](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionHeader) & Other ) const


className: FRigVMGraphFunctionHeader

Arguments

type: TArray<FRigVMG...

Dependencies

type: TMap<FRigVMGra...

ExternalVariables

type: TArray<FRigVME...

NodeColor

type: FLinearColor

Tooltip

type: FText


code: bool operator== ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & Other ) const


code: FRigVMGraphFunctionIdentifier ( [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) InHostObject, [FSoftObjectPath](API\Runtime\CoreUObject\UObject\FSoftObjectPath) InLibraryNode )


className: FRigVMGraphFunctionIdentifier

HostObject

type: FSoftObjectPath

description: A path to theIRigVMGraphFunctionHostthat stores the function information, and compilation data (e.g. ControlRigBlueprintGeneratedClass)


code: [FRigVMGraphFunctionData](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionData) * AddFunction ( const [FRigVMGraphFunctionHeader](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionHeader) & FunctionHeader, bool bIsPublic )


code: bool ContainsFunction ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InLibraryPointer ) const


code: const [FRigVMGraphFunctionData](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionData) * FindFunction ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InLibraryPointer, bool * bOutIsPublic ) const


code: [FRigVMGraphFunctionData](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionData) * FindFunction ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InLibraryPointer, bool * bOutIsPublic )


code: [FRigVMGraphFunctionData](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionData) * FindFunctionByName ( const [FName](API\Runtime\Core\UObject\FName) & Name, bool * bOutIsPublic )


code: bool MarkFunctionAsPublic ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InLibraryPointer, bool bIsPublic )


code: bool IsFunctionPublic ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InLibraryPointer ) const


code: bool RemoveFunction ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InLibraryPointer, bool * bIsPublic )


code: bool RemoveFunctionCompilationData ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InLibraryPointer )


code: bool UpdateDependencies ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InLibraryPointer, [TMap](API\Runtime\Core\Containers\TMap)< [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier), uint32 > & Dependencies )


code: bool UpdateExternalVariables ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InLibraryPointer, [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMExternalVariable](API\Plugins\RigVM\RigVMCore\FRigVMExternalVariable) > ExternalVariables )


code: bool UpdateFunctionCompilationData ( const [FRigVMGraphFunctionIdentifier](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionIdentifier) & InLibraryPointer, const [FRigVMFunctionCompilationData](API\Plugins\RigVM\RigVMCore\FRigVMFunctionCompilationData) & CompilationData )


code: [FRigVMGraphFunctionData](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionData) * UpdateFunctionInterface ( const [FRigVMGraphFunctionHeader](API\Plugins\RigVM\RigVMCore\FRigVMGraphFunctionHeader) & Header )


code: FRigVMInstruction ( [ERigVMOpCode](API\Plugins\RigVM\RigVMCore\ERigVMOpCode) InOpCode, uint64 InByteCodeIndex, uint8 InOperandAlignment )


className: FRigVMInstruction

description: TheFRigVMInstructionrepresents a single instruction within the VM.

OpCode

type: ERigVMOpCode


code: [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMInstruction](API\Plugins\RigVM\RigVMCore\FRigVMInstruction) >::RangedForConstIteratorType begin() const


description: Resets the data structure and removes all storage.

code: void Empty()


code: [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMInstruction](API\Plugins\RigVM\RigVMCore\FRigVMInstruction) >::RangedForConstIteratorType end() const


description: Returns true if a given instruction index is valid.

code: bool IsValidIndex ( int32 InIndex ) const


description: Returns the number of instructions.

code: int32 Num() const


description: Const accessor for an instruction given its index

code: const [FRigVMInstruction](API\Plugins\RigVM\RigVMCore\FRigVMInstruction) & operator[] ( int32 InIndex ) const


description: Resets the data structure and maintains all storage.

code: void Reset()


description: Hide utility constructor

code: FRigVMInstructionArray &40; const FRigVMByteCode & InByteCode, bool bByteCodeIsAligned &41;


className: FRigVMGraphFunctionStore

description: A management struct containing graph functions.

PublicFunctions

description: Exposed public functions on this rig


className: FRigVMInstructionArray

description: TheFRigVMInstructionArrayrepresents all current instructions within a RigVM and can be used to iterate over all operators and retrieve each instruction's data.


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: FRigVMInvokeEntryOp ( [FName](API\Runtime\Core\UObject\FName) InEntryName )


className: FRigVMInvokeEntryOp

description: Invoke another entry

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FRigVMInvokeEntryOp : public [FRigVMBaseOp](API\Plugins\RigVM\RigVMCore\FRigVMBaseOp)


code: FRigVMJumpIfOp ( [ERigVMOpCode](API\Plugins\RigVM\RigVMCore\ERigVMOpCode) InOpCode, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InConditionArg, int32 InInstructionIndex, bool InCondition )


className: FRigVMJumpIfOp

description: Jump to a new instruction index based on a condition. the instruction can be absolute, relative forward or relative backward based on the opcode

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FRigVMJumpIfOp : public [FRigVMUnaryOp](API\Plugins\RigVM\RigVMCore\FRigVMUnaryOp)


code: FRigVMJumpOp ( [ERigVMOpCode](API\Plugins\RigVM\RigVMCore\ERigVMOpCode) InOpCode, int32 InInstructionIndex )


className: FRigVMJumpOp

description: Jump to a new instruction index. the instruction can be absolute, relative forward or relative backward based on the opcode

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FRigVMJumpOp : public [FRigVMBaseOp](API\Plugins\RigVM\RigVMCore\FRigVMBaseOp)


code: FRigVMJumpToBranchOp ( [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InBranchNameArg, int32 InFirstBranchInfoIndex )


className: FRigVMJumpToBranchOp

description: Jump into a branch based on a name argument

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FRigVMJumpToBranchOp : public [FRigVMUnaryOp](API\Plugins\RigVM\RigVMCore\FRigVMUnaryOp)


code: [ERigVMExecuteResult](API\Plugins\RigVM\RigVMCore\ERigVMExecuteResult) ExecuteIfRequired ( [FRigVMExtendedExecuteContext](API\Plugins\RigVM\RigVMCore\FRigVMExtendedExecuteContext) & Context, int32 InSliceIndex )


code: [ERigVMExecuteResult](API\Plugins\RigVM\RigVMCore\ERigVMExecuteResult) Execute ( [FRigVMExtendedExecuteContext](API\Plugins\RigVM\RigVMCore\FRigVMExtendedExecuteContext) & Context )


className: FRigVMLazyBranch

description: A branch which can be lazily executed

code: struct FRigVMLazyBranch


className: FRigVMLazyBranchInstanceData

description: Lazy branch data required by each instance of the VM

code: struct FRigVMLazyBranchInstanceData

LastVMNumExecutions

type: TArray< int32 >


code: FLogEntry &40; EMessageSeverity::Type InSeverity, const FName & InFunctionName, int32 InInstructionIndex, const FString & InMessage &41;


className: FLogEntry

code: struct FLogEntry

Message

type: FString

Severity

type: EMessageSeverit...


code: [TArray](API\Runtime\Core\Containers\TArray)< [FLogEntry](API\Plugins\RigVM\RigVMCore\FRigVMLog\FLogEntry) > GetEntries ( [EMessageSeverity::Type](API\Runtime\Core\Logging\EMessageSeverity__Type) InSeverity, bool bIncludeHigherSeverity )


code: virtual void Report ( [EMessageSeverity::Type](API\Runtime\Core\Logging\EMessageSeverity__Type) InSeverity, const [FName](API\Runtime\Core\UObject\FName) & InFunctionName, int32 InInstructionIndex, const [FString](API\Runtime\Core\Containers\FString) & InMessage )


className: FRigVMLog

code: struct FRigVMLog

Entries

type: TArray<FLogEnt...

KnownMessages

type: TMap<FString, ...


description: Allocates a new named register.

code: int32 Allocate ( const [FName](API\Runtime\Core\UObject\FName) & InNewName, int32 InElementSize, int32 InElementCount, int32 InSliceCount, const uint8 * InDataPtr, bool bUpdateRegisters )


code: [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) >::RangedForConstIteratorType begin() const


description: Performs optional construction of data within a struct register.

code: bool Construct ( int32 InRegisterIndex, int32 InElementIndex, int32 InSliceIndex )


code: bool CopyRegisters ( const [FRigVMMemoryContainer](API\Plugins\RigVM\RigVMCore\FRigVMMemoryContainer) & InOther )


description: Performs optional destruction of data within a struct register.

code: bool Destroy ( int32 InRegisterIndex, int32 InElementIndex, int32 InSliceIndex )


description: Resets the container and removes all storage.

code: void Empty()


description: Allocates a new unnamed register.

code: int32 Allocate ( int32 InElementSize, int32 InElementCount, int32 InSliceCount, const uint8 * InDataPtr, bool bUpdateRegisters )


code: [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) >::RangedForConstIteratorType end() const


description: Ensures to add a script struct to the internal map if needed.

code: int32 FindOrAddScriptStruct ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InScriptStruct )


description: Returns the index of a register based on the register name. Note: This only works ifSupportsNames()== true

code: int32 GetIndex ( const [FName](API\Runtime\Core\UObject\FName) & InName ) const


description: Returns the memory type of this container


description: Returns an argument for a given register. This is typically used to store a light weight address for use within a VM.

code: [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) GetOperand ( int32 InRegisterIndex, int32 InRegisterOffset )


code: [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) GetOperand ( int32 InRegisterIndex, const [FString](API\Runtime\Core\Containers\FString) & InSegmentPath, int32 InArrayElement )


description: Adds a register path and returns its index.

code: int32 GetOrAddRegisterOffset ( int32 InRegisterIndex, int32 InArrayElement )


code: int32 GetOrAddRegisterOffset ( int32 InRegisterIndex, const [FString](API\Runtime\Core\Containers\FString) & InSegmentPath, int32 InArrayElement )


code: int32 GetOrAddRegisterOffset ( int32 InRegisterIndex, [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InScriptStruct, const [FString](API\Runtime\Core\Containers\FString) & InSegmentPath, int32 InInitialOffset, int32 InElementSize )


description: Const accessor for a register based on index

code: const [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & GetRegister ( int32 InIndex ) const


description: Accessor for a register based on index

code: [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & GetRegister ( int32 InIndex )


description: Const accessor for a register based on an argument

code: const [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & GetRegister ( const [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) & InArg ) const


description: Accessor for a register based on an argument

code: [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & GetRegister ( const [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) & InArg )


description: Const accessor for a register based on a a name. note: only works ifSupportsNames()== true

code: const [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & GetRegister ( const [FName](API\Runtime\Core\UObject\FName) & InName ) const


description: Accessor for a register based on a a name. note: only works ifSupportsNames()== true

code: [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & GetRegister ( const [FName](API\Runtime\Core\UObject\FName) & InName )


description: Returns the script struct used for a given register (can be nullptr for non-struct-registers).

code: [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * GetScriptStruct ( const [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & Register ) const


description: Returns the script struct used for a given register index (can be nullptr for non-struct-registers).

code: [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * GetScriptStruct ( int32 InRegisterIndex, int32 InRegisterOffset ) const


code: void Load ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Returns true if a given name is available for a new register.

code: bool IsNameAvailable ( const [FName](API\Runtime\Core\UObject\FName) & InPotentialNewName ) const


description: Returns the number of registers in this container

code: int32 Num() const


code: [FRigVMMemoryContainer](API\Plugins\RigVM\RigVMCore\FRigVMMemoryContainer) & operator= ( const [FRigVMMemoryContainer](API\Plugins\RigVM\RigVMCore\FRigVMMemoryContainer) & InOther )


code: const [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & operator[] ( int32 InIndex ) const


description: Accessor for a register based on index

code: [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & operator[] ( int32 InIndex )


code: const [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & operator[] ( const [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) & InArg ) const


code: [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & operator[] ( const [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) & InArg )


code: const [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & operator[] ( const [FName](API\Runtime\Core\UObject\FName) & InName ) const


code: [FRigVMRegister](API\Plugins\RigVM\RigVMCore\FRigVMRegister) & operator[] ( const [FName](API\Runtime\Core\UObject\FName) & InName )


description: Resets the container but maintains storage.

code: void Reset()


code: void Save ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Sets the memory type. should only be used when the container is empty

code: void SetMemoryType ( [ERigVMMemoryType](API\Plugins\RigVM\RigVMCore\ERigVMMemoryType) InMemoryType )


description: Returns true if this container supports name based lookup

code: bool SupportsNames() const


code: FRigVMMemoryContainer ( bool bInUseNames )


description: Updates internal data for topological changes.

code: void UpdateRegisters()


code: FRigVMMemoryContainer ( const [FRigVMMemoryContainer](API\Plugins\RigVM\RigVMCore\FRigVMMemoryContainer) & Other )


className: FRigVMMemoryContainer

description: Arrays with a single slice are going to be stored as a FRigVMByteArray, [unit8], so for example for a float array in C++ it would be (TArrayParam). Single values with multiple slices are also going to be stored as a FRigVMByteArray, [unit8], so for example for a float array in C++ it would be (float Param). Arrays with multiple slices are going to be stored as a FRigVMNestedByteArray, [[unit8]], so for example for a float array in C++ it would be (TArrayParam).

bEncounteredErrorDuringLoad

type: bool

Data

type: TArray< uint8 >

MemoryType

type: ERigVMMemoryTyp...

NameMap

type: TMap<FName, in...

RegisterOffsets

type: TArray<FRigVMR...

ScriptStructs

type: TArray<TObject...


description:
Computes the data if necessary and returns true if the value is valid
True if the value of the handle is valid after the compute

code: bool ComputeLazyValueIfNecessary ( [FRigVMExtendedExecuteContext](API\Plugins\RigVM\RigVMCore\FRigVMExtendedExecuteContext) & Context, int32 InSliceIndex )


description:
Returns the cached pointer stored within the handle.
The traversed memory cached by this handle.

code: uint8 * GetData ( bool bFollowPropertyPath, int32 InSliceIndex )


description:
Computes the data if necessary and returns the cached pointer stored within the handle.
The traversed memory cached by this handle (const)

code: const uint8 * GetData ( bool bFollowPropertyPath, int32 InSliceIndex ) const


description: Returns the head property of this handle.

code: const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * GetProperty() const


code: template<typename ComputedType> [TRigVMLazyValue](API\Plugins\RigVM\RigVMCore\TRigVMLazyValue)< ComputedType > GetDataLazily ( bool bFollowPropertyPath, int32 InSliceIndex ) const


description: Returns the [optional] property path used within this handle.

code: const [FRigVMPropertyPath](API\Plugins\RigVM\RigVMCore\FRigVMPropertyPath) * GetPropertyPath() const


description: Returns the [optional] property path used within this handle (ref)

code: const [FRigVMPropertyPath](API\Plugins\RigVM\RigVMCore\FRigVMPropertyPath) & GetPropertyPathRef() const


description: Returns the resolved property the data is pointing to.

code: const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * GetResolvedProperty ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a bool property.

code: bool IsBool ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a double property.

code: bool IsDouble ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a bool array property.

code: bool IsBoolArray ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to an enum property.

code: template<typename T> bool IsEnum ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a double array property.

code: bool IsDoubleArray ( bool bIsHiddenArgument ) const


code: bool IsEnum ( const [UEnum](API\Runtime\CoreUObject\UObject\UEnum) * InEnum, bool bIsHiddenArgument ) const


code: static bool IsEnum &40; const FProperty &42; InProperty, const UEnum &42; InEnum, bool bUseArrayElement &41;


description: Returns true if this memory handle maps to an enum array property.

code: template<typename T> bool IsEnumArray ( bool bIsHiddenArgument ) const


code: bool IsEnumArray ( const [UEnum](API\Runtime\CoreUObject\UObject\UEnum) * InEnum, bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a float property.

code: bool IsFloat ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a float array property.

code: bool IsFloatArray ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a int32 property.

code: bool IsInt32 ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a int32 array property.

code: bool IsInt32Array ( bool bIsHiddenArgument ) const


description:
Returns true if this memory handle depends on a lazily executed branch
True if this memory handle depends on a lazily executed branch

code: bool IsLazy() const


description: Returns true if this memory handle maps to anFNameproperty.

code: bool IsName ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to anFNamearray property.

code: bool IsNameArray ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to an object property.

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUClass](API\Plugins\RigVM\RigVMCore\CRigVMUClass), T >>::Type *> bool IsObject ( bool bIsHiddenArgument ) const


code: bool IsObject ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * InClass, bool bIsHiddenArgument ) const


code: static bool IsObject &40; const FProperty &42; InProperty, const UClass &42; InClass, bool bUseArrayElement &41;


description: Returns true if this memory handle maps to an objct array property.

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUClass](API\Plugins\RigVM\RigVMCore\CRigVMUClass), T >>::Type *> bool IsObjectArray ( bool bIsHiddenArgument ) const


code: bool IsObjectArray ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) * InClass, bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a given array type of property.

code: template<typename PropertyType> bool IsPropertyArrayType ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a given type of property.

code: template<typename PropertyType> bool IsPropertyType ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to anFStringproperty.

code: bool IsString ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to anFStringarray property.

code: bool IsStringArray ( bool bIsHiddenArgument ) const


description: Returns true if this memory handle maps to a struct property.

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsBaseStructure](API\Plugins\RigVM\RigVMCore\TRigVMIsBaseStructure)< T >::Value, T >::Type *> bool IsStruct ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUStruct](API\Plugins\RigVM\RigVMCore\CRigVMUStruct), T >>::Type *> bool IsStruct ( bool bIsHiddenArgument ) const


code: bool IsStruct ( const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, bool bIsHiddenArgument ) const


code: static bool IsStruct &40; const FProperty &42; InProperty, const UScriptStruct &42; InScriptStruct, bool bUseArrayElement &41;


description: Returns true if this memory handle maps to a struct array property.

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsBaseStructure](API\Plugins\RigVM\RigVMCore\TRigVMIsBaseStructure)< T >::Value, T >::Type *> bool IsStructArray ( bool bIsHiddenArgument ) const


code: bool IsStructArray ( const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUStruct](API\Plugins\RigVM\RigVMCore\CRigVMUStruct), T >>::Type *> bool IsStructArray ( bool bIsHiddenArgument ) const


description: Returns true if the handle is of the given type

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TIsTArray_V< T >>::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsEnum](API\Runtime\Core\Templates\TIsEnum)< T >::Value >::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUClass](API\Plugins\RigVM\RigVMCore\CRigVMUClass), T >>::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsBool](API\Plugins\RigVM\RigVMCore\TRigVMIsBool)< T >::Value, T >::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsFloat](API\Plugins\RigVM\RigVMCore\TRigVMIsFloat)< T >::Value, T >::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsDouble](API\Plugins\RigVM\RigVMCore\TRigVMIsDouble)< T >::Value, T >::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsInt32](API\Plugins\RigVM\RigVMCore\TRigVMIsInt32)< T >::Value, T >::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsName](API\Plugins\RigVM\RigVMCore\TRigVMIsName)< T >::Value, T >::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsString](API\Plugins\RigVM\RigVMCore\TRigVMIsString)< T >::Value, T >::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsBaseStructure](API\Plugins\RigVM\RigVMCore\TRigVMIsBaseStructure)< T >::Value, T >::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUStruct](API\Plugins\RigVM\RigVMCore\CRigVMUStruct), T >>::Type *> bool IsType ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsBool](API\Plugins\RigVM\RigVMCore\TRigVMIsBool)< T >::Value, T >::Type *> bool IsTypeArray ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUClass](API\Plugins\RigVM\RigVMCore\CRigVMUClass), T >>::Type *> bool IsTypeArray ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsFloat](API\Plugins\RigVM\RigVMCore\TRigVMIsFloat)< T >::Value, T >::Type *> bool IsTypeArray ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsDouble](API\Plugins\RigVM\RigVMCore\TRigVMIsDouble)< T >::Value, T >::Type *> bool IsTypeArray ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsInt32](API\Plugins\RigVM\RigVMCore\TRigVMIsInt32)< T >::Value, T >::Type *> bool IsTypeArray ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsName](API\Plugins\RigVM\RigVMCore\TRigVMIsName)< T >::Value, T >::Type *> bool IsTypeArray ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsString](API\Plugins\RigVM\RigVMCore\TRigVMIsString)< T >::Value, T >::Type *> bool IsTypeArray ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsBaseStructure](API\Plugins\RigVM\RigVMCore\TRigVMIsBaseStructure)< T >::Value, T >::Type *> bool IsTypeArray ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUStruct](API\Plugins\RigVM\RigVMCore\CRigVMUStruct), T >>::Type *> bool IsTypeArray ( bool bIsHiddenArgument ) const


code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsEnum](API\Runtime\Core\Templates\TIsEnum)< T >::Value >::Type *> bool IsTypeArray ( bool bIsHiddenArgument ) const


description: Default constructor.

code: FRigVMMemoryHandle()


description: Constructor from complete data.

code: FRigVMMemoryHandle ( uint8 * InPtr, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, const [FRigVMPropertyPath](API\Plugins\RigVM\RigVMCore\FRigVMPropertyPath) * InPropertyPath, [FRigVMLazyBranch](API\Plugins\RigVM\RigVMCore\FRigVMLazyBranch) * InLazyBranch )


className: FRigVMMemoryHandle

description: TheFRigVMMemoryHandleis used to access the memory used within a URigMemoryStorage. The Memory Handle caches the pointer of the head property, and can rely on a RigVMPropertyPath to traverse towards a tail property. For example it can cache the pointer of aTArrayproperty's memory and use a property path of '[2].Translation.X' to retrieve the element 2's translation X float / double. Additionally theFRigVMMemoryHandlecan be used to access 'sliced' memory. Sliced memory in this case simply means another level of a nestedTArray. So a 'sliced' FTransform is stored as aTArray, which the handle can traverse into and return the memory of a specific FTransform within that array.

code: struct FRigVMMemoryHandle


className: FRigVMMemoryHandleArray

code: typedef [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FRigVMMemoryHandle](API\Plugins\RigVM\RigVMCore\FRigVMMemoryHandle) > FRigVMMemoryHandleArray


code: [FName](API\Runtime\Core\UObject\FName) Concat ( const [FName](API\Runtime\Core\UObject\FName) & InA, const [FName](API\Runtime\Core\UObject\FName) & InB )


code: bool Contains ( const [FName](API\Runtime\Core\UObject\FName) & InA, const [FName](API\Runtime\Core\UObject\FName) & InB, const [ESearchCase::Type](API\Runtime\Core\Misc\ESearchCase__Type) InSearchCase )


code: bool EndsWith ( const [FName](API\Runtime\Core\UObject\FName) & InA, const [FName](API\Runtime\Core\UObject\FName) & InB, const [ESearchCase::Type](API\Runtime\Core\Misc\ESearchCase__Type) InSearchCase )


code: const [TMap](API\Runtime\Core\Containers\TMap)< [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp), bool > & GetBoolCache() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) > GetBoolOps() const


code: [TArray](API\Runtime\Core\Containers\TArray)< bool > GetBoolValues() const


code: const [TMap](API\Runtime\Core\Containers\TMap)< [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp), [FName](API\Runtime\Core\UObject\FName) > & GetNameCache() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) > GetNameOps() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > GetNameValues() const


code: [FName](API\Runtime\Core\UObject\FName) Left ( const [FName](API\Runtime\Core\UObject\FName) & InA, const uint32 InCount )


code: [FName](API\Runtime\Core\UObject\FName) LeftChop ( const [FName](API\Runtime\Core\UObject\FName) & InA, const uint32 InCount )


code: [FName](API\Runtime\Core\UObject\FName) Replace ( const [FName](API\Runtime\Core\UObject\FName) & InA, const [FName](API\Runtime\Core\UObject\FName) & InB, const [FName](API\Runtime\Core\UObject\FName) & InC, const [ESearchCase::Type](API\Runtime\Core\Misc\ESearchCase__Type) InSearchCase )


code: [FName](API\Runtime\Core\UObject\FName) RightChop ( const [FName](API\Runtime\Core\UObject\FName) & InA, const uint32 InCount )


code: bool StartsWith ( const [FName](API\Runtime\Core\UObject\FName) & InA, const [FName](API\Runtime\Core\UObject\FName) & InB, const [ESearchCase::Type](API\Runtime\Core\Misc\ESearchCase__Type) InSearchCase )


className: FRigVMNameCache

code: class FRigVMNameCache


code: static [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) Concat ( const [FName](API\Runtime\Core\UObject\FName) & InA, const [FName](API\Runtime\Core\UObject\FName) & InB )


code: static [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) Contains ( const [FName](API\Runtime\Core\UObject\FName) & InA, const [FName](API\Runtime\Core\UObject\FName) & InB, const [ESearchCase::Type](API\Runtime\Core\Misc\ESearchCase__Type) InSearchCase )


code: static [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) EndsWith ( const [FName](API\Runtime\Core\UObject\FName) & InA, const [FName](API\Runtime\Core\UObject\FName) & InB, const [ESearchCase::Type](API\Runtime\Core\Misc\ESearchCase__Type) InSearchCase )


code: static uint32 GetTypeHash ( const [FName](API\Runtime\Core\UObject\FName) & InName )


code: static [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) Left ( const [FName](API\Runtime\Core\UObject\FName) & InA, const uint32 InCount )


code: [FName](API\Runtime\Core\UObject\FName) Right ( const [FName](API\Runtime\Core\UObject\FName) & InA, const uint32 InCount )


code: static [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) LeftChop ( const [FName](API\Runtime\Core\UObject\FName) & InA, const uint32 InCount )


code: bool operator== ( const [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) & Other ) const


code: bool operator< ( const [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) & Other ) const


code: bool operator!= ( const [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) & Other ) const


code: static [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) Replace ( const [FName](API\Runtime\Core\UObject\FName) & InA, const [FName](API\Runtime\Core\UObject\FName) & InB, const [FName](API\Runtime\Core\UObject\FName) & InC, const [ESearchCase::Type](API\Runtime\Core\Misc\ESearchCase__Type) InSearchCase )


code: static [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) RightChop ( const [FName](API\Runtime\Core\UObject\FName) & InA, const uint32 InCount )


code: static [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) Right ( const [FName](API\Runtime\Core\UObject\FName) & InA, const uint32 InCount )


code: bool operator> ( const [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) & Other ) const


code: static [FRigVMNameOp](API\Plugins\RigVM\RigVMCore\FRigVMNameOp) StartsWith ( const [FName](API\Runtime\Core\UObject\FName) & InA, const [FName](API\Runtime\Core\UObject\FName) & InB, const [ESearchCase::Type](API\Runtime\Core\Misc\ESearchCase__Type) InSearchCase )


className: FRigVMNestedByteArray

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMByteArray](API\Plugins\RigVM\RigVMCore\FRigVMByteArray) > FRigVMNestedByteArray


description: Returns the index of the container of this argument this function should be kept in sync with URigVM::GetContainerIndex()

code: int32 GetContainerIndex() const


description: Returns the memory type of this argument


description: Returns the index of the register of this argument

code: int32 GetRegisterIndex() const


description: Returns the register offset of this argument

code: int32 GetRegisterOffset() const


code: bool IsValid() const


code: void Load ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: bool operator== ( const [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) & InOther ) const


code: bool operator!= ( const [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) & InOther ) const


code: void Save ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar ) const


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: FRigVMOperand ( [ERigVMMemoryType](API\Plugins\RigVM\RigVMCore\ERigVMMemoryType) InMemoryType, int32 InRegisterIndex, int32 InRegisterOffset )


className: FRigVMOperand

description: TheFRigVMOperandrepresents an argument used for an operator within the virtual machine. Operands provide information about which memory needs to be referred to, which register within the memory all the way to the actual byte address in memory. TheFRigVMOperandis a light weight address for a register in aFRigVMMemoryContainer. For external variables the register index represents the index of the external variable within the running VM.


className: FRigVMOperandArray

code: typedef [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) > FRigVMOperandArray


description: Returns the cpp type of the parameter


description: Returns the name of this parameters

code: const [FName](API\Runtime\Core\UObject\FName) & GetName() const


description: Returns the register index of this parameter in the work memory


description: Returns the script struct used by this parameter (in case it is a struct)

code: [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * GetScriptStruct() const


description: Returns the type of this parameter


description: Returns true if the parameter is valid


code: void Save ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: FRigVMParameter &40; ERigVMParameterType InType, const FName & InName, int32 InRegisterIndex, const FString & InCPPType, UScriptStruct &42; InScriptStruct &41;


className: FRigVMParameter

description: The RigVMParameter define an input or output of the RigVM. Parameters are mapped to work state memory registers and can be used to set input parameters as well as retrieve output parameters.


className: FRigVMPeformUserWorkflowDynamicDelegate


className: FRigVMPerformUserWorkflowDelegate

code: typedef TBaseDelegate_TwoParams< bool, const [URigVMUserWorkflowOptions](API\Plugins\RigVM\RigVMCore\URigVMUserWorkflowOptions) *, [UObject](API\Runtime\CoreUObject\UObject\UObject) * > FRigVMPerformUserWorkflowDelegate


code: [ERigVMExecuteResult](API\Plugins\RigVM\RigVMCore\ERigVMExecuteResult) Execute ( [FRigVMExtendedExecuteContext](API\Plugins\RigVM\RigVMCore\FRigVMExtendedExecuteContext) & Context )


className: FRigVMPredicateBranch

description: A description of a predicate branch in the VM's bytecode.

BranchInfo

type: FRigVMBranchInf...

MemoryHandles

type: FRigVMMemoryHan...

VM

type: URigVM*


className: ArrayPrefix

code: static const [FString](API\Runtime\Core\Containers\FString) ArrayPrefix = TEXT("TArray<");


className: ContainerSuffix

code: static const [FString](API\Runtime\Core\Containers\FString) ContainerSuffix = TEXT(">");


description: Returns the CPP type of the tail property, for ex: '[2].Translation' it is 'FVector'.


description: Returns true if this property description is valid.


className: MapPrefix

code: static const [FString](API\Runtime\Core\Containers\FString) MapPrefix = TEXT("TMap<");


description: Sanitize the name of this description in line.

code: void SanitizeName()


description: Returns a sanitized, valid name to use for a new property.

code: static [FName](API\Runtime\Core\UObject\FName) SanitizeName ( const [FName](API\Runtime\Core\UObject\FName) & InName )


description: Default constructor.

code: FRigVMPropertyDescription()


description: Constructor from an existing property.

code: FRigVMPropertyDescription ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, const [FString](API\Runtime\Core\Containers\FString) & InDefaultValue, const [FName](API\Runtime\Core\UObject\FName) & InName )


description: Constructor from complete data.

code: FRigVMPropertyDescription ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [FString](API\Runtime\Core\Containers\FString) & InCPPType, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InCPPTypeObject, const [FString](API\Runtime\Core\Containers\FString) & InDefaultValue )


className: FRigVMPropertyDescription

description: The property description is used to provide all required information to create a property for the memory storage class.

code: struct FRigVMPropertyDescription

Containers

type: TArray< EPinCon...

description: A list of containers to use for this property, for example [Array, Array].

CPPType

description: The complete CPP type to base a new property off of (for ex: 'TArray<TArray>')

CPPTypeObject

type: UObject*

description: The tail CPP Type object, for example theUScriptStructfor a struct.

DefaultValue

description: The default value to use for this property (for example: '(((X=1.000000, Y=2.000000, Z=3.000000)))')

Name

type: FName

description: The name of the property to create.

Property

type: constFProperty...

description: The property to base a new property off of.


className: Empty

description: Static empty property path (used for comparisons)


description: Accessor for traversing the path and returning the memory of the tail

code: template<typename T> T * GetData ( uint8 * InPtr, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty ) const


description: Returns the property of the last segment.

code: const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * GetTailProperty() const


description: Returns true if the property is empty (no segments)

code: bool IsEmpty() const


description: Returns true if the property path is valid (has any segments)

code: bool IsValid() const


description: Returns the number of segments.

code: int32 Num() const


code: bool operator== ( const [FRigVMPropertyPath](API\Plugins\RigVM\RigVMCore\FRigVMPropertyPath) & Other ) const


code: bool operator> ( const [FRigVMPropertyPath](API\Plugins\RigVM\RigVMCore\FRigVMPropertyPath) & Other ) const


code: bool operator< ( const [FRigVMPropertyPath](API\Plugins\RigVM\RigVMCore\FRigVMPropertyPath) & Other ) const


code: bool operator!= ( const [FRigVMPropertyPath](API\Plugins\RigVM\RigVMCore\FRigVMPropertyPath) & Other ) const


description: Indexbased access operator for a segment.

code: const [FRigVMPropertyPathSegment](API\Plugins\RigVM\RigVMCore\FRigVMPropertyPathSegment) & operator[] ( int32 InIndex ) const


description: Returns the property path as a string (the sanitized SegmentPath)

code: const [FString](API\Runtime\Core\Containers\FString) & ToString() const


description: Default constructor.

code: FRigVMPropertyPath()


description: Constructor from complete data

code: FRigVMPropertyPath ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty, const [FString](API\Runtime\Core\Containers\FString) & InSegmentPath )


className: FRigVMPropertyPath

description: The RigVMPropertyPath is used to access a memory pointer for a tail property given the memory of the head property. A property path allows to traverse struct members, array elements and map values. For example given an array of transforms the property path '[2].Translation.X' is represented as three segments (1 array element and 2 struct members).

code: class FRigVMPropertyPath


description: Returns true if this property path is valid


description: Default constructor.

code: FRigVMPropertyPathDescription()


description: Constructor from complete data.

code: FRigVMPropertyPathDescription ( int32 InPropertyIndex, const [FString](API\Runtime\Core\Containers\FString) & InHeadCPPType, const [FString](API\Runtime\Core\Containers\FString) & InSegmentPath )


className: FRigVMPropertyPathDescription

description: The RigVMPropertyPathDescription is used to provide all of the information necessary to describe a property path for creating it. This is used by the RigVMCompiler, which collects all descriptions first and then passes them onto the RigVMStorageGeneratorClass for construction. Furthermore the RigVMPropertyPathDescription is used to serialize property paths and recreate them on load.

code: struct FRigVMPropertyPathDescription

HeadCPPType

type: FString

description: The CPP type of the head property. For Transform.Translation.X the HeadCPPType is 'FTransform'

PropertyIndex

description: The index of the property this property path belongs to.

SegmentPath

description: The segment path of the properties below the head property.


className: FRigVMPropertyPathSegment

description: The RigVMPropertyPathSegment represents a single step needed to go from the head property of a property path to the tail.

code: struct FRigVMPropertyPathSegment

Index

description: The index of the segment - used to represent the array index for array elements.

Name

description: The name of the segment - can be the name of the struct member of key for a map element.

Property

description: The property for this segment - on the chain towards the tail property.

Type

type: ERigVMPropertyP...

description: The type of segment / step.


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: FRigVMQuaternaryOp ( [ERigVMOpCode](API\Plugins\RigVM\RigVMCore\ERigVMOpCode) InOpCode, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgA, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgB, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgC, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgD )


className: FRigVMQuaternaryOp

description: Operator used for some array operations

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FRigVMQuaternaryOp : public [FRigVMBaseOp](API\Plugins\RigVM\RigVMCore\FRigVMBaseOp)

ArgA

type: FRigVMOperand


code: FRigVMQuinaryOp ( [ERigVMOpCode](API\Plugins\RigVM\RigVMCore\ERigVMOpCode) InOpCode, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgA, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgB, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgC, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgD, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgE )


className: FRigVMQuinaryOp

description: Operator used for some array operations

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FRigVMQuinaryOp : public [FRigVMBaseOp](API\Plugins\RigVM\RigVMCore\FRigVMBaseOp)


description: Returns the leading alignment bytes.

code: uint8 GetAlignmentBytes() const


description: Returns the number of allocated bytes (including alignment + trailing bytes)

code: uint16 GetAllocatedBytes() const


description: Returns the first allocated byte in the data byte array

code: uint64 GetFirstAllocatedByte() const


description: Returns the number of bytes for all slices.

code: uint16 GetNumBytesAllSlices() const


description: Returns the number of bytes for a complete slice.

code: uint16 GetNumBytesPerSlice() const


description: Returns the total number of elements (elementcount * slicecount) in the register.

code: uint32 GetTotalElementCount() const


description: Returns the current address of the register within the data byte array. this can change over time - as the register is moving through slices. use GetFirstAllocatedByte to get the fixed first byte.

code: uint64 GetWorkByteIndex ( int32 InSliceIndex ) const


description: Returns true if the register stores more than one element.

code: bool IsArray() const


description: Returns true if this register is using a dynamic array for storage

code: bool IsDynamic() const


code: bool IsNestedDynamic() const


code: void Load ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: void Save ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


className: FRigVMRegister

description: The register represents an address with the VM's memory. Within a register we can store arbitrary data, so it provides a series of properties to describe the memory location. Registers also support the notion of slices. A slice is a complete copy of the memory - so for example if your register stores 4 Vectors, then a slice would contain 48 bytes (4 * 3 * 4). The register can however store multiple slices / copies of that if needed. Slices can be used to provide per-invocation memory to functions within the same register. An integrator for example that needs to store a simulated position might want access to a separate memory per loop iteration.

AlignmentBytes

description: The number of leading bytes for alignment.

BaseCPPType

description: Defines the CPP type used for the register This is only used for debugging purposes in editor.

BaseCPPTypeObject

type: TObjectPtr<UOb...

description: The resolvedUScriptStruct/UObject(in the future) used for debugging.

bIsArray

description: If true defines this register as an array.

bIsDynamic

description: If true defines this register to use dynamic storage.

ByteIndex

description: The index of the first work byte.

ElementCount

description: The number of elements in this register (for example the number of elements in an array)

ElementSize

description: The size of each store element (for example 4 for a float)

Name

description: The name of the register (can be None)

ScriptStructIndex

description: For struct registers this is the index of the struct used - otherwise INDEX_NONE

SliceCount

description: The number of slices (complete copies) (for example the number of iterations on a fixed loop) Potentially redundant state - can be removed.

TrailingBytes

description: The number of trailing bytes.

Type

type: ERigVMRegisterT...

description: The type of register (plain, name, string, etc.)


description: Returns true if this register offset contains an array segment. this means the register offset has to traverse a pointer and cannot be cached / collapsed easily

code: bool ContainsArraySegment() const


description: Returns the data pointer within a container

code: uint8 * GetData ( uint8 * InContainer ) const


code: [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * GetScriptStruct() const


description: Returns the segments of this path

code: const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & GetSegments() const


code: bool operator== ( const [FRigVMRegisterOffset](API\Plugins\RigVM\RigVMCore\FRigVMRegisterOffset) & InOther ) const


code: void SetElementSize ( uint16 InElementSize )


description: Default constructor

code: FRigVMRegisterOffset()


description: Constructs a path given a struct and a segment path

code: FRigVMRegisterOffset ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InScriptStruct, const [FString](API\Runtime\Core\Containers\FString) & InSegmentPath, int32 InInitialOffset, uint16 InElementSize, const [FName](API\Runtime\Core\UObject\FName) & InCPPType )


className: FRigVMRegisterOffset

description: The register offset represents a memory offset within a register's memory. This can be used to represent memory addresses of array elements within a struct, for example. A register offset's path can look like MyTransformStruct.Transforms[3].Translation.X


description: Pure virtual that must be overloaded by the inheriting class. Use this method to serialize any UObjects contained that you wish to keep around.

code: virtual void AddReferencedObjects ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


description: Adds a new template given its arguments.

code: const [FRigVMTemplate](API\Plugins\RigVM\RigVMCore\FRigVMTemplate) * AddTemplateFromArguments ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMTemplateArgument](API\Plugins\RigVM\RigVMCore\FRigVMTemplateArgument) > & InArguments, const [FRigVMTemplateDelegates](API\Plugins\RigVM\RigVMCore\FRigVMTemplateDelegates) & InDelegates )


description: Returns true if the types can be matched.

code: bool CanMatchTypes ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndexA, [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndexB, bool bAllowFloatingPointCasts ) const


description: Converts the given execute context type to the base execute context type.

code: bool ConvertExecuteContextToBaseType ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) & InOutTypeIndex ) const


description: Returns a dispatch factory given its name (or nullptr)

code: [FRigVMDispatchFactory](API\Plugins\RigVM\RigVMCore\FRigVMDispatchFactory) * FindDispatchFactory ( const [FName](API\Runtime\Core\UObject\FName) & InFactoryName ) const


description: Returns the function given its name (or nullptr)

code: const [FRigVMFunction](API\Plugins\RigVM\RigVMCore\FRigVMFunction) * FindFunction ( const TCHAR * InName ) const


description: Returns the function given its backing up struct and method name.

code: const [FRigVMFunction](API\Plugins\RigVM\RigVMCore\FRigVMFunction) * FindFunction ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, const TCHAR * InName ) const


description: Returns a dispatch factory given its static struct (or nullptr)

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUStruct](API\Plugins\RigVM\RigVMCore\CRigVMUStruct), T >>::Type *> [FRigVMDispatchFactory](API\Plugins\RigVM\RigVMCore\FRigVMDispatchFactory) * FindOrAddDispatchFactory()


code: [FRigVMDispatchFactory](API\Plugins\RigVM\RigVMCore\FRigVMDispatchFactory) * FindOrAddDispatchFactory ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InFactoryStruct )


description: Returns a dispatch factory's singleton function name if that exists.

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUStruct](API\Plugins\RigVM\RigVMCore\CRigVMUStruct), T >>::Type *> [FString](API\Runtime\Core\Containers\FString) FindOrAddSingletonDispatchFunction()


code: [FString](API\Runtime\Core\Containers\FString) FindOrAddSingletonDispatchFunction ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InFactoryStruct )


description: Returns a template pointer given its notation (or nullptr)

code: const [FRigVMTemplate](API\Plugins\RigVM\RigVMCore\FRigVMTemplate) * FindTemplate ( const [FName](API\Runtime\Core\UObject\FName) & InNotation, bool bIncludeDeprecated ) const


description: Adds a type if it doesn't exist yet and returns its index. This function is not thead-safe

code: [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) FindOrAddType ( const [FRigVMTemplateArgumentType](API\Plugins\RigVM\RigVMCore\FRigVMTemplateArgumentType) & InType )


description: Returns the type given only its cpp type.

code: const [FRigVMTemplateArgumentType](API\Plugins\RigVM\RigVMCore\FRigVMTemplateArgumentType) & FindTypeFromCPPType ( const [FString](API\Runtime\Core\Containers\FString) & InCPPType ) const


className: FOnRigVMRegistryChanged

code: typedef TMulticastDelegate_NoParams< void > FOnRigVMRegistryChanged


description: Returns the singleton registry.

code: static [FRigVMRegistry](API\Plugins\RigVM\RigVMCore\FRigVMRegistry) & Get()


description: Returns the dimensions of the array.

code: int32 GetArrayDimensionsForType ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndex ) const


description: Returns the type index of the array matching the given element type index.

code: [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) GetArrayTypeFromBaseTypeIndex ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndex ) const


description: Returns the type index of the element matching the given array type index.

code: [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) GetBaseTypeFromArrayTypeIndex ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndex ) const


description: Returns the list of compatible types for a given type.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) > & GetCompatibleTypes ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndex ) const


description: Returns all dispatch factories.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMDispatchFactory](API\Plugins\RigVM\RigVMCore\FRigVMDispatchFactory) * > & GetFactories() const


code: uint32 GetHashForEnum ( const [UEnum](API\Runtime\CoreUObject\UObject\UEnum) * InEnum, bool bCheckTypeIndex ) const


code: uint32 GetHashForProperty ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * InProperty ) const


code: uint32 GetHashForScriptStruct ( const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InScriptStruct, bool bCheckTypeIndex ) const


code: uint32 GetHashForStruct ( const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InStruct ) const


description: Returns all current rigvm functions.

code: const [TChunkedArray](API\Runtime\Core\Containers\TChunkedArray)< [FRigVMFunction](API\Plugins\RigVM\RigVMCore\FRigVMFunction) > & GetFunctions() const


description: Returns a unique hash per type index.

code: uint32 GetHashForType ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndex ) const


code: static const [TArray](API\Runtime\Core\Containers\TArray)< [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * > & GetMathTypes()


description: Defines and retrieves a template given its arguments.

code: const [FRigVMTemplate](API\Plugins\RigVM\RigVMCore\FRigVMTemplate) * GetOrAddTemplateFromArguments ( const [FName](API\Runtime\Core\UObject\FName) & InName, const [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMTemplateArgument](API\Plugins\RigVM\RigVMCore\FRigVMTemplateArgument) > & InArguments, const [FRigVMTemplateDelegates](API\Plugins\RigVM\RigVMCore\FRigVMTemplateDelegates) & InDelegates )


description: Given a struct name, return the predicates.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMFunction](API\Plugins\RigVM\RigVMCore\FRigVMFunction) > * GetPredicatesForStruct ( const [FName](API\Runtime\Core\UObject\FName) & InStructName ) const


description: Overload this method to report a name for your referencer

code: virtual [FString](API\Runtime\Core\Containers\FString) GetReferencerName() const


description: Returns all current rigvm functions.

code: const [TChunkedArray](API\Runtime\Core\Containers\TChunkedArray)< [FRigVMTemplate](API\Plugins\RigVM\RigVMCore\FRigVMTemplate) > & GetTemplates() const


description: Returns the type given its index.

code: const [FRigVMTemplateArgumentType](API\Plugins\RigVM\RigVMCore\FRigVMTemplateArgumentType) & GetType ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndex ) const


description: Returns the type index given a type.

code: [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) GetTypeIndex ( const [FRigVMTemplateArgumentType](API\Plugins\RigVM\RigVMCore\FRigVMTemplateArgumentType) & InType ) const


description: Returns the type index given an enum.

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsEnum](API\Runtime\Core\Templates\TIsEnum)< T >::Value >::Type *> [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) GetTypeIndex ( bool bAsArray ) const


description: Returns the type index given a struct.

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TRigVMIsBaseStructure](API\Plugins\RigVM\RigVMCore\TRigVMIsBaseStructure)< T >::Value, T >::Type *> [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) GetTypeIndex ( bool bAsArray ) const


description: Returns the type index given a struct.

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUStruct](API\Plugins\RigVM\RigVMCore\CRigVMUStruct), T >>::Type *> [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) GetTypeIndex ( bool bAsArray ) const


description: Returns the type index given an object.

code: template<typename T, typename [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< TModels_V< [CRigVMUClass](API\Plugins\RigVM\RigVMCore\CRigVMUClass), T >>::Type *> [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) GetTypeIndex ( bool bAsArray ) const


description: Returns the type index given a cpp type and a type object.

code: [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) GetTypeIndex ( const [FName](API\Runtime\Core\UObject\FName) & InCPPType, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InCPPTypeObject ) const


description: Returns the type index given only its cpp type.

code: [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) GetTypeIndexFromCPPType ( const [FString](API\Runtime\Core\Containers\FString) & InCPPType ) const


description: Returns all compatible types given a category.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) > & GetTypesForCategory ( [FRigVMTemplateArgument::ETypeCategory](API\Plugins\RigVM\RigVMCore\FRigVMTemplateArgument\ETypeCategory) InCategory ) const


description: Initializes the registry by storing the defaults.

code: void InitializeIfNeeded()


description: Returns true if the type is an array.

code: bool IsArrayType ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndex ) const


description: Returns true if the type is a wildcard type.

code: bool IsWildCardType ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndex ) const


description: Returns true if the type is an execute type.

code: bool IsExecuteType ( [TRigVMTypeIndex](API\Plugins\RigVM\RigVMCore\TRigVMTypeIndex) InTypeIndex ) const


description: Returns the number of types.

code: int32 NumTypes() const


description: Update the registry when old types are removed.

code: void OnAssetRemoved ( const [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) & InAssetData )


description: Update the registry when new types are added to the attribute system so that they can be selected on Attribute Nodes

code: void OnAnimationAttributeTypesChanged ( const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, bool bIsAdded )


description: Update the registry when types are renamed.

code: void OnAssetRenamed ( const [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) & InAssetData, const [FString](API\Runtime\Core\Containers\FString) & InOldObjectPath )


description: Notifies other system that types have been added/removed, and template permutations have been updated.


description: Refreshes the list and finds the function pointers based on the names.

code: void RefreshEngineTypes()


description: Registers a function given its name. The name will be the name of the struct and virtual method, for example "FMyStruct::MyVirtualMethod"

code: void Register ( const TCHAR * InName, [FRigVMFunctionPtr](API\Plugins\RigVM\RigVMCore\FRigVMFunctionPtr) InFunctionPtr, [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, const [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMFunctionArgument](API\Plugins\RigVM\RigVMCore\FRigVMFunctionArgument) > & InArguments )


description: Registers a dispatch factory given its struct.

code: const [FRigVMDispatchFactory](API\Plugins\RigVM\RigVMCore\FRigVMDispatchFactory) * RegisterFactory ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InFactoryStruct )


description: Register a predicate contained in the input struct.

code: void RegisterPredicate ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, const TCHAR * InName, const [TArray](API\Runtime\Core\Containers\TArray)< [FRigVMFunctionArgument](API\Plugins\RigVM\RigVMCore\FRigVMFunctionArgument) > & InArguments )


description: Removes a type from the registry, and updates all dependent templates which also creates invalid permutations in templates that we should ignore

code: bool RemoveType ( const [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) & InAssetData )


description: Clear the registry.

code: void Reset()


className: TemplateNameMetaName

code: static const [FName](API\Runtime\Core\UObject\FName) TemplateNameMetaName = TEXT("TemplateName");


className: FRigVMRegistry

description: No constructors are accessible with public or protected access.

code: struct FRigVMRegistry : public [FGCObject](API\Runtime\CoreUObject\UObject\FGCObject)


className: FRigVMReportDelegate

code: typedef TBaseDelegate_ThreeParams< void, [EMessageSeverity::Type](API\Runtime\Core\Logging\EMessageSeverity__Type), [UObject](API\Runtime\CoreUObject\UObject\UObject) *, const [FString](API\Runtime\Core\Containers\FString) & > FRigVMReportDelegate


className: LogFunctionType

description: The function to use for logging anything from the VM to the host

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([EMessageSeverity::Type](API\Runtime\Core\Logging\EMessageSeverity__Type), const [FRigVMExecuteContext](API\Plugins\RigVM\RigVMCore\FRigVMExecuteContext) *, const [FString](API\Runtime\Core\Containers\FString) &)> LogFunctionType


code: void SetLogFunction ( [LogFunctionType](API\Plugins\RigVM\RigVMCore\FRigVMRuntimeSettings\LogFunctionType) InLogFunction )


description: Validate the settings

code: void Validate()


className: FRigVMRuntimeSettings

bEnableProfiling

type: bool

description: When enabled records the timing of each instruction / node on each node and within the execution stack window.

LogFunction

type: TSharedPtr<Log...

MaximumArraySize

description: The largest allowed size for arrays within the RigVM.


code: void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: FRigVMSenaryOp ( [ERigVMOpCode](API\Plugins\RigVM\RigVMCore\ERigVMOpCode) InOpCode, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgA, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgB, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgC, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgD, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgE, [FRigVMOperand](API\Plugins\RigVM\RigVMCore\FRigVMOperand) InArgF )


className: FRigVMSenaryOp

description: Operator used for some array operations

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)() struct FRigVMSenaryOp : public [FRigVMBaseOp](API\Plugins\RigVM\RigVMCore\FRigVMBaseOp)


className: FRigVMSlice::operator bool

code: operator bool() const


className: FRigVMSlice::operator int32

code: operator int32() const


code: [FRigVMSlice](API\Plugins\RigVM\RigVMCore\FRigVMSlice) operator++ ( int32 )


code: void SetInstructionIndex ( int32 InInstructionIndex )


code: void SetOffset ( int32 InSliceOffset )


code: void SetRelativeIndex ( int32 InIndex )


className: AbstractMetaName

code: static const [FName](API\Runtime\Core\UObject\FName) AbstractMetaName;


className: FRigVMStatistics

ByteCode

type: FRigVMByteCodeS...

DebugMemory

type: FRigVMMemorySta...


code: bool ApplyUpgradeInfo ( const [FRigVMStructUpgradeInfo](API\Plugins\RigVM\RigVMCore\FRigVMStructUpgradeInfo) & InUpgradeInfo )


className: ArraySizeMetaName

code: static const [FName](API\Runtime\Core\UObject\FName) ArraySizeMetaName;


className: AggregateMetaName

code: static const [FName](API\Runtime\Core\UObject\FName) AggregateMetaName;


code: virtual bool CanOnlyExistOnce() const


className: CategoryMetaName

code: static const [FName](API\Runtime\Core\UObject\FName) CategoryMetaName;


code: static bool CheckFunctionExists ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, const [FName](API\Runtime\Core\UObject\FName) & FunctionName, [FString](API\Runtime\Core\Containers\FString) * OutErrorMessage )


code: static bool CheckPinDirection ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, const [FName](API\Runtime\Core\UObject\FName) & PinName, const [FName](API\Runtime\Core\UObject\FName) & InDirectionMetaName )


code: static bool CheckMetadata ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, const [FName](API\Runtime\Core\UObject\FName) & PinName, const [FName](API\Runtime\Core\UObject\FName) & InMetadataKey, [FString](API\Runtime\Core\Containers\FString) * OutErrorMessage )


code: static bool CheckPinExists ( [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * InStruct, const [FName](API\Runtime\Core\UObject\FName) & PinName, const [FString](API\Runtime\Core\Containers\FString) & ExpectedType, [FString](API\Runtime\Core\Containers\FString) * OutErrorMessage )