UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
InvalidateWidgetReason.h File Reference
#include "Containers/UnrealString.h"
#include "CoreMinimal.h"
#include "CoreTypes.h"
#include "Misc/EnumClassFlags.h"

Go to the source code of this file.

Typedefs

typedef EInvalidateWidgetReason EInvalidateWidget
 

Enumerations

enum class  EInvalidateWidgetReason : uint8 {
  None = 0 , Layout = 1 << 0 , Paint = 1 << 1 , Volatility = 1 << 2 ,
  ChildOrder = 1 << 3 , RenderTransform = 1 << 4 , Visibility = 1 << 5 , AttributeRegistration = 1 << 6 ,
  Prepass = 1 << 7 , PaintAndVolatility = Paint | Volatility , LayoutAndVolatility = Layout | Volatility
}
 

Functions

SLATECORE_API FString LexToString (EInvalidateWidgetReason Reason)
 
SLATECORE_API bool LexTryParseString (EInvalidateWidgetReason &OutMode, const TCHAR *InBuffer)
 
SLATECORE_API void LexFromString (EInvalidateWidgetReason &OutMode, const TCHAR *InBuffer)
 

Typedef Documentation

◆ EInvalidateWidget

Enumeration Type Documentation

◆ EInvalidateWidgetReason

The different types of invalidation that are possible for a widget.

Enumerator
None 
Layout 

Use Layout invalidation if your widget needs to change desired size. This is an expensive invalidation so do not use if all you need to do is redraw a widget

Paint 

Use when the painting of widget has been altered, but nothing affecting sizing.

Volatility 

Use if just the volatility of the widget has been adjusted.

ChildOrder 

A child was added or removed. (this implies prepass and layout)

RenderTransform 

A Widgets render transform changed

Visibility 

Changing visibility (this implies layout)

AttributeRegistration 

Attributes got bound or unbound (it's used by the SlateAttributeMetaData)

Prepass 

Re-cache desired size of all of this widget's children recursively (this implies layout)

PaintAndVolatility 

Use Paint invalidation if you're changing a normal property involving painting or sizing. Additionally if the property that was changed affects Volatility in anyway, it's important that you invalidate volatility so that it can be recalculated and cached.

LayoutAndVolatility 

Use Layout invalidation if you're changing a normal property involving painting or sizing. Additionally if the property that was changed affects Volatility in anyway, it's important that you invalidate volatility so that it can be recalculated and cached.

Function Documentation

◆ LexFromString()

SLATECORE_API void LexFromString ( EInvalidateWidgetReason OutMode,
const TCHAR InBuffer 
)

◆ LexToString()

SLATECORE_API FString LexToString ( EInvalidateWidgetReason  Reason)

◆ LexTryParseString()

SLATECORE_API bool LexTryParseString ( EInvalidateWidgetReason OutMode,
const TCHAR InBuffer 
)