RealDocs

UActorComponent::MarkRenderDynamicDataDirty

function Engine Since 4.0
#include "Components/ActorComponent.h"
Access: public

Description

Schedules a lightweight dynamic-data update for this component's scene proxy at end of frame. Use this for per-frame data changes that don't require a full proxy rebuild.

Caveats & Gotchas

  • To receive this update in the proxy, you must override SendRenderDynamicData_Concurrent() on the scene proxy side. If you haven't overridden that method, calling this has no visible effect.
  • Cheaper than MarkRenderStateDirty but still has overhead — avoid calling it every tick unless the data actually changed. Guard it behind a dirty flag or value comparison.

Signature

ENGINE_API void MarkRenderDynamicDataDirty()

Return Type

void

Example

Updating a per-frame shader parameter without rebuilding the proxy C++
void UMyComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
{
	Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
	if (bDynamicDataChanged)
	{
		MarkRenderDynamicDataDirty();
		bDynamicDataChanged = false;
	}
}

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.