RealDocs

UActorComponent::RecreateRenderState_Concurrent

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

Description

Immediately destroys and recreates the render state (scene proxy) for this component on the render thread. Prefer MarkRenderStateDirty for normal use — this is the synchronous, lower-level variant.

Caveats & Gotchas

  • Unlike MarkRenderStateDirty, this bypasses the deferred-update path and recreates the proxy right away. This can stall the render thread if called frequently; only use it when immediate recreation is required (e.g. from editor code).
  • This may be called concurrently on multiple components but never on the same component concurrently. If you hold locks or access shared state, ensure they are thread-safe.
  • Because it skips the deferred path, bRenderStateRecreating is NOT set during this call — only MarkRenderStateDirty-initiated recreations set that flag.

Signature

ENGINE_API void RecreateRenderState_Concurrent()

Return Type

void

Example

Forcing immediate proxy recreation in editor code C++
#if WITH_EDITOR
void UMyComponent::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
{
	Super::PostEditChangeProperty(PropertyChangedEvent);
	// Immediate recreation needed for editor preview correctness
	RecreateRenderState_Concurrent();
}
#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.