USubobjectDataSubsystem

The Subobject Data Subsystem will produce the reflected subobject data based on a given root object.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

SubobjectDataInterface

Header

/Engine/Source/Editor/SubobjectDataInterface/Public/SubobjectDataSubsystem.h

Include

#include "SubobjectDataSubsystem.h"

Syntax

class USubobjectDataSubsystem : public UEngineSubsystem

Remarks

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.

Functions

Name Description

Public function

FSubobjectDa...

 

AddNewSubobject

(
    const FAddNewSubobjectParams& Para...,
    FText& FailReason
)

Add a new subobject as a child to the given parent object

Public function

bool

 

AttachSubobject

(
    const FSubobjectDataHandle& OwnerH...,
    const FSubobjectDataHandle& ChildT...
)

Add the given subobject to a new owner.

Public function

FScopedTrans...

 

BeginTransaction

(
    const TArray< FSubobjectDataHandle ...,
    const FText& Description,
    UBlueprint* Blueprint
)

Public function Const

bool

 

CanCopySubobjects

(
    const TArray< FSubobjectDataHandle ...
)

Returns true if the given array of handles represents subobjects that can be copied.

Public function Const

bool

 

CanPasteSubobjects

(
    const FSubobjectDataHandle& RootHa...,
    UBlueprint* BPContext
)

Public function

void

 

CopySubobjects

(
    const TArray< FSubobjectDataHandle ...,
    UBlueprint* BpContext
)

Public function Static

UClass *

 

CreateNewBPComponent

(
    TSubclassOf< UActorComponent > Comp...,
    const FString& NewClassPath,
    const FString& NewClassName
)

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

Public function Static

UClass *

 

CreateNewCPPComponent

(
    TSubclassOf< UActorComponent > Comp...,
    const FString& NewClassPath,
    const FString& NewClassName
)

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

Public function

int32

 

DeleteSubobject

(
    const FSubobjectDataHandle& Contex...,
    const FSubobjectDataHandle& Subobj...,
    UBlueprint* BPContext
)

Attempts to delete the given subobject from its blueprint context

Public function

int32

 

DeleteSubobjects

(
    const FSubobjectDataHandle& Contex...,
    const TArray< FSubobjectDataHandle ...,
    UBlueprint* BPContext
)

Attempts to delete the given array of subobjects from their context

Public function

int32

 

DeleteSubobjects

(
    const FSubobjectDataHandle& Contex...,
    const TArray< FSubobjectDataHandle ...,
    FSubobjectDataHandle& OutComponent...,
    UBlueprint* BPContext,
    bool bForce
)

Attempts to delete the given array of subobjects from their context

Public function

bool

 

DetachSubobject

(
    const FSubobjectDataHandle& OwnerH...,
    const FSubobjectDataHandle& ChildT...
)

Remove the child subobject from the owner

Public function

void

 

DuplicateSubobjects

(
    const FSubobjectDataHandle& Contex...,
    const TArray< FSubobjectDataHandle ...,
    UBlueprint* BpContext,
    TArray< FSubobjectDataHandle >& Ou...
)

Duplicate the given array of subobjects on the context.

Public function Const

FSubobjectDa...

 

FindHandleForObject

(
    const FSubobjectDataHandle& Contex...,
    const UObject* ObjectToFind,
    UBlueprint* BPContext
)

Attempt to find an existing handle for the given object.

Public function Const

FSubobjectDa...

 

FindSceneRootForSubobject

(
    const FSubobjectDataHandle& InHand...
)

Find the scene root for a given subobject handle.

Public function

void

 

GatherSubobjectData

(
    UObject* Context,
    TArray< FSubobjectDataHandle >& Ou...
)

Gather all subobjects that the given UObject context has.

Public function Static

USubobjectDa...

 

Get()

Static wrapper for getting this engine subsystem.

Public function Static

FSubobjectDa...

 

GetActorRootHandle

(
    const FSubobjectDataHandle& Starti...
)

Walk the hierarchy up to find the AActor root for the given handle

Public function Const

FSubobjectFa...

 

GetSubobjectFactoryManager()

Public function Const

bool

 

IsValidRename

(
    const FSubobjectDataHandle& Handle,
    const FText& InNewText,
    FText& OutErrorMessage
)

Returns true if the given new text is a valid option to rename the subobject with the given handle.

Public function

int32

 

K2_DeleteSubobjectFromInstance

(
    const FSubobjectDataHandle& Contex...,
    const FSubobjectDataHandle& Subobj...
)

Attempts to delete the given subobject from its context

Public function

int32

 

K2_DeleteSubobjectsFromInstance

(
    const FSubobjectDataHandle& Contex...,
    const TArray< FSubobjectDataHandle ...
)

Attempts to delete the given array of subobjects from their context

Public function Const

bool

 

K2_FindSubobjectDataFromHandle

(
    const FSubobjectDataHandle& Handle,
    FSubobjectData& OutData
)

Attempt to find the subobject data for a given handle.

Public function

void

 

K2_GatherSubobjectDataForBlueprint

(
    UBlueprint* Context,
    TArray< FSubobjectDataHandle >& Ou...
)

Gather all subobjects that the given Blueprint context has.

Public function

void

 

K2_GatherSubobjectDataForInstance

(
    AActor* Context,
    TArray< FSubobjectDataHandle >& Ou...
)

Gather all subobjects that the given actor instance has.

Public function

bool

 

MakeNewSceneRoot

(
    const FSubobjectDataHandle& Contex...,
    const FSubobjectDataHandle& NewSce...,
    UBlueprint* BPContext
)

Public function

void

 

PasteSubobjects

(
    const FSubobjectDataHandle& PasteT...,
    const TArray< FSubobjectDataHandle ...,
    UBlueprint* BpContext,
    TArray< FSubobjectDataHandle >& Ou...
)

Public function

bool

 

RenameSubobject

(
    const FSubobjectDataHandle& Handle,
    const FText& InNewName
)

Attempts to rename the given subobject to the new name.

Public function Static

void

 

RenameSubobjectMemberVariable

(
    UBlueprint* BPContext,
    const FSubobjectDataHandle& InHand...,
    const FName NewName
)

Public function

bool

 

ReparentSubobject

(
    const FReparentSubobjectParams& Pa...,
    const FSubobjectDataHandle& ToRepa...
)

Attempts to reparent the given subobject to the new parent

Public function

bool

 

ReparentSubobjects

(
    const FReparentSubobjectParams& Pa...,
    const TArray< FSubobjectDataHandle ...
)

Attempts to reparent all subobjects in the HandlesToMove array to the new parent handle.

Overridden from USubsystem

Name Description

Public function Virtual

void

 

Deinitialize()

Implement this for deinitialization of instances of the system

Public function Virtual

void

 

Initialize

(
    FSubsystemCollectionBase& Collecti...
)

Implement this for initialization of instances of the system