Navigation
API > API/Plugins > API/Plugins/RigVM
| Name | URigVMHost |
| Type | class |
| Header File | /Engine/Plugins/Runtime/RigVM/Source/RigVM/Public/RigVMHost.h |
| Include Path | #include "RigVMHost.h" |
Syntax
UCLASS (Abstract, EditInlineNew, MinimalAPI)
class URigVMHost :
public UObject ,
public IInterface_AssetUserData
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → URigVMHost
Implements Interfaces
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
URigVMHost
(
const FObjectInitializer& ObjectInitializer |
RigVMHost.h |
Classes
| Name | Remarks |
|---|---|
| FOnEndLoadPackage | Bindable event for external objects to be notified that a RigVMHost is fully end-loaded |
| FRigVMExecutedEvent | |
| FRigVMHostEarlyExitEvent |
Enums
Public
| Name | Remarks |
|---|---|
| EEarlyExitReason |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DrawContainer | FRigVMDrawContainer | RigVMHost.h | ||
| DrawInterface | FRigVMDrawInterface | The draw interface for the units to use | RigVMHost.h |
|
| EarlyExitEvent | FRigVMHostEarlyExitEvent | Broadcasts when the host cannot execute and needs to early exit during an evaluation | RigVMHost.h | |
| EventQueue | TArray< FName > | The event name used during an update | RigVMHost.h |
|
| EventQueueToRun | TArray< FName > | RigVMHost.h |
|
|
| EventsToRunOnce | TArray< FName > | RigVMHost.h | ||
| ExecutedEvent | FRigVMExecutedEvent | Broadcasts a notification whenever the RigVMHost is executed / updated. | RigVMHost.h | |
| InitializedEvent | FRigVMExecutedEvent | Broadcasts a notification whenever the RigVMHost's memory is initialized. | RigVMHost.h | |
| PreExecutedEvent | FRigVMExecutedEvent | Broadcasts a notification before the RigVMHost is executed / updated. | RigVMHost.h | |
| VMRuntimeSettings | FRigVMRuntimeSettings | RigVMHost.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bIsInDebugMode | bool | The current execution mode | RigVMHost.h |
|
| EndLoadPackageEvent | FOnEndLoadPackage | RigVMHost.h | ||
| EvaluateMutex | FTransactionallySafeCriticalSection | RigVMHost.h | ||
| EventQueueToRunOnceMutex | FTransactionallySafeCriticalSection | RigVMHost.h | ||
| RigVMExtendedExecuteContext | FRigVMExtendedExecuteContext * | RigVMHost.h | ||
| UserDefinedTypesInUse | TSet< TObjectPtr< UObject > > | RigVMHost.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AreNativizedVMsEnabled() |
RigVMHost.h | ||
void BroadCastEndLoadPackage() |
These are needed so that sequencer can have a chance to update its RigVMHost instances after the package is fully end-loaded | RigVMHost.h | |
bool CanSwapVMToNativized() |
RigVMHost.h | ||
void CopyExternalVariableDefaultValuesFromCDO() |
Copy the default values of external variables from the default object | RigVMHost.h | |
void DrawIntoCanvas
(
FCanvas* Canvas, |
RigVMHost.h | ||
void DrawIntoPDI
(
FPrimitiveDrawInterface* PDI, |
RigVMHost.h | ||
void EnableNativizedVM
(
bool bEnable |
RigVMHost.h | ||
bool ExecuteEvent
(
const FName& InEventName |
Execute a user defined event | RigVMHost.h |
|
float GetAbsoluteTime() |
Gets the current absolute time | RigVMHost.h |
|
float GetCurrentFramesPerSecond() |
Returns the current frames per second (this may change over time) | RigVMHost.h |
|
const FRigVMDebugInfo & GetDebugInfo () |
RigVMHost.h | ||
| RigVMHost.h | |||
FRigVMMemoryStorageStruct * GetDebugMemory
(
bool bCreateIfRequired |
The instanced debug watch memory. | RigVMHost.h | |
const FRigVMMemoryStorageStruct * GetDebugMemory () |
RigVMHost.h | ||
const FRigVMOperand * GetDebugOperandForOperand
(
const FRigVMOperand& InOperand |
RigVMHost.h | ||
float GetDeltaTime() |
Gets the current delta time | RigVMHost.h |
|
const FRigVMDrawContainer & GetDrawContainer () |
RigVMHost.h | ||
| RigVMHost.h | |||
| RigVMHost.h | |||
const FRigVMDrawInterface & GetDrawInterface () |
RigVMHost.h | ||
FTransactionallySafeCriticalSection & GetEvaluateMutex() |
Locks for the scope of Evaluate_AnyThread | RigVMHost.h | |
int32 GetEvaluationsLeft() |
Returns the number of evaluations left for this host or INDEX_NONE if the host can run indefinitely. | RigVMHost.h | |
| Returns the queue of events to run | RigVMHost.h | ||
FTransactionallySafeCriticalSection & GetEventQueueToRunOnceMutex() |
Lock for editing the event queue to run once | RigVMHost.h | |
TArray< FRigVMExternalVariable > GetExternalVariables() |
Returns the member properties as an external variable array | RigVMHost.h | |
TScriptInterface< IRigVMRuntimeAssetInterface > GetGeneratedByAsset() |
RigVMHost.h | ||
| The default const literal memory. | RigVMHost.h | ||
const FRigVMMemoryStorageStruct * GetLiteralMemory () |
RigVMHost.h | ||
| RigVMHost.h | |||
| RigVMHost.h | |||
| RigVMHost.h | |||
const FRigVMProfilingInfo & GetProfilingInfo () |
RigVMHost.h | ||
FRigVMExternalVariable GetPublicVariableByName
(
const FName& InVariableName |
Returns a public variable given its name | RigVMHost.h | |
TArray< FRigVMExternalVariable > GetPublicVariables() |
Returns the public member properties as an external variable array | RigVMHost.h | |
T GetPublicVariableValue
(
const FName& InVariableName |
RigVMHost.h | ||
| RigVMHost.h | |||
| RigVMHost.h | |||
| RigVMHost.h | |||
| Returns the names of variables accessible in scripting | RigVMHost.h |
|
|
| Returns the value of a given variable as a string | RigVMHost.h |
|
|
FRigVMExternalVariable GetVariableByName
(
const FName& InVariableName |
Returns a variable given its name | RigVMHost.h | |
uint8 * GetVariablesMemory() |
The memory where the variables are stored (for the BP-based host, the memory is this, for the BP-independent, it would be the raw ptr of the property bag) | RigVMHost.h | |
UStruct * GetVariablesStruct() |
The struct where the variable properties are defined (for the BP-based host, this would be GetClass, for the BP-independent, it would be the property bag struct) | RigVMHost.h | |
| Returns the type of a given variable | RigVMHost.h |
|
|
URigVM * GetVM() |
RigVMHost.h |
|
|
| The instanced mutable work memory. | RigVMHost.h | ||
const FRigVMMemoryStorageStruct * GetWorkMemory () |
RigVMHost.h | ||
bool HasEvaluationsLeft() |
Returns true if this host can run at least once | RigVMHost.h | |
void InstantiateVMFromCDO() |
Copy the VM from the default object | RigVMHost.h | |
bool IsEvaluating() |
Returns true if Evaluate_AnyThread is currently executing | RigVMHost.h | |
bool IsInDebugMode() |
RigVMHost.h | ||
bool IsProfilingEnabled() |
RigVMHost.h | ||
bool IsRunOnceEvent
(
const FName& InEventName |
Returns true if an event is queued to run once | RigVMHost.h | |
FRigVMHostEarlyExitEvent & OnEarlyExit_AnyThread() |
RigVMHost.h | ||
FOnEndLoadPackage & OnEndLoadPackage() |
RigVMHost.h | ||
FRigVMExecutedEvent & OnExecuted_AnyThread() |
RigVMHost.h | ||
FRigVMExecutedEvent & OnInitialized_AnyThread() |
RigVMHost.h | ||
FRigVMExecutedEvent & OnPreExecuted_AnyThread() |
RigVMHost.h | ||
bool RemoveRunOnceEvent
(
const FName& InEventName |
Removes an event running once | RigVMHost.h |
|
void ResetEvaluationsLeft() |
Reset the number of evaluations left and allow this host to run indefinitely | RigVMHost.h | |
| RigVMHost.h | |||
void SetAbsoluteAndDeltaTime
(
float InAbsoluteTime, |
Set the current absolute and delta times | RigVMHost.h |
|
void SetAbsoluteTime
(
float InAbsoluteTime, |
Set the current absolute time | RigVMHost.h |
|
void SetDeltaTime
(
float InDeltaTime |
Set the current delta time | RigVMHost.h |
|
void SetEvaluationsLeft
(
int32 InEvaluationsLeft |
Request to limit this hosts number of evaluations | RigVMHost.h | |
| Sets the queue of events to run | RigVMHost.h | ||
void SetFramesPerSecond
(
float InFramesPerSecond |
Set the current fps | RigVMHost.h |
|
void SetIsInDebugMode
(
const bool bValue |
RigVMHost.h | ||
void SetLog
(
FRigVMLog* InLog |
RigVMHost.h | ||
void SetPublicVariableValue
(
const FName& InVariableName, |
RigVMHost.h | ||
void SetRigVMExtendedExecuteContext
(
FRigVMExtendedExecuteContext* InRigVMExtendedExecuteContext |
RigVMHost.h | ||
| Returns the value of a given variable as a string | RigVMHost.h |
|
|
bool SupportsEvent () |
RigVMHost.h | ||
void SwapVMToNativizedIfRequired
(
UClass* InNativizedClass |
RigVMHost.h | ||
void UpdateVMSettings() |
Update the settings such as array bound and log facilities | RigVMHost.h |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Provides the chance to a subclass to modify the event queue as needed | RigVMHost.h | ||
virtual void AddAssetUserData
(
UAssetUserData* InUserData |
RigVMHost.h | ||
virtual bool CanExecute() |
Is valid for execution | RigVMHost.h |
|
virtual void Evaluate_AnyThread() |
Evaluate at Any Thread | RigVMHost.h | |
virtual bool Execute
(
const FName& InEventName |
Execute | RigVMHost.h |
|
virtual const TArray< UAssetUserData * > * GetAssetUserDataArray() |
RigVMHost.h | ||
virtual UAssetUserData * GetAssetUserDataOfClass
(
TSubclassOf< UAssetUserData > InUserDataClass |
RigVMHost.h | ||
virtual UObject * GetBoundOuterForTrace() |
Returns the bound outer this host is nested under. | RigVMHost.h | |
virtual const FRigVMMemoryStorageStruct * GetDefaultMemoryByType
(
ERigVMMemoryType InMemoryType |
Returns the compiler generated VM memory storage by type. | RigVMHost.h | |
virtual FRigVMExtendedExecuteContext & GetExtendedExecuteContext() |
Provide access to the ExtendedExecuteContext | RigVMHost.h |
|
virtual FRigVMMemoryStorageStruct * GetMemoryByType
(
ERigVMMemoryType InMemoryType |
Returns an instanced VM memory storage by type. | RigVMHost.h | |
virtual const FRigVMMemoryStorageStruct * GetMemoryByType
(
ERigVMMemoryType InMemoryType |
RigVMHost.h | ||
virtual FString GetName() |
RigVMHost.h | ||
virtual USceneComponent * GetOwningSceneComponent() |
RigVMHost.h | ||
virtual UScriptStruct * GetPublicContextStruct() |
Returns the public context script struct to use for this owner | RigVMHost.h | |
| RigVMHost.h |
|
||
virtual UWorld * GetWorld() |
UObject interface | RigVMHost.h | |
virtual void Initialize
(
bool bRequestInit |
Initialize things for the RigVM owner | RigVMHost.h | |
virtual bool InitializeVM
(
const FName& InEventName |
Initialize this Host VM Instance | RigVMHost.h | |
virtual void InvalidateCachedMemory() |
RigVMHost.h | ||
virtual bool IsInitRequired() |
Returns true if this host requires the VM memory to be initialized | RigVMHost.h |
|
virtual bool IsReadOnly() |
Returns true if this host is read only - so if it's not support to be mutated / changed | RigVMHost.h | |
virtual void PostInitInstanceIfRequired() |
RigVMHost.h | ||
virtual void RecreateCachedMemory() |
Regenerates cached handles after a structural change (i.e. new UUserStruct) | RigVMHost.h | |
virtual void RemoveUserDataOfClass
(
TSubclassOf< UAssetUserData > InUserDataClass |
RigVMHost.h | ||
virtual void RequestInit() |
Requests to perform an init during the next execution | RigVMHost.h |
|
virtual void RequestRunOnceEvent
(
const FName& InEventName, |
Requests to run an event once | RigVMHost.h |
|
virtual bool SupportsEvent
(
const FName& InEventName |
RigVMHost.h |
|
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginDestroy() |
RigVMHost.h | ||
virtual void PostDuplicate
(
bool bDuplicateForPIE |
RigVMHost.h | ||
virtual void PostEditImport() |
RigVMHost.h | ||
virtual void PostLoad() |
RigVMHost.h | ||
virtual void PreSave
(
FObjectPreSaveContext ObjectSaveContext |
RigVMHost.h | ||
virtual void Serialize
(
FArchive& Ar |
RigVMHost.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void GenerateUserDefinedDependenciesData
(
FRigVMExtendedExecuteContext& Context |
RigVMHost.h | ||
| RigVMHost.h | |||
URigVM * GetSourceVM() |
RigVMHost.h | ||
TArray< const UObject * > GetUserDefinedDependencies
(
const TArray< const FRigVMMemoryStorageStruct* > InMemory |
RigVMHost.h | ||
| RigVMHost.h | |||
| RigVMHost.h | |||
void HandleExecutionReachedExit
(
const FName& InEventName |
RigVMHost.h | ||
bool IsExecuting() |
RigVMHost.h | ||
bool IsInitializing() |
RigVMHost.h | ||
void LogOnce
(
EMessageSeverity::Type InSeverity, |
RigVMHost.h |
Protected Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CopyVMMemory
(
FRigVMExtendedExecuteContext& TargetContext, |
RigVMHost.h | ||
virtual bool Execute_Internal
(
const FName& InEventName |
ExecuteUnits | RigVMHost.h | |
virtual void GenerateRequiredPluginsData
(
FRigVMExtendedExecuteContext& Context |
RigVMHost.h | ||
virtual TArray< FRigVMExternalVariable > GetExternalVariablesImpl
(
bool bFallbackToBlueprint |
RigVMHost.h | ||
virtual bool InitializeCDOVM() |
Initialize the CDO VM | RigVMHost.h | |
virtual void InitializeFromCDO() |
RigVMHost.h | ||
virtual void PostInitInstance
(
URigVMHost* InCDO |
RigVMHost.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostInitProperties() |
RigVMHost.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void DeclareConstructClasses
(
TArray< FTopLevelAssetPath >& OutConstructClasses, |
RigVMHost.h | ||
static bool DisableExecution() |
RigVMHost.h | ||
static TArray< URigVMHost * > FindRigVMHosts
(
UObject* Outer, |
RigVMHost.h |
|
|
static bool IsGarbageOrDestroyed
(
const UObject* InObject |
RigVMHost.h |