RealDocs

UKismetSystemLibrary::SetInterfacePropertyByName

function Engine Blueprint Since 4.0
#include "Kismet/KismetSystemLibrary.h"
Access: public Specifiers: staticUFUNCTIONBlueprintCallable

Description

Sets a named const FScriptInterface& property on Object to Value via reflection. Internal helper the Blueprint compiler generates for dynamic property-set nodes; not intended to be called directly.

Caveats & Gotchas

  • Marked BlueprintInternalUseOnly, so it never appears in the Blueprint node picker — the compiler emits a call to it automatically when a Blueprint node writes to this property type by name; you can't drag it onto a graph directly.
  • Unconditionally dereferences Value.GetObject()->GetClass() to check interface compatibility, with no null check — passing an unset/null FScriptInterface crashes instead of clearing the property.

Signature

static ENGINE_API void SetInterfacePropertyByName(UObject* Object, FName PropertyName, const FScriptInterface& Value)

Parameters

Name Type Description Default
Object UObject* Object instance whose property will be modified.
PropertyName FName Name of the target property, resolved via FindFProperty against Object's class.
Value const FScriptInterface& Interface reference to assign.

Return Type

void

Example

Set an interface property by name from C++ C++
FScriptInterface Interface;
Interface.SetObject(TargetObject);
Interface.SetInterface(Cast<IMyInterface>(TargetObject));
UKismetSystemLibrary::SetInterfacePropertyByName(TargetActor, FName("DamageHandler"), Interface);

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.