RealDocs

UActorComponent::DetermineUCSModifiedProperties

function Engine Since 4.0
#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

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.