RealDocs

UKismetSystemLibrary::SetClassPropertyByName

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

Description

Sets a named TSubclassOf<UObject> 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.
  • Checks Value->IsChildOf(MetaClass) before writing, so passing a class that doesn't derive from the property's declared MetaClass is silently dropped rather than erroring.

Signature

static ENGINE_API void SetClassPropertyByName(UObject* Object, FName PropertyName, TSubclassOf<UObject> 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 TSubclassOf<UObject> Class reference to assign.

Return Type

void

Example

Set a class property by name from C++ C++
UKismetSystemLibrary::SetClassPropertyByName(TargetActor, FName("ProjectileClass"), AMyProjectile::StaticClass());

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.