0% found this document useful (0 votes)
750 views3 pages

UE4SS Configuration and Debugging Guide

The document outlines configuration settings for a modding tool, including paths, cache options, and memory management. It specifies various parameters for object dumping, header generation, and debugging features. Additionally, it includes settings for threading and crash dump options, with defaults provided for each parameter.

Uploaded by

arbaazdar308
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
750 views3 pages

UE4SS Configuration and Debugging Guide

The document outlines configuration settings for a modding tool, including paths, cache options, and memory management. It specifies various parameters for object dumping, header generation, and debugging features. Additionally, it includes settings for threading and crash dump options, with defaults provided for each parameter.

Uploaded by

arbaazdar308
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

[Overrides]

; Path to the 'Mods' folder


; Default: <dll_directory>/Mods
ModsFolderPath =

[General]
EnableHotReloadSystem = 0

; Whether the cache system for AOBs will be used.


; Default: 1
UseCache = 1

; Whether caches will be invalidated if [Link] has changed


; Default: 1
InvalidateCacheIfDLLDiffers = 1

; The number of seconds the scanner will scan for before giving up
; Default: 30
SecondsToScanBeforeGivingUp = 30

; Whether to create UObject listeners in GUObjectArray to create a fast cache for


use instead of iterating GUObjectArray.
; Setting this to false can help if you're experiencing a crash on startup.
; Default: true
bUseUObjectArrayCache = false

[EngineVersionOverride]
MajorVersion =
MinorVersion =

[ObjectDumper]
; Whether to force all assets to be loaded before dumping objects
; WARNING: Can require multiple gigabytes of extra memory
; WARNING: Is not stable & will crash the game if you load past the main menu after
dumping
; Default: 0
LoadAllAssetsBeforeDumpingObjects = 0

[CXXHeaderGenerator]
; Whether to property offsets and sizes
; Default: 1
DumpOffsetsAndSizes = 1

; Whether memory layouts of classes and structs should be accurate


; This must be set to 1, if you want to use the generated headers in an actual C++
project
; When set to 0, padding member variables will not be generated
; NOTE: A VALUE OF 1 HAS NO PURPOSE YET! MEMORY LAYOUT IS NOT ACCURATE EITHER WAY!
; Default: 0
KeepMemoryLayout = 0

; Whether to force all assets to be loaded before generating headers


; WARNING: Can require multiple gigabytes of extra memory
; WARNING: Is not stable & will crash the game if you load past the main menu after
dumping
; Default: 0
LoadAllAssetsBeforeGeneratingCXXHeaders = 0

[UHTHeaderGenerator]
; Whether to skip generating packages that belong to the engine
; Some games make alterations to the engine and for those games you might want to
set this to 0
; Default: 0
IgnoreAllCoreEngineModules = 0

; Whether to skip generating the "Engine" and "CoreUObject" packages


; Default: 1
IgnoreEngineAndCoreUObject = 1

; Whether to force all UFUNCTION macros to have "BlueprintCallable"


; Note: This will cause some errors in the generated headers that you will need to
manually fix
; Default: 1
MakeAllFunctionsBlueprintCallable = 1

; Whether to force all UPROPERTY macros to have "BlueprintReadWrite"


; Also forces all UPROPERTY macros to have "meta=(AllowPrivateAccess=true)"
; Default: 1
MakeAllPropertyBlueprintsReadWrite = 1

; Whether to force UENUM macros on enums to have 'BlueprintType' if the underlying


type was implicit or uint8
; Note: This also forces the underlying type to be uint8 where the type would
otherwise be implicit
; Default: 1
MakeEnumClassesBlueprintType = 1

; Whether to force "Config = Engine" on all UCLASS macros that use either one of:
; "DefaultConfig", "GlobalUserConfig" or "ProjectUserConfig"
; Default: 1
MakeAllConfigsEngineConfig = 1

[Debug]
; Whether to enable the external UE4SS debug console.
ConsoleEnabled = 1
GuiConsoleEnabled = 1
GuiConsoleVisible = 0

; Multiplier for Font Size within the Debug Gui


; Default: 1
GuiConsoleFontScaling = 1

; The API that will be used to render the GUI debug window.
; Valid values (case-insensitive): dx11, d3d11, opengl
; Default: opengl
GraphicsAPI = opengl

; How many objects to put in each group in the live view.


; A lower number means more groups but less lag when a group is open.
; A higher number means less groups but more lag when a group is open.
; Default: 32768
LiveViewObjectsPerGroup = 32768

