How to get the currently focused widget in Unreal Engine

In Unreal Engine, you can determine the currently focused widget in both Slate and UMG UI systems. Slate To get the currently focused Slate widget, you can use the following code snippet: // Instead of 0, you can pass the user index if you have multiple users TSharedPtr<SWidget> FocusedSlateWidget = FSlateApplication::Get().GetUserFocusedWidget(0); UMG Getting the currently focused UMG widget is a bit more involved, since there is no direct function to get it or the place where it is stored....

March 23, 2024 · 1 min · Georgy Treshchev

How to cast Slate widgets in Unreal Engine

This brief article addresses the question of how to cast one Slate widget to another in Unreal Engine. Imagine you have an SWidget widget wrapped in a shared pointer like this: TSharedPtr<SWidget> MyWidgetPtr; If you want to cast it, for example, to an SSpacer, your code might look like this: TSharedPtr<SSpacer> MySpacerPtr = StaticCastSharedPtr<SSpacer>(MyWidgetPtr); It’s important to keep in mind that you should verify whether the shared pointer is valid before using it....

October 21, 2023 · 1 min · Georgy Treshchev