UActorComponent::DetermineUCSModifiedProperties
#include "Components/ActorComponent.h"
Access: public
Specifiers: ENGINE_API
Description
Initializes (or refreshes) the internal list of properties that have been modified by the User Construction Script, comparing current values against the class defaults.
Caveats & Gotchas
- • This is called by the engine during construction script execution and Blueprint reinstancing — calling it manually outside of those contexts is unlikely to produce useful results.
- • The comparison is against CDO (Class Default Object) values, so only properties that differ from defaults are tracked. Properties set identically to the CDO are not considered UCS-modified.
- • This operation can be expensive on components with many UPROPERTY fields — avoid calling it in hot paths.
Signature
ENGINE_API void DetermineUCSModifiedProperties(); Return Type
void Example
Refresh UCS-modified property list in a custom editor utility C++
#if WITH_EDITOR
void RefreshUCSTracking(UActorComponent* Component)
{
Component->DetermineUCSModifiedProperties();
TSet<const FProperty*> Modified;
Component->GetUCSModifiedProperties(Modified);
UE_LOG(LogTemp, Log, TEXT("UCS-modified property count: %d"), Modified.Num());
}
#endif See Also
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?