Advanced Runtime Logging UE5 plugin — Solution for Real-Time Logs in Editor or Shipping Builds

Thank You! This plugin was exactly what I was looking for, this is critical information for using it and is the exact piece I was missing, I would highly recommend adding it to the Documentation page.

1 Like

Currently, we are aware of two issues:

  1. The overlay opens during runtime only after clicking on an empty screen space with the mouse and then trying to activate it again. This issue is related to the focus system, which doesn’t accept input unless the application is focused. We’ll work on fixing this in future updates.
  2. To use the GLS_LOG macro in your project, you need to include it with angle brackets like this: #include <GLSMacroses.h>. You also need to link the GLS module to your module where you are using the macro.

Thank you, StarKiller4011, for pointing out these issues!

Update 0.7v (11.28.24)

  • Fixed an issue that caused the packaged version of the game to freeze when closed.

Thanks METEHAN Göksel kurtulan for helping me find this problem.

Update 0.8v (12.20.24)

  • Fixed сrash when closing PIE (Play In Editor) or using hot reload/recompilation.

Thanks sss13594 for helping me find this problem.

How to Enable Logs in Shipping Builds and Use Game Logs System (GLS) for Easy Log Visualization

Description:
Logging in Shipping builds of Unreal Engine can be a real challenge, as standard methods like GEngine->AddOnScreenDebugMessage are disabled in this configuration. In this video, we’ll show you how to tackle this issue:

  • How to enable logging in Shipping builds.
  • How to set up seamless log visualization using the Game Logs System (GLS).
  • A demonstration of GLS features for displaying logs directly in-game, including filters, search, and customization.

Game Log System allows you to display logs on any platform (including mobile devices and consoles) without requiring Debug or Development builds. Learn how GLS can streamline debugging in your final game builds.

Hi, I recently bought the plugin, had a bit of a hard-time at first to set it up properly with no issues. . However, I am now able to use alt+shift+g in my shipping build.

My questions: Are the logs available somewhere locally? Can the log path be defined?

In my context, I need access to the log file more than the overlay.

Please not that my AppData\Local\Mygame\Saved\Logs, is empty.

Tips for others having issue:
-If you have issue getting the overlay in game. Try leaving your main menu if applicable. Also alt+shift+g and HOLD FOR 1 SECOND. My issue at first was that I was not holding the shorcut long enough.

1 Like

Hi @greg700000,

Thank you for purchasing the plugin and sharing your experience! I’m glad you were able to get it working in your shipping build.

To answer your questions:

  1. Are the logs available somewhere locally?
  • By default, logs for Development or Debug configurations are saved in the YourGame\Saved\Logs folder. However, in Shipping builds, Unreal Engine disables logs by default, which is why your Saved\Logs folder is empty.
  1. Can the log path be defined?
  • Currently, Unreal Engine doesn’t provide an easy way to define a custom log path in shipping builds due to these restrictions. However, with GLS, you can copy or save the logs directly from the overlay. A future update will also include the ability to save logs to a file directly through the overlay.

Tips for Accessing Logs in Shipping Builds

If you need persistent logging in shipping builds, you can:

  • Use a source-built version of Unreal Engine from GitHub to enable logs in shipping builds by modifying the engine configuration.
  • Ensure that your .ini settings and the GLS plugin are correctly configured to capture logs in shipping builds.

Thank you for sharing tips about holding the shortcut longer—it’s a great reminder for other users!

Let me know if you need further assistance or guidance!

Update 0.9v (01.05.25)

  • Added a user notification system to inform about new updates.
  • Resolved an issue where identical UE_LOG entries were displayed multiple times in the overlay panel.
  • Fixed a crash when using the GLS_LOG_STRING macro.
  • Addressed slow log creation when opening the overlay panel.
  • The GLS overlay now appears instantly when pressing the ALT + SHIFT + G shortcut. Holding the keys for one second is no longer required. This behavior can be customized in the settings.
  • Added sorting for categories in reverse alphabetical order (Z-A).

In future updates, our users will be able to learn about them directly from the log interface in the editor or in-game.

Enjoy using it!

We’ve Updated the Documentation for Game Logs System (GLS)

Hello everyone!

We’re excited to announce that we’ve updated the documentation for our Game Logs System (GLS) plugin! The new documentation now includes more detailed information on all of GLS’s features, with new sections such as:

  • Filtering logs by PIE instances and network roles
  • Using GLS_LOG safely and reliably
  • Filtering logs by classes, objects, and functions
  • And much more!

We hope this will help you better understand the plugin’s capabilities and make it easier to integrate GLS into your projects!

If you have any questions or suggestions, feel free to ask in the comments.

Update 0.10v (01.12.25)

  • The plugin is no longer considered an experimental version but remains in beta.
  • Added the ability to save logs directly from the game build to a file (currently supported only on Windows).
  • Settings now apply immediately upon changing any variable—no need to press Set As Default anymore.
  • Introduced a breaking change for older versions: the GLS_LOG macro no longer requires the context parameter as its first argument.
  • Updated the plugin documentation with detailed information and new sections.

