Navigation
API > API/Plugins > API/Plugins/ActorModifierCore
This subsystem handle all modifiers stack active in the engine and allows to create modifiers with registered metadata
| Name | UActorModifierCoreSubsystem |
| Type | class |
| Header File | /Engine/Plugins/VirtualProduction/ActorModifierCore/Source/ActorModifierCore/Public/Subsystems/ActorModifierCoreSubsystem.h |
| Include Path | #include "Subsystems/ActorModifierCoreSubsystem.h" |
Syntax
UCLASS ()
class UActorModifierCoreSubsystem : public UEngineSubsystem
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → USubsystem → UDynamicSubsystem → UEngineSubsystem → UActorModifierCoreSubsystem
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UActorModifierCoreSubsystem() |
Subsystems/ActorModifierCoreSubsystem.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnModifierClassRegistered | TMulticastDelegate_OneParam< void, const FActorModifierCoreMetadata & > | Subsystems/ActorModifierCoreSubsystem.h | |
| FOnModifierReplaced | TMulticastDelegate_TwoParams< void, UActorModifierCoreBlueprintBase *, UActorModifierCoreBlueprintBase * > | Subsystems/ActorModifierCoreSubsystem.h | |
| FOnModifierStackRegistered | TMulticastDelegate_OneParam< void, const UActorModifierCoreStack * > | Subsystems/ActorModifierCoreSubsystem.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| BlueprintClass | const TCHAR * | Subsystems/ActorModifierCoreSubsystem.h | |
| OnModifierClassRegisteredDelegate | FOnModifierClassRegistered | Called when a modifier class is registered | Subsystems/ActorModifierCoreSubsystem.h |
| OnModifierClassUnregisteredDelegate | FOnModifierClassRegistered | Called when a modifier class is unregistered | Subsystems/ActorModifierCoreSubsystem.h |
| OnModifierReplacedDelegate | FOnModifierReplaced | Called when a blueprint modifier gets replaced | Subsystems/ActorModifierCoreSubsystem.h |
| OnModifierStackRegisteredDelegate | FOnModifierStackRegistered | Called when an actor modifier stack is registered | Subsystems/ActorModifierCoreSubsystem.h |
| OnModifierStackUnregisteredDelegate | FOnModifierStackRegistered | Called when an actor modifier stack is unregistered | Subsystems/ActorModifierCoreSubsystem.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UActorModifierCoreStack * AddActorModifierStack
(
AActor* InActor |
This is the correct way to add modifier component to a specific actor if it has none | Subsystems/ActorModifierCoreSubsystem.h | |
TArray< UActorModifierCoreBase * > AddActorsModifiers
(
const TSet< AActor* >& InActors, |
Add a modifier to actors, adds a stack automatically if none is found, will update the original array and perform a transaction if wanted | Subsystems/ActorModifierCoreSubsystem.h | |
TArray< UActorModifierCoreBase * > CloneModifiers
(
const TArray< UActorModifierCoreBase* >& InModifiers, |
Clone modifiers to a specific target modifier position, will perform menu action transaction if wanted | Subsystems/ActorModifierCoreSubsystem.h | |
bool EnableModifiers
(
const TSet< UActorModifierCoreBase* >& InModifiers, |
Enable or disable modifiers, will update the original array and perform a transaction if wanted | Subsystems/ActorModifierCoreSubsystem.h | |
bool ForEachModifierMetadata
(
TFunctionRef< bool(const FActorModifierCoreMetadata&)> InProcessFunction |
Loops through each registered modifier metadata, only used to read | Subsystems/ActorModifierCoreSubsystem.h | |
UActorModifierCoreStack * GetActorModifierStack
(
const AActor* InActor |
This is the correct way to retrieve a modifier stack for a specific actor if it has one | Subsystems/ActorModifierCoreSubsystem.h | |
TSet< FName > GetAllowedModifiers
(
AActor* InActor, |
Returns the modifiers names that are allowed for specific actor/stack and before another modifier | Subsystems/ActorModifierCoreSubsystem.h | |
TArray< UActorModifierCoreBase * > GetAllowedMoveModifiers
(
UActorModifierCoreBase* InMoveModifier |
Returns modifiers from the stack where we can move the provided modifier, required and dependent modifiers from this MoveModifier will not appear in the list | Subsystems/ActorModifierCoreSubsystem.h | |
| Returns the modifiers name that match a specific category | Subsystems/ActorModifierCoreSubsystem.h | ||
TSet< FName > GetHiddenModifiers() |
Returns the modifiers hidden to the user | Subsystems/ActorModifierCoreSubsystem.h | |
TSet< FName > GetModifierCategories() |
Returns the categories for all registered modifiers | Subsystems/ActorModifierCoreSubsystem.h | |
| Returns the category this modifier is in | Subsystems/ActorModifierCoreSubsystem.h | ||
UActorModifierCoreSharedObject * GetModifierSharedObject
(
ULevel* InLevel, |
Get modifier shared object from a specific level and class, only one or none can exists per level | Subsystems/ActorModifierCoreSubsystem.h | |
const AActor * GetModifierStackActor
(
const UActorModifierCoreStack* InStack |
Return the actor this stack is linked to | Subsystems/ActorModifierCoreSubsystem.h | |
TSubclassOf< UActorModifierCoreBase > GetRegisteredModifierClass
(
FName InModifierName |
Return the modifier class from the modifier name provided | Subsystems/ActorModifierCoreSubsystem.h | |
TSet< TSubclassOf< UActorModifierCoreBase > > GetRegisteredModifierClasses() |
Return a set of class for all modifiers registered | Subsystems/ActorModifierCoreSubsystem.h | |
| Return the modifier name or none from the modifier class provided | Subsystems/ActorModifierCoreSubsystem.h | ||
TSet< FName > GetRegisteredModifiers() |
Returns the name of modifiers that are currently registered | Subsystems/ActorModifierCoreSubsystem.h | |
void GetSortedModifiers
(
const TSet< UActorModifierCoreBase* >& InModifiers, |
Get order dependent modifiers in the correct order for stack operations | Subsystems/ActorModifierCoreSubsystem.h | |
UActorModifierCoreBase * InsertModifier
(
UActorModifierCoreStack* InStack, |
Insert a modifier in a stack before or after another modifier, will perform a transaction if wanted | Subsystems/ActorModifierCoreSubsystem.h | |
bool IsRegisteredModifierClass
(
const UClass* InClass |
Subsystems/ActorModifierCoreSubsystem.h | ||
bool IsRegisteredModifierClass
(
const FName& InName |
Subsystems/ActorModifierCoreSubsystem.h | ||
bool MoveModifier
(
UActorModifierCoreStack* InStack, |
Moves a modifier in a stack before or after another modifier, will perform a transaction if wanted | Subsystems/ActorModifierCoreSubsystem.h | |
bool MoveModifiers
(
const TArray< UActorModifierCoreBase* >& InModifiers, |
Move modifiers to a specific target modifier position, will perform menu action transaction if wanted | Subsystems/ActorModifierCoreSubsystem.h | |
bool ProcessModifierMetadata
(
const FName& InName, |
Process this on matching registered metadata, only used to read | Subsystems/ActorModifierCoreSubsystem.h | |
bool RegisterModifierClass
(
const UClass* InModifierClass, |
Register a modifier class or override an already existing one | Subsystems/ActorModifierCoreSubsystem.h | |
bool RemoveActorsModifiers
(
const TSet< AActor* >& InActors, |
Remove all modifiers from actors, will update the original array and perform a transaction if wanted | Subsystems/ActorModifierCoreSubsystem.h | |
bool RemoveModifiers
(
const TSet< UActorModifierCoreBase* >& InModifiers, |
Remove modifiers from different actors or stacks, will update the original array and perform a transaction if wanted | Subsystems/ActorModifierCoreSubsystem.h | |
bool RemoveModifierStacks
(
const TSet< UActorModifierCoreStack* >& InStacks, |
Removes modifier components and modifier stacks | Subsystems/ActorModifierCoreSubsystem.h | |
bool UnregisterModifierClass
(
const FName& InName |
Subsystems/ActorModifierCoreSubsystem.h | ||
bool UnregisterModifierClass
(
const UClass* InModifierClass |
Subsystems/ActorModifierCoreSubsystem.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Builds a modifier dependency list, does not make additional checks | Subsystems/ActorModifierCoreSubsystem.h | ||
UActorModifierCoreBase * CreateModifierInstance
(
const FName& InName, |
Creates a modifier based on a name and a stack, should be called by the stack itself | Subsystems/ActorModifierCoreSubsystem.h | |
AActorModifierCoreSharedActor * GetModifierSharedProvider
(
ULevel* InLevel, |
Gets a modifier shared provider for a world, creates one if none is found | Subsystems/ActorModifierCoreSubsystem.h | |
bool IsRegisteredActorModifierStack
(
const UActorModifierCoreStack* InStack |
Do we have a registered root stack | Subsystems/ActorModifierCoreSubsystem.h | |
bool IsRegisteredActorModifierStack
(
const AActor* InActor |
Do we have a root modifier stack for this actor | Subsystems/ActorModifierCoreSubsystem.h | |
void OnAssetRegistryAssetAdded
(
const FAssetData& InAssetData |
Subsystems/ActorModifierCoreSubsystem.h | ||
void OnAssetRegistryAssetRemoved
(
const FAssetData& InAssetData |
Subsystems/ActorModifierCoreSubsystem.h | ||
void OnAssetRegistryAssetUpdated
(
const FAssetData& InAssetData |
Subsystems/ActorModifierCoreSubsystem.h | ||
void OnAssetRegistryFilesLoaded() |
Subsystems/ActorModifierCoreSubsystem.h | ||
| Subsystems/ActorModifierCoreSubsystem.h | |||
void OnInsertModifier
(
const FActorModifierCoreStackInsertOp& InInsertOp |
Subsystems/ActorModifierCoreSubsystem.h | ||
bool RegisterActorModifierStack
(
UActorModifierCoreStack* InStack |
Register a root actor stack to query this actor stack from everywhere, is called automatically at creation or deserialization by stack | Subsystems/ActorModifierCoreSubsystem.h | |
void RegisterModifierAsset
(
const FAssetData& InAssetData |
Subsystems/ActorModifierCoreSubsystem.h | ||
bool RegisterModifierSharedProvider
(
AActorModifierCoreSharedActor* InSharedActor |
Registers a modifier shared provider actor for a world | Subsystems/ActorModifierCoreSubsystem.h | |
void ScanForModifiers() |
Done only once at subsystem initialization | Subsystems/ActorModifierCoreSubsystem.h | |
bool UnregisterActorModifierStack
(
const AActor* InActor |
Unregister a root stack by providing the actor it is attached to | Subsystems/ActorModifierCoreSubsystem.h | |
bool UnregisterActorModifierStack
(
const UActorModifierCoreStack* InStack |
Unregister a root stack from an actor by providing the stack itself | Subsystems/ActorModifierCoreSubsystem.h | |
void UnregisterModifierAsset
(
const FAssetData& InAssetData |
Subsystems/ActorModifierCoreSubsystem.h | ||
bool UnregisterModifierSharedProvider
(
const AActor* InSharedActor |
Unregisters a modifier shared provider actor for a world | Subsystems/ActorModifierCoreSubsystem.h | |
bool ValidateModifierCreation
(
const FName& InName, |
Checks whether we can add a modifier to the stack | Subsystems/ActorModifierCoreSubsystem.h |
Overridden from USubsystem
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Deinitialize() |
Subsystems/ActorModifierCoreSubsystem.h | ||
virtual void Initialize
(
FSubsystemCollectionBase& Collection |
Subsystems/ActorModifierCoreSubsystem.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static UActorModifierCoreSubsystem * Get() |
Subsystems/ActorModifierCoreSubsystem.h | ||
static FOnModifierClassRegistered::RegistrationType & OnModifierClassRegistered() |
Subsystems/ActorModifierCoreSubsystem.h | ||
static FOnModifierClassRegistered::RegistrationType & OnModifierClassUnregistered() |
Subsystems/ActorModifierCoreSubsystem.h | ||
static FOnModifierReplaced::RegistrationType & OnModifierReplaced() |
Subsystems/ActorModifierCoreSubsystem.h |