RealDocs

UActorComponent::RequiresGameThreadEndOfFrameUpdates

function Engine Since 4.9
#include "Components/ActorComponent.h"
Access: public Specifiers: virtual

Description

Returns whether end-of-frame updates for this component must execute on the game thread. Override to return true if your SendRenderDynamicData_Concurrent or related functions access game-thread-only state.

Caveats & Gotchas

  • The base UActorComponent implementation returns false, enabling worker-thread updates by default — only opt in to game-thread updates when truly required, as it removes parallelism.
  • If this returns false but your update function accesses non-thread-safe data, you will get non-deterministic crashes that are hard to reproduce.
  • This is queried once when the update is scheduled; you cannot change the requirement dynamically between MarkForNeededEndOfFrameUpdate and the update executing.

Signature

ENGINE_API virtual bool RequiresGameThreadEndOfFrameUpdates() const;

Return Type

bool

Example

Force game-thread updates for a component that accesses Slate C++
bool UMyWidgetComponent::RequiresGameThreadEndOfFrameUpdates() const
{
    // Slate is not thread-safe; force game-thread execution
    return true;
}

Version History

Introduced in: 4.9

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.