Have a great debugging!

Update 0.11v (01.19.25)

  • Fixed an issue with automatic context capture when using the GLS_LOG macro.
  • Added the ability to open the GLS overlay even when UI Only mode is enabled.
  • Updated the technical solution for input handling, allowing the GLS overlay to be opened from anywhere in the game.
  • Fixed a crash when reading GLS save data between sessions.
  • Added settings variables to control the hotkey hold duration required to open the GLS overlay on different device types.

We also wrote two articles for the development blog as part of our development progress journal:

Wishing everyone smooth debugging!

One of our users created a great review of GLS, showcasing its features and sharing their thoughts.

We’d love to hear your feedback! :blush:

Any chance this one day could support remote logging? For example, be able to store the logs on a server or view them in realtime from another computer using the web? Would be very useful for things like AWS servers, not having to log into servers everytime

1 Like

Yes, this is already on our roadmap! We are actively exploring ways to implement remote logging. If everything goes as planned, we will definitely add functionality for working with logs remotely, allowing logs to be stored on a server or viewed in real-time from another machine.

1 Like

Update v0.12 (04.01.25)

  • Fixed the issue of duplicate log entries when using the PrintStringToGLS function and other minor bugs.

Documentation Update: Expanded GLS_LOG Usage Examples

Hey everyone!

We’ve just updated the GLS documentation with more detailed examples on how to use the GLS_LOG macros.
This is part of our ongoing effort to improve the docs based on your feedback every month we expand the documentation with the most frequently asked questions from the community.

In this update, we’ve added:

  • Step-by-step instructions on how to integrate GLS_LOG into your project
  • Practical examples of logging from UObject based classes
  • Explanation of what makes GLS_LOG special

The GLS_LOG macro logs messages both to the standard Unreal log console and to the GLS in-game overlay.
Its main purpose is to capture the full context of a log call such as the class, object, and function that triggered it allowing you to filter logs with precision.

Bonus: GLS_LOG also works in shipping builds, and if the GLS overlay is enabled, logs can still be visualized in-game making it incredibly useful for debugging production versions.

Check it out and let us know what you think! And as always, if there’s something you’d like us to document or improve - feel free to reach out.

Update v0.13 (04.06.25)

  • Added the ability to use GLS_LOGFMT. GLS_LOGFMT is a macro similar to UE_LOGFMT that allows you to format log messages using fmt::format syntax within the GLS logging system.
GLS_LOGFMT(LogTemp, Display, TEXT("Params {0} {1} {2}"), 12345, TEXT("String Param"), 0.12345f);

GLS_LOGFMT_CONTEXT(WorldContext, LogTemp, Display, TEXT("Params {0} {1} {2}"), 12345, TEXT("String Param"), 0.12345f);

GLS_LOGFMT_CONTEXT_TAGS(WorldContext, LogTemp, Display, TArray<FString>({TEXT("tag-1"), TEXT("tag-2")}), TEXT("Params {0} {1} {2}"), 12345, TEXT("String Param"), 0.12345f);

UE5.5.4 source build. Error when building a server:

[1/10] Compile [x64] Module.GLS.3.cpp
...\Plugins\GAMELOGS395012943053V4\Source\GLS\Private\Utils\GLSUtils.cpp(254) : error C4702: unreachable code
   while compiling FGLSUtils::IsGLSEnabled

fix:


bool FGLSUtils::IsGLSEnabled()
{
#if UE_SERVER
    if (true){
        return false;
    }
#endif

#if !defined(GLS_ENABLED) || !GLS_ENABLED
    if (true){
        return false;
    }
#endif
1 Like

Results of Using GLS_LOG Macros

By using GLS_LOG, you gain powerful logging capabilities tailored for both development and production builds:

Advanced Filtering

Logs generated with GLS_LOG can be filtered by:

  1. Class — the class that triggered the log
  2. Object — the specific object instance
  3. Function — the function where the log was called
  4. Custom Tags — user-defined labels for flexible grouping
  5. Net Roles — such as Client 1, Client 2 or Listen Server.
  6. PIE Instance ID — useful when running multiple PIE windows

This makes it easy to isolate logs relevant to a specific part of your system or gameplay situation.

GLS Overlay Integration

All logs appear in the GLS in-game overlay, which provides convenient UI filters by category, object, and more. These logs are visible:

  1. In Development, Shipping, and Test builds
  2. Even in Shipping configurations, provided the GLS overlay is enabled

This ensures that critical information remains accessible even during late-stage testing or live gameplay debugging.

:rocket: GLS Plugin with Lyra Game - Updated Free Demo for Runtime Logging Now Available!

We’ve just updated the free demo version and example builds with Lyra game of the GLS (Game Logs System) plugin - a powerful tool for viewing logs in real time, directly in-game!

:free_button: Free to try — download, test, and let us know what you think!

:backhand_index_pointing_right: Free Demo, Example Builds (Windows, Android)

:backhand_index_pointing_right: Find out more in our documentation.

If you’re looking for an easy way to monitor your game’s internal processes without relying on the console — GLS has you covered.