Unreal Engine Plugin Architect & Developer
- I create tools and solutions for Unreal Engine with a focus on audio processing at solutions.georgy.dev
- Feel free to email me at [email protected] or join Discord for any questions
Unreal Engine Plugin Architect & Developer
Introduction Still, as of UE 5.5, multi-line editable text boxes lack proper keyboard and gamepad navigation support. Let’s fix this without modifying the engine’s source code. I’ll experiment with a simple 2x2 grid of text boxes to demonstrate how we can implement smooth, unified navigation across both keyboard and gamepad input devices, which you can also recreate for testing purposes. Current Limitations Keyboard Arrow keys only allow navigation within the content of a single text box, and there’s no way to navigate between text boxes themselves....
Need to use third-party libraries that depend on spdlog in your Unreal project? Here’s how to simulate the spdlog API using Unreal’s native UE_LOG system, to let you avoid adding extra dependencies while keeping your code clean. We’ll create a logging utility class that matches the spdlog interface, handling type conversions to FString and formatting along the way. Implementation Here’s the code that bridges spdlog and Unreal’s logging system: #pragma once #include "Containers/UnrealString....
As of UE 5.4, the Common UI button (UCommonButtonBase) still doesn’t support direct focus settings. This is because UCommonButtonBase is derived from UUserWidget, which supports focusing, but doesn’t direct the focus to the underlying button itself automatically. However, you can still set the focus on the button by performing a “deep” focus on the Slate button. Here’s how you can achieve this: /** * Sets the focus on the button * This function performs the "deep" focus on the Common UI button, which means that it will set the focus on the button itself * This is useful since UCommonButtonBase is derived from UUserWidget, which doesn't support focus when setting it directly */ UFUNCTION(BlueprintCallable, Category = "mod....
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....
If you want to execute some code when the scope is exited, you can use the following handy ON_SCOPE_EXIT macro, like this: int32 AnyFunction() { ON_SCOPE_EXIT { // This code will be executed when the scope is exited (after the return statement) }; // Do smth // Just return 100 for example return 100; }