Skip to content

capsa-gg/capsa-plugin-unreal-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Capsa Unreal Engine plugin

Open-source, cloud-native logging solution built specifically for Unreal Engine projects. Designed to integrate effortlessly with Unreal Engine to enhance debugging, monitoring, and observability without disrupting your workflow.

This is the Unreal Plugin for capturing and uploading Logs to a Capsa Server. You will need a running Capsa Server (see capsa-gg/capsa).

GitHub License

Key Features

  • Plug & Play: minimal setup required, works out of the box
  • Cloud-Native: deploy anywhere — in the cloud or on-premise
  • Optimized for Unreal Engine: extends Unreal Engine's logging without replacing it
  • Lightweight & Non-Intrusive: keeps overhead minimal for optimal performance

Installation and configuration

Instructions for installing the plugin can be found on this documentation page.


Getting started with Capsa development

The documentation below contains the Capsa development instructions.

  • Clone the repo to your Unreal Project. You can use the Development Game if you like. If you are in the root of your project, you can run git clone https://github.com/capsa-gg/capsa-plugin-unreal-engine.git .\Plugins\Capsa Be sure to name the Plugin folder Capsa and not capsa-plugin-unreal-engine.
  • Compile and launch the Editor.
  • Modify the ProjectSettings->Engine->Capsa.
  • Simply use UE_LOG in C++ or Print String in Blueprints and these will be uploaded to your Capsa Server.

Documentation about all configuration options can be found here.

Overriding environment variables

In case your setup requires overwrites of certain configuration values for different build types, there are two options.

These options are discussed in the Unteal Engine plugin setup page of the Capsa documentation.

Enabling Verbose and VeryVerbose logging

If, for debugging purposes, you desire to have more verbose logging for certain categories, this can be done in the DefaultEngine.ini file, under the [Core.Log] section. For example:

[Core.Log]
; This is used for Capsa plugin development
LogCapsaCore=All
LogCapsaLog=All
; This increases verbosity of UE to generate more log lines for testing
LogNet=Verbose
LogInit=All
LogConfig=Verbose
PIE=Verbose
Cmd=All

Enabling in Shipping

Enabling logging in Shipping comes with risks. It is recommended you research and understand these risks before enabling logging in Shipping builds. There is no guarantee this will work flawlessly or require additional steps.

To enable logging in shipping builds, you need to modify your projects <ProjectName>.target.cs file.

In the constructor add:

bUseLoggingInShipping = true;

Additionally, if building from source, also add:

BuildEnvironment = TargetBuildEnvironment.Unique

Or if building from precompiled binaries, add:

bOverrideBuildEnvironment = true;

Development guidelines

  • C++17, this is the minimum version for Unreal Engine 5.2
  • Unreal Code rules, guidelines, formatting etc.
  • All properties, functions, classes etc. should have comments, including @param and @return, where appropriate.
  • Refer to the .clang-format and .editorconfig files, if possible have your IDE use these to auto-format

Release steps

Tagged releases should be accompanied by a release of the web stack with the same version number.

  • Test with the latest version of the web stack's main branch
  • Update the versions in the plugin code
  • Tag with same version as the new web stack release
  • Push to the repository

Packages

 
 
 

Contributors