Navigation
API > API/Editor > API/Editor/SubobjectDataInterface
A struct that represents a single subobject. This can be anything, but are most commonly components attached to an actor instance or blueprint. Keeps track of the handles to its parent object and any child that it has.
If you wish to modify a subobject, use the SubobjectDataSubsystem.
| Name | FSubobjectData |
| Type | struct |
| Header File | /Engine/Source/Editor/SubobjectDataInterface/Public/SubobjectData.h |
| Include Path | #include "SubobjectData.h" |
Syntax
USTRUCT (BlueprintType )
struct FSubobjectData
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSubobjectData
(
UObject* ContextObject, |
SubobjectData.h | ||
| SubobjectData.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bIsChildActor | bool | SubobjectData.h | ||
| bIsInheritedSCS | bool | SubobjectData.h | ||
| bIsInheritedSubobject | bool | True if this SCS node is inherited from another blueprint generated class. | SubobjectData.h | |
| ChildrenHandles | TArray< FSubobjectDataHandle > | Set of child subobjects that use this subobject as a parent. | SubobjectData.h | |
| ContextData | TInstancedStruct< FSubobjectDataSubsystemContextDataBase > | ContextData is a replacement for ContextObject as a mechanism to allow SubobjectData to serve as an interface for multiple data types (not just single UObject) but multiple non-UObject ContextObject will still be populated with a single UObject if available, but ContextData should be the preferred data source for the SubobjectData instances. | SubobjectData.h | |
| Handle | FSubobjectDataHandle | Handle that will have a globally unique ID when it is constructed (i.e. when this is constructed) | SubobjectData.h | |
| ParentObjectHandle | FSubobjectDataHandle | Handle to this object's parent. If this is invalid, then it is the root subobject. | SubobjectData.h | |
| SCSNodePtr | TWeakObjectPtr< USCS_Node > | For now, we need a pointer to the SCS node in order to have the correct component template and to be able to get the UBlueprint* from components. | SubobjectData.h | |
| WeakObjectPtr | TWeakObjectPtr< UObject > | Weak ptr to the object instance represented by this node (e.g. component template) | SubobjectData.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool CanCopy() |
SubobjectData.h | ||
bool CanDelete() |
SubobjectData.h | ||
bool CanDuplicate() |
SubobjectData.h | ||
bool CanEdit() |
SubobjectData.h | ||
bool CanRename() |
SubobjectData.h | ||
bool CanReparent() |
SubobjectData.h | ||
FSubobjectDataHandle FindChild
(
const FSubobjectDataHandle& ChildHandle |
Attempt to find the given handle in out child array and return a pointer to it. | SubobjectData.h | |
FSubobjectDataHandle FindChildByObject
(
UObject* ContextObject |
SubobjectData.h | ||
const UActorComponent * FindComponentInstanceInActor
(
const AActor* InActor |
SubobjectData.h | ||
FText GetActorDisplayText() |
SubobjectData.h | ||
FText GetAssetName() |
Get the asset name of this subobject from the asset brokerage | SubobjectData.h | |
FText GetAssetPath() |
Get the asset path of this subobject from the asset brokerage | SubobjectData.h | |
UBlueprint * GetBlueprint() |
SubobjectData.h | ||
UBlueprint * GetBlueprintBeingEdited() |
SubobjectData.h | ||
const TArray< FSubobjectDataHandle > & GetChildrenHandles() |
SubobjectData.h | ||
FText GetComponentEditorOnlyTooltipText() |
Retrieves a tooltip text describing if the component is marked Editor only or not | SubobjectData.h | |
const UActorComponent * GetComponentTemplate
(
bool bEvenIfPendingKill |
Deliberately non-virtual, for performance reasons. | SubobjectData.h | |
const TInstancedStruct< FSubobjectDataSubsystemContextDataBase > & GetContextData() |
SubobjectData.h | ||
FText GetDisplayName() |
SubobjectData.h | ||
FText GetDisplayNameContextModifiers
(
bool bShowNativeComponentNames |
Returns a string that gives details about this subobject. | SubobjectData.h | |
FString GetDisplayString
(
bool bShowNativeComponentNames |
SubobjectData.h | ||
FText GetDragDropDisplayText() |
Get the display name of this subobject that should be used during drag/drop operations | SubobjectData.h | |
FSubobjectDataHandle GetHandle() |
SubobjectData.h | ||
FText GetIntroducedInToolTipText() |
Retrieves tooltip text describing where the component was first introduced (for inherited components). | SubobjectData.h | |
FText GetMobilityToolTipText() |
Retrieves tooltip text describing the specified component's mobility. | SubobjectData.h | |
const T * GetObject
(
bool bEvenIfPendingKill |
Deliberately non-virtual, for performance reasons. | SubobjectData.h | |
| SubobjectData.h | |||
const T * GetObjectForBlueprint
(
UBlueprint* Blueprint |
SubobjectData.h | ||
const UObject * GetObjectForBlueprint
(
UBlueprint* Blueprint |
May not be the same as the value returned by GetObject(). | SubobjectData.h | |
FSubobjectData * GetParentData() |
SubobjectData.h | ||
FSubobjectDataHandle GetParentHandle() |
SubobjectData.h | ||
FSubobjectDataHandle GetRootSubobject() |
Walks the parent heirarchy and returns the root subobject in this case | SubobjectData.h | |
FName GetSocketFName() |
SubobjectData.h | ||
FText GetSocketName() |
Sockets for attaching in the viewport. | SubobjectData.h | |
FName GetVariableName() |
SubobjectData.h | ||
bool HasChild
(
const FSubobjectDataHandle& ChildHandle |
Return true if the given handle is a child of this subobject. | SubobjectData.h | |
bool HasParent() |
SubobjectData.h | ||
bool HasValidSocket() |
SubobjectData.h | ||
void Initialize
(
UObject* ContextObject, |
SubobjectData.h | ||
void Initialize
(
TInstancedStruct< FSubobjectDataSubsystemContextDataBase > ContextData, |
SubobjectData.h | ||
bool IsActor() |
SubobjectData.h | ||
bool IsAssetVisible() |
Returns true if the asset this object represents is visible | SubobjectData.h | |
bool IsAttachedTo
(
const FSubobjectDataHandle& InHandle |
SubobjectData.h | ||
bool IsBlueprintInheritedComponent() |
SubobjectData.h | ||
bool IsChildActor() |
SubobjectData.h | ||
bool IsChildActorSubtreeObject() |
Returns true if this subobject is a part of a child actor's hierarchy and not the root actor. | SubobjectData.h | |
bool IsComponent() |
Returns true if this subobject is a component. | SubobjectData.h | |
bool IsDefaultSceneRoot() |
SubobjectData.h | ||
bool IsInheritedComponent() |
SubobjectData.h | ||
bool IsInstancedActor() |
SubobjectData.h | ||
bool IsInstancedComponent() |
SubobjectData.h | ||
bool IsInstancedInheritedComponent() |
True if this subobject is an instance of an inherited component (its owner is an instanced actor) | SubobjectData.h | |
bool IsNativeComponent() |
SubobjectData.h | ||
bool IsRootActor() |
SubobjectData.h | ||
bool IsRootComponent() |
SubobjectData.h | ||
bool IsSceneComponent() |
SubobjectData.h | ||
bool IsValid() |
True if this subobject's handle is valid | SubobjectData.h | |
bool SceneRootHasDefaultName() |
Returns true if the component template's FName starts with USceneComponent::GetDefaultSceneRootVariableName | SubobjectData.h | |
void SetSocketName
(
FName InNewName |
SubobjectData.h | ||
void SetupAttachment
(
FName SocketName, |
SubobjectData.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static USCS_Node * FindSCSNodeForInstance
(
const UActorComponent* InstanceComponent, |
Anything related to an SCS node will be changed with an upcoming refactor and should remain private. | SubobjectData.h |