Navigation
API > API/Editor > API/Editor/SubobjectDataInterface
The Subobject Data Subsystem will produce the reflected subobject data based on a given root object. A root object can be anything, an actor instance clicked on via the level editor, a UBlueprint* by opening an asset, or something piped in from python or other scripting languages.
| Name | USubobjectDataSubsystem |
| Type | class |
| Header File | /Engine/Source/Editor/SubobjectDataInterface/Public/SubobjectDataSubsystem.h |
| Include Path | #include "SubobjectDataSubsystem.h" |
Syntax
UCLASS (MinimalAPI, Category="SubobjectDataSubsystem")
class USubobjectDataSubsystem : public UEngineSubsystem
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → USubsystem → UDynamicSubsystem → UEngineSubsystem → USubobjectDataSubsystem
Structs
| Name | Remarks |
|---|---|
| FSubobjectDataAdapterEntry | |
| FSubsystemAdapterEntry |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FSubobjectDataAdapterFilter | TFunction< bool(const FSubobjectData &)> | SubobjectDataSubsystem.h | |
| FSubobjectSubsystemAdapterFilter | TFunction< bool(const TInstancedStruct< FSubobjectDataSubsystemContextDataBase > &ContextData)> | SubobjectDataSubsystem.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DataAdapterHandleIndex | uint64 | SubobjectDataSubsystem.h | ||
| DataAdapters | TArray< FSubobjectDataAdapterEntry > | SubobjectDataSubsystem.h | ||
| OnNewSubobjectAdded_Delegate | FOnNewSubobjectAdded | SubobjectDataSubsystem.h | ||
| SubsystemAdapterHandleIndex | uint64 | SubobjectDataSubsystem.h | ||
| SubsystemAdapters | TArray< FSubsystemAdapterEntry > | SubobjectDataSubsystem.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSubobjectDataHandle AddNewSubobject
(
const FAddNewSubobjectParams& Params, |
Add a new subobject as a child to the given parent object | SubobjectDataSubsystem.h |
|
bool AttachSubobject
(
const FSubobjectDataHandle& OwnerHandle, |
Add the given subobject to a new owner. | SubobjectDataSubsystem.h |
|
FScopedTransaction * BeginTransaction
(
const TArray< FSubobjectDataHandle >& Handles, |
SubobjectDataSubsystem.h | ||
bool CanCopySubobjects
(
const TArray< FSubobjectDataHandle >& Handles |
Returns true if the given array of handles represents subobjects that can be copied. | SubobjectDataSubsystem.h |
|
bool CanPasteSubobjects
(
const FSubobjectDataHandle& RootHandle, |
SubobjectDataSubsystem.h |
|
|
bool ChangeSubobjectClass
(
const FSubobjectDataHandle& Handle, |
Attempts to change the subclass of a native component | SubobjectDataSubsystem.h |
|
void CopySubobjects
(
const TArray< FSubobjectDataHandle >& Handles, |
SubobjectDataSubsystem.h |
|
|
virtual void Deinitialize() |
Implement this for deinitialization of instances of the system | SubobjectDataSubsystem.h | |
int32 DeleteSubobject
(
const FSubobjectDataHandle& ContextHandle, |
Attempts to delete the given subobject from its blueprint context | SubobjectDataSubsystem.h |
|
int32 DeleteSubobjects
(
const FSubobjectDataHandle& ContextHandle, |
Attempts to delete the given array of subobjects from their context | SubobjectDataSubsystem.h |
|
int32 DeleteSubobjects
(
const FSubobjectDataHandle& ContextHandle, |
Attempts to delete the given array of subobjects from their context | SubobjectDataSubsystem.h | |
bool DetachSubobject
(
const FSubobjectDataHandle& OwnerHandle, |
Remove the child subobject from the owner | SubobjectDataSubsystem.h |
|
void DuplicateSubobjects
(
const FSubobjectDataHandle& Context, |
Duplicate the given array of subobjects on the context. | SubobjectDataSubsystem.h |
|
const FSubobjectDataAdapterBase * FindDataAdapter
(
const FSubobjectData& SubobjectData |
SubobjectDataSubsystem.h | ||
FSubobjectDataHandle FindHandleForObject
(
const FSubobjectDataHandle& Context, |
Attempt to find an existing handle for the given object. | SubobjectDataSubsystem.h |
|
FSubobjectDataHandle FindSceneRootForSubobject
(
const FSubobjectDataHandle& InHandle |
Find the scene root for a given subobject handle. | SubobjectDataSubsystem.h | |
void GatherSubobjectData
(
UObject* Context, |
Gather all subobjects that the given UObject context has. | SubobjectDataSubsystem.h | |
virtual void Initialize
(
FSubsystemCollectionBase& Collection |
Implement this for initialization of instances of the system | SubobjectDataSubsystem.h | |
bool IsValidRename
(
const FSubobjectDataHandle& Handle, |
Returns true if the given new text is a valid option to rename the subobject with the given handle. | SubobjectDataSubsystem.h |
|
int32 K2_DeleteSubobjectFromInstance
(
const FSubobjectDataHandle& ContextHandle, |
Attempts to delete the given subobject from its context | SubobjectDataSubsystem.h |
|
int32 K2_DeleteSubobjectsFromInstance
(
const FSubobjectDataHandle& ContextHandle, |
Attempts to delete the given array of subobjects from their context | SubobjectDataSubsystem.h |
|
bool K2_FindSubobjectDataFromHandle
(
const FSubobjectDataHandle& Handle, |
Attempt to find the subobject data for a given handle. | SubobjectDataSubsystem.h |
|
void K2_GatherSubobjectDataForBlueprint
(
UBlueprint* Context, |
Gather all subobjects that the given Blueprint context has. | SubobjectDataSubsystem.h |
|
void K2_GatherSubobjectDataForInstance
(
AActor* Context, |
Gather all subobjects that the given actor instance has. | SubobjectDataSubsystem.h |
|
bool MakeNewSceneRoot
(
const FSubobjectDataHandle& Context, |
SubobjectDataSubsystem.h |
|
|
FOnNewSubobjectAdded & OnNewSubobjectAdded() |
Delegate invoked when a new subobject is successfully added | SubobjectDataSubsystem.h | |
void PasteSubobjects
(
const FSubobjectDataHandle& PasteToContext, |
Pastes the given subobjects to the PasteToContext. | SubobjectDataSubsystem.h |
|
FSubobjectDataAdapterHandle RegisterSubobjectDataAdapter
(
FSubobjectDataAdapterFilter InFilter, |
SubobjectDataSubsystem.h | ||
FSubobjectDataSubsystemAdapterHandle RegisterSubsystemAdapter
(
FSubobjectSubsystemAdapterFilter InFilter, |
SubobjectDataSubsystem.h | ||
bool RenameSubobject
(
const FSubobjectDataHandle& Handle, |
Attempts to rename the given subobject to the new name. | SubobjectDataSubsystem.h |
|
bool ReparentSubobject
(
const FReparentSubobjectParams& Params, |
Attempts to reparent the given subobject to the new parent | SubobjectDataSubsystem.h |
|
bool ReparentSubobjects
(
const FReparentSubobjectParams& Params, |
Attempts to reparent all subobjects in the HandlesToMove array to the new parent handle. | SubobjectDataSubsystem.h |
|
void UnregisterSubobjectDataAdapter
(
FSubobjectDataAdapterHandle Handle |
SubobjectDataSubsystem.h | ||
void UnregisterSubsystemAdapter
(
FSubobjectDataSubsystemAdapterHandle Handle |
SubobjectDataSubsystem.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static UClass * CreateNewBPComponent
(
TSubclassOf< UActorComponent > ComponentClass, |
Creates a new Blueprint component from the specified class type The user will be prompted to pick a new subclass name and a blueprint asset will be created | SubobjectDataSubsystem.h |
|
static UClass * CreateNewCPPComponent
(
TSubclassOf< UActorComponent > ComponentClass, |
Creates a new C++ component from the specified class type The user will be prompted to pick a new subclass name and code will be recompiled | SubobjectDataSubsystem.h |
|
static USubobjectDataSubsystem * Get () |
Static wrapper for getting this engine subsystem. | SubobjectDataSubsystem.h | |
static FSubobjectDataHandle GetActorRootHandle
(
const FSubobjectDataHandle& StartingHandle |
Walk the hierarchy up to find the AActor root for the given handle | SubobjectDataSubsystem.h | |
static void RenameSubobjectMemberVariable
(
UBlueprint* BPContext, |
SubobjectDataSubsystem.h |
|