[Threads]
; The number of threads that the sig scanner will use (not real cpu threads, can be
over your physical & hyperthreading max)
; If the game is modular then multi-threading will always be off regardless of the
settings in this file
; Min: 1
; Max: 4294967295
; Default: 8
SigScannerNumThreads = 8

; The minimum size that a module has to be in order for multi-threading to be


enabled
; This should be large enough so that the cost of creating threads won't out-weigh
the speed gained from scanning in multiple threads
; Min: 0
; Max: 4294967295
; Default: 16777216
SigScannerMultithreadingModuleSizeThreshold = 16777216

[Memory]
; The maximum memory usage (in percentage, see Task Manager %) allowed before asset
loading (when LoadAllAssetsBefore* is 1) cannot happen.
; Once this percentage is reached, the asset loader will stop loading and whatever
operation was in progress (object dump, or cxx generator) will continue.
; Default: 85
MaxMemoryUsageDuringAssetLoading = 80

[Hooks]
HookProcessInternal = 1
HookProcessLocalScriptFunction = 1
HookInitGameState = 1
HookCallFunctionByNameWithArguments = 1
HookBeginPlay = 1
HookLocalPlayerExec = 1
FExecVTableOffsetInLocalPlayer = 0x28

[CrashDump]
EnableDumping = 1
FullMemoryDump = 0

[ExperimentalFeatures]
; Only enable these features if you know what you are doing.
GUIUFunctionCaller = 0

Common questions

Powered by AI

Using 'UseCache' in UE4SS can significantly improve performance by storing frequent computations, thus reducing the need to compute each time. However, 'InvalidateCacheIfDLLDiffers' ensures that the cache is up-to-date with the current version of ue4ss.dll, which is crucial for correctness. The trade-off is between performance and accuracy; using both together provides a balanced approach by leveraging caching for performance while ensuring the cached data is valid under the current DLL conditions .

Enabling 'GuiConsoleEnabled' allows the external UE4SS debug console to function, which is essential for debugging processes. 'GuiConsoleVisible' determines whether this console is initially visible, affecting user experience by either immediately providing debug information or allowing a cleaner interface when not needed. Visible consoles can offer immediate feedback during testing, but may clutter the screen if not required constantly .

The 'MaxMemoryUsageDuringAssetLoading' setting in UE4SS places a cap on total memory usage during asset loading operations. If the percentage of memory used reaches the specified limit (80% by default), the asset loader will halt, ensuring resource allocation remains safe and preventing system overloads during large asset operations. This protects against potential crashes due to insufficient memory .

Setting 'LoadAllAssetsBeforeDumpingObjects' to 1 in UE4SS configuration means that all assets will be forced to load before dumping objects. This can require multiple gigabytes of extra memory and is not stable, potentially causing the game to crash if you load past the main menu after dumping .

The 'SigScannerNumThreads' setting determines the number of threads used by the signature scanner. In a non-modular game, increasing this value could potentially enhance performance by allowing simultaneous multi-threaded operations, reducing the time taken to complete the scan. However, creating too many threads could overwhelm the system's resources if not properly managed .

The 'MakeEnumClassesBlueprintType' setting in UE4SS forces UENUM macros on enums to have 'BlueprintType', making enums fully accessible to Unreal Engine’s Blueprint system. This conversion to 'BlueprintType' ensures consistent data types that can be directly used in Blueprints, facilitating integration and manipulation by designers. It is enforced to promote a seamless workflow between code and visual scripting .

The 'HookProcessInternal' setting in the UE4SS configuration is used to enable hooks within the internal processing of the game. This can affect gameplay by allowing developers to intercept and potentially modify the game's processing, leading to custom behaviors or debugging but can also introduce instability if not properly managed .

Setting 'HookInitGameState' to 1 in UE4SS hooks into the game's initialization state process, allowing custom code to be executed during game state initialization. The potential benefits include enhanced debugging and customization opportunities. However, the risks involve accidental disruption of game flow, leading to instability or unanticipated behavior if not properly managed .

Enabling 'MakeAllFunctionsBlueprintCallable' forces all UFUNCTION macros to have 'BlueprintCallable', which allows all functions to be called from Blueprints. This simplifies the exposure of functions to Unreal Engine’s Blueprint, increasing accessibility for non-programmers. However, it may introduce errors in generated headers, requiring manual corrections, which could complicate development workflows .

The default setting of 'IgnoreEngineAndCoreUObject' being 1 is likely intended to streamline the header generation process by excluding core engine packages that are typically stable and unchanged. This reduces the workload during header generation and focuses resources on game-specific code, which requires more frequent updates and customizations .

You might also like