UKismetSystemLibrary::SetClassPropertyByName
#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()); Tags
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?