Versions and compatibility
Latest version | v5.3.2 |
Released on | 11-sep-2024 |
Compatible with | Games using Unreal Engine v5.1 and later. |
Hotsampling via | Running the game in windowed mode |
Supports IGCS Connector | Yes, v2.0+ |
Download latest version | Post on patreon |
Universal Unreal Engine 4 Unlocker (which uses version numbering v4.x, described elsewhere on this site) is for games using Unreal Engine v4.11 or higher. Universal Unreal Engine 5 Unlocker (which uses version numbering v5.x, described on this page) is for games using Unreal Engine v5.1 or higher.
The Universal Unreal Engine 5 Unlocker is in its early stages as there are only a few games out there released with Unreal Engine v5.1. I try to make it compatible with as much games as possible but it's not possible for me to update it for every tiny indie game out there which is released as a demo version. If you tested UUU v5 with a game and it works, please let me know so I can put it on the list below. I'll do as I did with v4, which is slowly gather enough matching patterns so it matches with the majority of games out there. But as it's early days with Unreal Engine v5, it is a work in progress.
Oh and before you ask, no, it doesn't work with Fortnite, nor will it work with Fortnite in the future: my tools won't work with online games.
Features at a glance
The Universal Unreal Engine 5 Unlocker (in short: UUU) offers the following features:
-
Full, unlimited camera control (gameplay, cutscenes)
- Controller or mouse/keyboard control over the camera
- Field of view (FoV) control
- Tilt
- Camera shake controls in both manual movement (for hand-shot videos) and camera paths.
- Camera paths support ('dolly cam') for defining moving camera trajectories for movies.
- Infinite custom spotlight and pointlights
- Multiple timestops (slomo 0 based, and UWorld::IsPaused based)
- Frameskip
- Engine Console for specifying tweaks and UE5 commands
- HUD toggle (AHud and UWG/Slate widget based)
- Hotsampling (resize the game window to any resolution)
- Post-processing effect control
- Ability to dim existing scene lights
- Ability to toggle visibility of your game character
- Ability to reposition / rotate your game character
- Pillarbox/letterbox removal in custom aspect ratios
- Game speed control (slow-motion, speed up)
- Invulnerability for your character
- Ability to control the animation speed of NPCs/characters in the game, including pausing
- Ability to pose skeletal mesh actors
- Ability to select, move, rotate, scale, hide and clone any actor (static mesh or skeletal mesh actor)
- Ability to dump the UE5 object store contents in detailed format to a text file
- Ability to dump all cvars/console commands with current values and help text to a text file or json file
- Unlocks readonly cvars and console commands
- Unlocks readonly cvars and console commands
- Ability to use the 'SET' command in the console
- Configurable input interpolation for smooth camera movement/rotation/fov zoom in/out
- Per game configuration persistence, so you can use different settings for each game.
- Three slots to save camera state (location/orientation/fov) for quickly switch between them
- Configurable keybindings
- Configurable gamepad buttonbindings
How to use
Please see for details how to get started and configure the UUU, General features and configuration. This guide will provide additional information for the controls / features specific for the UUU.
If you click Select and the game process isn't shown, even though you know it's running, it's likely the game runs as administator and you therefore have to run the UuuClient.exe also as administrator: right-click the UuuClient.exe and select 'Run as Administrator' or create a shortcut to the exe on your desktop, right-click it, select Properties and on the Shortcut tab, select Advanced..., then check the 'Run as Administrator' checkbox and click OK.
After injecting the DLL
After you've successfully injected the dll, you'll get a series of notification windows in the top left corner of your game window which some info regarding what the UUU is doing. You can now switch to the Available features tab to see which features of the UUU are available with the game you're using it with.
Here, with the Lyra example game, all features are available.
The Dump object info button can be used to dump all active object names, their structure, functions, properties and the addresses in memory to a text file on disk. This feature is helpful for people who want to use cheat engine with the game at hand. See for more info the object dumping section below.
The Dump CVars button can be used to to dump all available cvars (console variables) and console commands, with their names, current value (in the case of cvars) and the help text associated with them, to a text file. This can help with tweaking games using the console. See for more info the cvar dumping section below.
Configuration
Additionally to the normal configuration features, the UUU also has some additional configuration features:
Camera smoothing options
Interpolation factors
The camera smoothing options are for when you want to record a video by flying through the game world and control the camera manually, so not through a camera path. Normally the input to the camera system will be used instantly and you see an effect immediately. However for videos it's often desired to have a smoother camera movement than what's needed when you position the camera for a shot.
The camera smoothing options will give you the ability to control how much of the input you're giving to the camera system is used in future frames so
it's creating a smoother experience; e.g. if you set the movement interpolation factor slider to 100
(default is 1
), the input given to move the camera
forward is used over 100 frames and is slowly flowing away to 0 after you stop giving input to move forward.
Additionally if you first move forward and then move to the right, with the default setting of 1
the camera will first move forward and then immediately
move to the right. However with an interpolation factor of e.g. 100
it'll smoothly move to the right, more in a curve than straight away. This gives
smooth movement and rotations of the camera. For the Field of View there's also an interpolation factor, which can be used to smoothly zoom in/out so it's
less 'jerky' when you try to zoom in/out.
Try to combine the values for the smoothing factors with lower/higher values for movement and rotation speed to find the ideal setup for your recording. It's likely you want a higher interpolation factor for movement than for rotation and FoV.
The values are stored in the ini file for next time you start the client.
Shake factors
There are four camera shake factors you can configure to introduce camera shake for normal camera movement: Shake frequency for both movement and rotation, Shake movement strength and Shake rotation strength. For screenshots these factors are not interesting, but for hand-shot video, e.g. in combination with the interpolation factors, they can give a more natural appealing footage.
The Shake movement frequency and Shake rotation frequency control how fast the movement and rotation shake factors change direction. The higher the value the faster they'll 'shake'. The Shake movement strength controls the amount of movement shake will be added to the camera location in the up/down/left/right/front/back directions. The Shake rotation strength controls the amount of rotation shake will be added to the camera orientation in pitch/yaw/roll.
The strength will be applied equally among all directions and rotations. Try to experiment with which values work best for the speed you move your camera; a faster moving camera could use a camera shake with higher strengths than a slow moving camera. Good starting values are 1.5-2 for the frequencies and 0.4-0.5 for the strengths. Setting the sliders to 0 will remove all shake factors from the camera.
Camera paths have their own shake factors.
Game behavior options
Key selection for opening the in-game console
It might be the ~
key doesn't do anything, even though the console was created successfully by the dll. This might be caused because the game unbound the ~
key and therefore it's not possible to open the console. Additionally, you might be using a non-US keyboard, like an Azerty keyboard, and on those keyboards, the ~
key isn't above the TAB key and the engine won't recognize it.
To correct this, on the Configuration tab, the setting Key to open in-game console allows you to select from a small set of keys what to use to open the console. By default this is 'Tilde' (~
). Please select a key that's on your keyboard and which doesn't need Shift to be selected. E.g. on a French (Azerty) keyboard, the '$' key is a good choice, so choose in the drop down Dollar ($)
as console key.
Block focus loss method
It might be the game shows the menu when you alt-tab to another window. To prevent this, the UUU has two methods to block the notification to the game window that you've alt-tabbed away, and they're named Method A and Method B. In general, if your game doesn't show the menu when you alt-tab away to another window, leave this option to None. Method A uses a simple block mechanism inside the engine and keeps telling the game that it has the focus. It depends on the game if this works or not, but if it does, it likely doesn't lead to any glitches so first try this method.
Method B is a method that fairly often works, but also could lead to glitches in some games. If your game shows the menu when alt-tabbing away, and Method A doesn't fix it, try to use Method B.
These methods take effect as soon as you alt-tab back into the game and remove the menu manually by e.g. pressing ESC. Alt-tabbing away after that shouldn't show the menu.
Slomo pause type
By default the UUU selects the MatineeTimeDilation value in the engine for pause. This works for the majority of games. However sometimes this value doesn't work or gives odd results and instead it should choose the TimeDilation value to pause the game. This option allows you to change this manually: choose TimeDilation if the game doesn't work or behaves wrongly when pressing the PageDown key to pause the game.
Use engine default for slomo min. value
By default the UUU pauses the engine with a (matinee) time dilation of 0.0. However some games crash with that value. In that case, please check this checkbox to make the UUU use the engine's default minimum value which is usually 0.0001. The UUU doesn't use this as the default because in some games a value of 0.0001 causes cloth/hair physics to go bezerk. And we can't have bezerk hair/clothing, it's not the 1990-ies anymore!
Use Engine pause for UWorld::IsPaused
By default the UUU uses a low-level pause for UWorld::IsPaused (by default activated using Numpad 0). If you want to use the default engine pause function instead, check this checkbox. Checking this checkbox might cause the game to bring up the pause menu however. If the UWorld::IsPause function isn't found, the UUU will always use the default engine pause instead.
Aspect ratio axis constraint method
When the aspect ratio changes (e.g. you resize the window or the UUU removes the letter/pillar boxing constraints), the engine will either extend the image in the horizontal direction or vertical direction or keep the same image and zoom in. You can control what happens with this setting.
By default Unreal Engine v5.2 or earlier uses Maintain X (horizontal) FOV, so the game zooms in when the aspect ratio becomes wider and zooms out when the aspect ratio becomes narrower. Unreal Engine v5.3 changes this to Maintain Y (vertical) FOV. This might not be a good fit for your monitor setup with a particular game. With this setting you can override what the game is doing and control it yourself.
Saving the current configuration as the default settings
On the Configuration tab you'll find the Save configuration as default button. This button will save the current configuration (settings, key bindings, gamepad bindings, theme) as the default for the UUU, so it'll use these settings next time you use the UUU with a game you haven't used the UUU with before. It's not going to overwrite the settings for games you already have used with the UUU, as these have their own settings already set.
Opening the in-game console
In-game, press the ~
key (it's the key above the TAB
key on your keyboard), or the key you configured if you're on a non-US keyboard.
This should give a small line at the bottom of the game screen in which you can type commands.
If you type the ~
again you'll get a larger console window which also shows the response of the game on your commands.
There are many commands to choose from. Not all of them work. E.g. god
or fly
might say they're activated but chances are they're not doing anything. Commands like fov 50
(to set the FoV to 50 degrees, default is likely 80), pause
(to toggle the pause of the game) and a lot of console variables do work. In Unreal Engine 5 the cheat manager object isn't instantiated like it was in Unreal Engine 4, so commands like toggledebugcamera
aren't working at this moment.
For more information about tweaking UE5 games, please see the Tweaking Unreal Engine 4 Games guide on the Framed Screenshotting Community site for more info about what commands you could use to make the game look even better. For an interactive list of all Unreal Engine 5.1 commands and variables, please check the UE5 command page on the framed site
What to do when the console doesn't open
It might be the ~
key doesn't do anything, even though the console was created successfully by the dll. This might be caused because the game unbound the ~
key and therefore it's not possible to open the console. Additionally, you might be using a non-US keyboard, like an Azerty keyboard, and on those keyboards, the ~
key isn't above the TAB key and the engine won't recognize it.
To correct this by choosing a different key to open the console, please see the Configuration section above.
Setting the console key in the game's ini files
Alternatively, you can add a custom console key to the game's ini file. This doesn't always work, but it's worth a try if you want to use another key than is available in the menu. Follow these steps
- In explorer go to:
c:\users\<your username>\AppData\Local\<game name>\Saved\Config\WindowsNoEditor
- open Input.ini
- Add (pay attention to the empty line, that has to be there):
[/Script/Engine.InputSettings] ConsoleKey=Tilde
- Save and set the file to readonly. You can also set it to another key, e.g. K.
Console tricks
The Unreal Engine console supports copy / paste of text. This is a great help if you want to execute multiple commands and have to type them in every time.
Additionally, it supports multiple commands on the same line, where you separate the commands with the |
character. Combined with copy/paste you can
create long strings of commands in a text file and copy/paste them over to execute all the commands in one go.
Examples:
showhud 0|fov 60|pause|r.postprocessaaquality 2
This hides the hud, sets fov to 60, pauses the game, and sets the AA to a lower quality so you don't have jitter blur.
The console also remembers a history of commands, and keeps the line with multiple concatenated commands as one line. To show the history, press the arrow-up key in the console.
Misc. adjustments
The UUU offers some extra features for your game:
- Game speed
- Enabling this setting will allow you to control the game speed. This is similar to specifying
slomo
with a value on the in-game console, e.g.slomo 0.2
will run the game at 20% of the full speed. It is only available if the Slomo pause is available (see Available features). A value of 1.0 is 'normal game speed' and a value of 0.0 is total pause. - Npc animation speed
- Enabling this setting will allow you to control the animation speed of NPCs / other characters in the game. A low value will make them go very slowly, a high
value will make them go very fast. To pause the NPCs, press the NPC pause key, by default that's
END
. Please see the note below about caveats. - Player size
- Enabling this setting will allow you to shrink or enlarge your player's character in-game. Setting the slider all the way to the left (the minimum value) will make your character
(almost) disappear. Use this to hide your character. To make the setting take effect, the game has to receive input to move the character. If you have paused the game already,
press e.g.
W
or the left stick forward and after it the key for frameskip (defaultPageUp
). - Existing game light intensity percentage
- Enabling this setting allows you to dim existing scene lights to the percentage you've specified. So if you set the slider to 10%, it'll dim all scene lights to 10% of their original intensity. It might take a short period of time before the UUU has collected all lights in a scene so be patient. Some games bug with this feature and show only darkness immediately after enabling the toggle. The main purpose of this feature is to be able to add your own custom lighting to a scene using the Lights feature of the UUU.
- Toggle player visibility:
- This toggles the player's 'actor' pawn's visibility, as well as the visibility of directly attached 'actors' like weapons. It might be effects and other elements might not hide, but it depends on the game. The player isn't hidden for enemies, the visible representation (e.g. your character) isn't rendered
- Make player invulnerable
- This setting might not work in all games. It disables the flag that your character can receive damage, but some games have implemented this differently and in these games it has no effect. You can use this to create better action shots.
Npc animation speed might crash your game or cause enemies to disappear. It's key to first use the Npc animation speed before pausing Npc's as it might be the game you're using the UUU with can't deal with an animation speed of 0. It also might be the feature doesn't affect certain characters in your game. This is likely because these characters aren't deriving from the Unreal Engine's Pawn class.
If you pause NPCs and new NPCs are spawned, these aren't paused. This is because the UUU first grabs all existing NPCs and then pauses these. New NPCs spawned after that won't be affected.
Post processing
The post-processing tab offers a way to control a variety of post-processing effects of the engine. It depends on the game's engine version (the higher, the better), and if the game uses a given feature to make a setting have any effect.
As there are over 96 settings available, it's too much to document them all, so please look at the Unreal Engine documentation for post processing:
- See https://docs.unrealengine.com/5.2/en-US/post-process-effects-in-unreal-engine/ for post-processing overview
- See https://docs.unrealengine.com/5.2/en-US/API/Runtime/Engine/Engine/FPostProcessSettings/ for details per setting.
You'll notice there are even more settings available in the engine. I've implemented support for the ones that made sense in a real-time game environment (hence why there are no path tracing settings).
All settings are grouped together. To show a group, click on the group header. To control the settings you can enable them and then change the values or
set multiple settings in one go by using presets. The UUU ships with a couple of presets to get you started. You can create new
presets by enabling one or more settings and clicking the Save as preset... button. This will ask for a name for the preset and if the name is valid
it'll save the settings under that name in the file name specified.preset, in the folder PostProcessPresets
in the UUU folder.
You can activate more than one preset at a time, so you can create small presets and this gives you fine control over what you want to do.
Editing post-processing values gives a lot of power over how the game looks. To get back to the original state, click on Reset all, to reset all settings to the default values and switch them off. Clicking Toggle all off will switch all settings off, but won't reset them to their default values.
The 'default value' for a setting is the default value Unreal Engine defines for the setting. It might not be the active value that's used by the game.
Multiple game pause/timestops
The UUU has two ways to pause the game: using the normal UWorld::IsPaused hack, (Numpad 0
), and one using the slomo command code, (Page down
).
You can use either one, if they're both available/found. Numpad 0
is a hard-pause which could lead to TAA jitter in the scene.
You can remove that by stepping down the AA a bit, using the following command on the in-game console: r.postprocessaaquality 2
in the console.
To set it back, use r.postprocessaaquality 6
. The downside of that is that cutscenes might play on and the lower quality AA might remove some effects.
The slomo based pause using Page Down
doesn't suffer from TAA jitter, and can pause most, if not all, cutscenes as well (except audio in some
situations). In general, if the latter is supported, you should use the slomo based pause.
If both don't work, you can try pause
on the in-game console. pause
isn't an official command but a lot of games support it in one way or the other.
Lights
The UUU offers the ability to create an infinite number of custom lights in a UE5 game. If the feature is available in the game, you can use the Lights tab to create new SpotLights and PointLights and edit their characteristics. A SpotLight is a light which shines a cone of light in one direction and a PointLight is a light that shines light in all directions.
The Lights Tab
The screenshot below shows an example where two SpotLights have been created
The grid shows the following columns:
- Is Active
- This column shows which light is the 'active' light for keyboard shortcuts. The light which has 'True' in this column is affected when you press one of the keyboard shortcuts that work on an existing light, like attach to camera.
- Light Type
- The type of the light, be it SpotLight or PointLight
- Is Attached
- Each light which is attached to the camera has a toggle button shown in this column. You can use this toggle button to detach the light from the camera. When doing so and you left the option Preserve camera state when attaching a light checked, then the camera will move to its original position (unless the free camera isn't active).
- Is Enabled
- This column contains a toggle for each light to switch it off and on
- Color
- This column offers a color editor for quickly changing a light's color without going into the light editor.
Additional to these columns, the last column contains four buttons per light:
- This button will move the camera to the light and attach the light to the camera. This will mark the light as 'active'.
- This button will move the light to the camera and attach the light to the camera. This will mark the light as 'active'.
- This button will create a copy of the light at the position of the camera.
- This button opens the light in the Light Editor and marks it as 'active'.
The buttons that attach a light to the camera will preserve the original camera position, if the option Preserve camera state when attaching a light is checked. The camera will return to that position when you detach the light from the camera. Attaching a light to the camera gives fine-grained control how to position the light.
When you have a light attached to your camera and you move it around, it might be the engine will stop updating the light in the 3D world. To fix this, switch the light off and on again (yes, really) and the engine will restart rendering it. Use the toggle under Is Enabled for that.
At the bottom of the Lights tab the following options are available:
- New SpotLight
- Clicking this button will create a new SpotLight at the location and rotation of the camera using the default values.
- New PointLight
- Clicking this button will create a new PointLight at the location and rotation of the camera using the default values.
- Toggle All Visualizers On/Off
- This button will toggle the visualizers for each light on or off. If the button isn't enabled, your game doesn't support light visualizers. Light visualizers are off by default.
- Toggle All Lights On/Off
- This button will toggle all lights you've created on or off.
- Delete All Lights
- This button will delete all lights you've created. It'll ask for a confirmation first.
- Preserve camera state when attaching a light
- Checking this checkbox will perserve the camera position and rotation when you attach a light to the camera. It's then moved back to its original position when you detach a light.
When you're done with a scene and thus your lights are no longer of value, it's highly recommended to delete them. It might be the existing lights will keep the game from loading another level or might even crash.
When you create a new light and it doesn't seem to affect some elements in the world, e.g. your character is unaffected by it, please check the light channels
The Light Editor
When you click the Edit Light button of a light in the Lights tab, it is opened in the Light Editor. The Light Editor looks like the following screenshot:
The Light Editor has many controls, which you can view by expanding the various parts, like Placement and Rotation, Shadows etc. The Light Editor remembers what you have expanded so next time you open a light in the Light Editor, you don't have to expand all groups again.
The Light Editor offers several numeric textboxes like the x/y/z coordinates. To change these, click inside these textboxes and use your mousewheel to change these values quickly. Hold Shift while using the mousewheel to change the value with bigger steps, hold Control while using the mousewheel to change the value with small steps.
The Light Editor offers the following functionality:
Placement and Rotation
Placement
X and Y are horizontal, so changing X and / or Y will move the light in a horizontally direction. The X and Y coordinate are relative to the world, not to the camera. Z is up, so making Z smaller will move the light down, making the value bigger will move the light up.
- X
- This is the x coordinate of the location of the light.
- Y
- This is the y coordinate of the location of the light.
- Z
- This is the z coordinate of the location of the light. (Up)
Rotation (Spotlights only)
The angles are in degrees, so 0 and 360 are the same position. If you move the slider of an angle to either the start or the end, you should continue on the other end of the slider. So moving the slider to 0 (the left edge, or start of the slider) makes you can't go any further as the slider stops at the left edge. To rotate the light further in the world, you should move the slider all the way to the right (360 degrees) and then slide the slider to the left.
- Pitch
- This is the angle to rotate the light up or down. 0 is straight down, 180 is straight up.
- Yaw
- This is the angle to rotate the light left or right.
- Roll
- This is the angle to rotate the light along itself. This angle is usually 0, and only used if you use the source radius settings (further below), so you can rotate the reflection.
Color and Intensity
- Color
- This color editor allows you to edit the color of the light using HSV, HSL or RGB editors, whatever you prefer. See the Wikipedia article about what HSL and HSV means.
- Temperature
- When enabled allows you to specify the temperature of the light, from 1000 Kelvin to 15000 Kelvin. This is additionally to the light color and can change how a light's color will look. See the chart below what temperature does to a white light. It's recommended to first use the temperature slider to set your light's color, unless you're going for a light color that's not achievable with the temperature slider. The main reason for this is that temperature changes won't affect the luminosity of the light, while color changes do.
- Intensity
- The brightness of the light. The maximum value of this slider is controlled by the Intensity max value slider.
- Intensity max value
- The maximum value of the Intensity slider. To be able to have fine-grained control over the Intensity value, the maximum is configurable.
- Attenuation radius
- This slider controls how far in the world the light will affect geometry and models. The higher the value the more will be lit by the light.
- Volumetric scattering intensity
- This is the amount the light affects the fog that's in the world. It might be this option doesn't do anything, because there's no fog volume in the game at the light's location.
- Indirect lighting intensity
- This scales the indirect lighting contribution from the light to the environment.
- Samples per pixel (raytracing)
- This sets the number of samples to use per pixel for Ray Traced Shadows from Point and Spot Lights. Additional samples decrease performance while increasing quality and accuracy.
Shadows
- Cast shadows
- This checkbox toggles shadow rendering of the light. Off means no shadows at all.
- Cast deep shadows
- This checkbox toggles deep shadow rendering, which is used on some hair rendering techniques in UE5. Only works when the game uses the hair rendering system of UE5.
- Cast raytraced shadows
- This checkbox toggles whether the shadows cast by the light are done by raytracing. This requires the game to have raytracing enabled.
- Cast volumetric shadows
- This checkbox toggles whether the light will cast volumetric shadows in fog volumes when the Volumetric scattering intensity is set to a value that makes the light show a light beam.
- Shadow bias
- This controls one of the two shadow bias values. In general: if the light is close to the object that's shadowed, setting this to a lower value gives sharper shadows and no banding. See the Unreal Engine documentation for more details
- Shadow slope bias
- This controls one of the two shadow bias values. See the Unreal Engine documentation for more details
- Shadow Resolution Scale
- Scales the resolution of shadowmaps used to shadow this light. By default shadowmap resolution is chosen based on screen size of the caster.
Constrained by the value set to
r.Shadows.MaxResolution
. Only effective if the game has been compiled with Raytracing Support Off. - Contact Shadow Length
- Length of screen space ray trace for sharp contact shadows. Zero is disabled. See the Unreal Engine documentation for more details
Physical Characteristics
SpotLight specific
- Inner cone angle
- Sets the inner cone angle of the SpotLight, in degrees.
- Outer cone angle
- Sets the outer cone angle of the SpotLight, in degrees. Setting this value the same as the Inner cone angle gives a hard edge on the light's circle.
Settings for all light types
- Source radius:
- The radius of the light source shape. Mostly used for the reflection of the light itself
- Soft source radius
- The radius of the soft edge of the light source shape. Mostly used for the reflection of the light itself
- Source length
- The length of the light source shape. Mostly used for the reflection of the light itself
- Specular scale
- The scale of reflection of the light source shape. Setting this to 0 will mean the light isn't reflected at all.
- Affect dynamic indirect lighting
- Whether the light is added to the dynamic indirect light already in the scene
- Affect transluent lighting
- Whether the light is added to the light through transluent/ transparent objects.
- Affect global illumination
- Whether the light affects global illumination. Only in effect if the game uses a dynamic GI system.
- Affect reflection
- Whether the light is added to the reflections in surfaces. This isn't the light bulb itself, but the lit elements lit by the light.
- Transmit through sub-surface scattered surfaces
- Whether the light should transmit through sub-surface scattered surfaces such as skin or leafs on trees and plants.
Light channels
Light channels are a way for UE to control which lights affect which objects in the world. A light that has only its Light channel 0 checkbox checked, won't affect any object in the world that's set to light channel 1 or 2. By default a light is placed in the light channel 0 (unless the game puts all lights in specific channels). E.g. if your light doesn't affect your character (e.g. in Darksiders III, the player's character is on Light channel 1), check the checkboxes of the other light channels to have the light affect the character.
Light visualizers
Light Visualizers are in-game objects to show you where your lights are and in what direction they're pointing. For spotlights an arrow is placed at the location of the light and it points in the same direction as the spotlight. For pointlights a 6-arrow object is placed at the location of the pointlight.
Visualizers are off by default but can easily be toggled on with a single button on the Lights tab or using a keyboard shortcut. By default the keyboard
shortcut is ;
, but you can change this in the Keybindings tab. Especially users using a non-US keyboard would likely want to bind a different key for this.
Moving the light will also move the visualisers as well as rotating (in the case of spotlights). Changing the color of the light will also change the color of the visualizer for that light. The light color might look a bit different than the visualizer color, this is due to how Unreal Engine draws the shading on the arrow.
Further reading
Lighting is a complex topic and it can help to read a bit more about how lights work in UE5. The lights created by the UUU are movable lights and the documentation about movable lights in UE5 applies to these lights.
- The lighting documentation of UE5
- UE4 Lighting Types video by Ryan Manning which applies to v5 as well.
Player pawn movement
The UUU offers the ability to move your player pawn, the in-game character when the camera is active. This can be particularly handy when you have paused the game but your character is not really in the right spot. This feature is only available when the camera is active so you can't use this to 'teleport' to another location on the map.
Player pawn movement and rotation has been implemented for mouse and gamepad. If you have the camera device set to gamepad, you can use the gamepad for moving/rotating the player pawn. If you have set the camera device to 'keyboard/mouse', you can use the mouse to move / rotate the player pawn. If you have set the camera device set to 'both' you can both use the mouse or gamepad to move / rotate the player pawn.
Caveats
- It might be your player pawn moves but some part is stuck on the old location. This isn't solveable. After moving / rotating, press the Skip Frame button to quickly unpause/pause again.
- Some games don't let you rotate the player pawn when it's doing an animation. This isn't something the UUU can fix.
- Moving the player pawn when the game isn't paused will continue to apply physics on the character, so trying to move the character up or down likely won't work. Instead pause the game and then try to move the character up/down.
Gamepad
To enable move / rotate mode for gamepad, press the A button (or X on a Playstation controller) together with rotation left/right stick and/or using the triggers. Releasing the A button will make the gamepad move the camera again.
So e.g. to move your player pawn a bit to the left, hold A plus push the left stick to the left. To get fine-grained control over movement also press X (or []
on a Playstation controller) to slow the movement. To move the player pawn up or down use the left or right trigger. For rotations, instead of using the left stick, you use the right stick.
Mouse
To enable move / rotate mode for mouse, press the Shift key on your keyboard together with moving your mouse and pressing no button or the left mouse button or the right mouse. Releasing the Shift key will make the mouse control the camera. The movement is the same as when controlling the camera with only the mouse. Holding Ctrl will give you fine grained control over the movement and rotation.
So like the example with Gamepad above, to move your player pawn a bit to the left, hold Shift while holding the left or right mouse button and move the mouse to the left.
The in-game overlay
Starting with the UUU v5.2.0, the UUU now offers an in-game overlay which can be opened by pressing Ctrl-Insert
. If you have bound another key to camera enable, you have to press Ctrl
and that key.
The in-game overlay offers a limited set of the same features available through the keyboard as well as a way to manipulate elements in the game world.
While I've spent considerable time to test this feature and iron out all the different quirks for various games, it's not unlikely you will run into crashes when e.g. changing the skeletal mesh of a character or change the animation. These crashes are likely related to game code and there's no fix.
Additionally, various versions of Unreal Engine introduced different features and fixes for long standing bugs so for e.g. older games, playing an animation on an in-game character will make it T-pose when you disable the camera. The overlay will mention this and will only allow custom animations on a clone of the character. This is easy to do by clicking the 'Clone and hide original' button. I've run into some games where cloning the main character however caused crashes so for some games you sadly will run into problems either way.
Unreal Engine uses a strict garbage collection system in memory which means if something isn't used anymore, it'll be 'removed from memory'. This might be the case if you e.g. set your character's skeletal mesh to something else so the original skeletal mesh isn't used anymore in the game world. It might then result in a crash when you disable the camera/reset the actor, as the UUU doesn't know the original skeletal mesh has been removed and tries to set the actor to that (now removed) original skeletal mesh. So changing skeletal meshes is best done on clones.
When disabling the camera, your changes will be erased and the world state will be restored as-is. It might be some characters will T-pose or A-pose if you have changed their animations. This isn't fixable and is described in detail below.
The overlay has a resizable window with three tabs: Camera, Actor selection and manipulation and Pause / Gamespeed. You'll see ?
icons on various places; please hover over these icons to get more info about a feature.
The Camera tab
The Camera tab contains basic controls over whether the camera is enabled, the FoV, roll/tilt and temporary storage of camera state (which are also available through Ctrl-F1/F2/F3
).
The Actor selection and manipulation tab
All elements in a gameworld in Unreal Engine are an 'Actor', the enemies you fight, the walls, the floor, everything. You can select them by clicking them in the world. You'll see the selected elements in the list of Selected actors. The UUU offers features for two type of actors: static mesh actors (e.g. walls, floors, trees) and skeletal mesh actors (e.g. enemies, your character). By default Unreal Engine doesn't mark static mesh actors as moveable, which means you can't rotate/move them. To make that possible, you have to check the Is movable checkbox for the particular actor.
Posing a character (Skeletal mesh actors)
To change the pose of your character and even resize elements of a skeletal mesh actor (e.g. your character or an enemy), you can open the pose editor for a skeletal mesh actor after you've selected it, by clicking Show pose editor. This will open the Pose editor. The pose editor is described in more detail further below.
Changing the skeletal mesh/animation (Experimental options)
This feature is marked Experimental because of the issues that can arise when changing meshes/animations during a gameplay session. This is also documented in the overlay when you click open the 'Experimental options' heading
Changing the animation on a character from the game world that's not a clone will likely result in a T-pose/A-posed character when you reset that actor or disable the camera. This is depending on the game whether it will re-run animation initialization when the animation / skeletal mesh is reset on a character. Some games will do that, others won't. So it's best to first clone the character and set the custom animation on the clone.
Changing the skin/mesh for a skeletal mesh actor requires the camera to be active. Once you've enabled the camera, and selected an actor that's a skeletal mesh actor, you can change its skeletal mesh (if there are any) and animation. Be aware that game code might crash if it is confronted with two playable characters all of a sudden (e.g. you cloned your character), or that the game crashes because you play an animation that's not expected. So use this feature with care (e.g. be sure to save to avoid losing a lot of progress).
Once you've started an animation on a skeletal mesh actor, you can pause it by clicking the 'Stop animation' button. This allows you to, e.g. set the exact position within the animation to find that frame for the best screenshot.
Scaling/moving/rotating the actor
You can move and scale an actor (if it's moveable) and if the gamelogic allows it, also rotate the actor. With this, combined with cloning actors and pausing their animations at different frames, you can create custom scenes. The movement directions are relative to the camera look direction. So if you want to move something in a certain direction, you have to take in to account the direction the camera is facing.
Resetting an actor's state
When you disable the camera, the actors you've changed will be reset to their original state. You can also do that per actor by clicking the 'Reset actor state' button. This will set the actor's state back to the original state it had before you selected it, and will remove the actor from the selected actors list. If the current actor is a clone, there's a 'Delete clone' button instead.
The pose editor (Skeletal mesh actors)
The pose editor is available for Skeletal mesh actors, if the UUU has found the necessary information. To open the pose editor, please click the Show pose editor button. If the button isn't available, even tho you have selected a Skeletal mesh actor, then the UUU wasn't able to obtain the right information and the pose editor won't be available to you.
After you've clicked the Show pose editor button, you'll see a new editor with two panels glued together, the Pose editor window itself and a separate panel 'Bone Controls panel'. If you want this Bone Controls panel to be docked at the bottom of the Pose editor window or as a free floating window, you can do so by selecting the right Dock type in the Bone Controls panel. To make the panels bigger or smaller, please use the resize triangles in the lower right corner of the panels.
The Pose editor panel contains a tree with 'bones', which form the skeleton of the current mesh of the skeletal mesh actor (e.g. your character). The tree is hierarchical, meaning the bones attached to a given bone (e.g. lower arm to an upper arm) are displayed below it. This hierarchy is important because rotating the 'parent' bone will also rotate / move the 'child' bones attached to it.
Getting started with posing
Posing a character starts by checking the Enable pose editing checkbox. When doing that, the animation of the character will pause and you can now change the position, orientation and scale of any bone in the skeleton, except the Root bone. If the character you selected has e.g. a spine bone, click that bone in the tree, and you'll see you can change values in the Bone Controls panel. Click and drag any of the values to change them and you should see the bone change. It can be the bone has no direct effect on your character but usually you'll see a different. E.g. a spine bone, if you change one of the angles you'll see the character's torso will rotate in a given direction.
To quickly rotate/move/scale, hold Shift + dragging. To specify an exact value, Ctrl click on a value and to precisely drag a value, hold Alt while dragging the value.
Saving/loading a pose
You might want to re-use a pose for a character at a later time. To do this, you can save a pose by clicking Save pose... at the top. To load a pose you've saved previously, please click Load pose.... If you only want to e.g. load the scale or orientation of the bones in the pose, you can specify that with the Load options... button.
Keep in mind that bone data is stored per bone name. While it's common that different characters in a game share a great deal of bones, it's unlikely you can load a pose from game A into game B: the loading will succeed but your character likely will be totally messed up or it won't do anything at all.
If you have questions, they might have been answered in the FAQ section of this documenation site.
The pause tab
The pause tab offers the basic pause features, like pausing the game using the two different pause systems, as well as pausing NPCs. It additionally allows you to specify the gamespeed and/or NPC speed: first check the checkbox in front of the value, after which you can alter the value.
The overlay settings
When you open the overlay, at the top of the screen you'll find a menu bar with some status messages if you e.g. have enabled the camera or paused the game. The settings menu for the overlay is on the top left, where you'll find a couple of settings to make your life easier when working with the overlay. The settings are straightforward and stored per game.
Games that work with the UUU
Although the name suggests it's a universal unlocker that always works with any Unreal Engine 5 game, the reality is that developers sometimes change the game engine's code and the unlocker can't re-activate the console as essential functions aren't there anymore, or activate other features offered by the UUU. The list below are games which are known to work with the unlocker.
The Lights column mentions all games which have been verified that the custom lights work. It might very well be the lights work in many other games on this list. If you play one of these games and the lights work for these games but it's not marked as such on this list, please let me know.
If you're pausing with PageDown (slomo pause), and have motion blur enabled in the game's settings (or it's enabled by the game and you can't disable it in the game settings) you'll likely see motion blur streaks / blurry edges when moving the camera in games. To disable this, please use
r.motionblurquality 0
on the console to disable motion blur. To enable it again specify a value higher than 0.
Title | Lights | Notes |
---|---|---|
Abiotic Factor | Yes | |
Akimbot | Yes | |
The Alters | Yes | Test on demo |
Amber Alert | Yes | |
American Arcadia | Yes | |
ARK: Survival Ascended | No | No Numpad 0 pause, no lights. Tested on early access. |
Banishers: Ghosts of New Eden | Yes | Numpad 0 pause will hide your weapons after a few seconds. You might want to rebind some keys as they conflict with some game keybindings. |
Beyond Hanwell | Yes | |
Black Myth: Wukong | Yes | Tested on benchmark. Console doesn't open, add the console key to the input ini file as described in this document. |
Caravan SandWitch | Yes | |
The Casting of Frank Stone | Yes | Pausing using slomo pause (PgDn) causes issues with a hanging game at times. Pose editor not available. Tested on demo. |
The Chronos Event | Yes | Tested on demo |
CHUXIE | Yes | |
Creatures of Ava | Yes | Tested on demo |
Darker Skies: Remastered for PC | Yes | |
Descensus | Yes | Tested on demo |
Demonologist | Yes | |
Desordre : A Puzzle Game Adventure | Yes | |
Don't scream | Yes | |
The Exit 8 | Yes | |
The Fabled Woods | Yes | |
Fading Skies | Yes | Tested on demo |
Fort Solis | Yes | Use PgDn pause to pause the game, pausing with Numpad 0 won't let you move the camera. DoF sliders in postprocessing don't work. |
Frostpunk 2 | Yes | Tested on beta. |
Furnish Master | Yes | |
Garten of Banban 2 | Yes | Tested on demo |
Graveyard Shift | Yes | |
Gori Cuddly Carnage | Yes | |
Hellblade 2: Senua's Saga | Yes | Requires UUU v5.1.6+. To get rid of the CA/lens distortion, use: r.NT.Lens.Distortion.Intensity 0 , r.NT.Lens.Softness.Intensity 0 and r.NT.Lens.ChromaticAberration.Intensity 0 on the console. For hotsampling, run the game as 'Fullscreen' (which is borderless fullscreen) and specify on the console: r.NT.EnableConstrainAspectRatio 0 . This will also get rid of the black bars on a 16:9 screen. To disable the Depth of Field you can do that on the Post processing tab or by using r.DepthOfFieldQuality 0 on the console. |
Hillside | Yes | Tested on demo |
Homeless | Yes | |
Honeycomb: The World Beyond | Yes | Tested on demo. |
I'm counting to 6 | No | |
Immortals of Aveum | Yes | |
Inzoi | Yes | Tested on character editor |
Jujutsu Kaisen Cursed Clash | Yes | |
Jusant | Yes | Tested on demo |
Layers of Fear | Yes | |
Lords of the Fallen (2023) | Yes | Requires UUU v5.0.7+. Requires Easy Anti-Cheat disable. Do this either by using FLiNG's trainer or by using method 2 from this fearless thread. This will disable achievements and you can't play online. |
Lushfoil | Yes | |
The Mystery of William Moore | Yes | |
Monterona | Yes | |
Nathan Morgan - Dilemma | Yes | |
Nobody wants to die | Yes | Use 5.2.2+ for a proper HUD toggle |
One Last Breath | Yes | |
Outpost: Infinity Siege | Yes | |
Palworld | Yes | |
Pine Harbor | Yes | |
Platform 8 | Yes | |
Pneumata | No | |
Purpose 1951 | Yes | |
Remnant II | Yes | |
Riven | Yes | |
Robin Hood - Sherwood Builders | Yes | |
Robocop:Rogue City | Yes | Requires UUU v5.0.7+. Tested on demo. |
Scholar's Mate | Yes | |
Serum | Yes | |
Silent Hill 2 Remake | Yes | No console (might want to use the ini file instead)/hud toggle/pose editor |
Slender: The Arrival | Yes | |
Song of Nunu: A League of Legends Story | Yes | |
Sparkhunt | Yes | (Tested on demo) |
Squirrel with a Gun | Yes | |
Still Wakes The Deep | Yes | |
Stray Souls | Yes | Tested on demo |
Sumerian Six | Yes | |
Supernatural | Yes | |
Supernormal | Yes | |
The Talos Principle 2 | Yes | |
Tekken 8 | Yes | Requires UUU v5.1.1+. Tested on demo. Gamespeed / PgDn pause don't work. Some other features might not work like character movement. Outside, lights might need a very high intensity. Pose editor won't work. |
The Thaumaturge | Yes | |
This Bed We Made | Yes | |
Titanic Project 401 | Yes | Tested on demo |
Tribe: Primitive Builder | Yes | |
Until Dawn | Yes | There are fov issues when the game switches camera PoV, enabling/disabling the camera fixes it |
Wizard of Legend 2 | Yes | Tested on demo |
Dumping object information
The UUU can dump the object store with the memory locations, names, types, structure and more of all currently active engine objects a text file in the game folder, called UUU_ObjectsDump.txt
. To do that, on the Available features tab, click the Dump object info button. The memory addresses listed in the file differ per level and every time you run the game, so if you want to look up objects in-memory after you've loaded a new level, you have to dump the file again.
Dumping cvars
The UUU can dump cvars (console variables) and console commands with their name, current value, their type and help text to a text file. This text file will be placed in the game folder, called UUU_CVarsDump.txt
. Additionally, they're also written to a .json file in Json format, in the same folder, with the filename UUU_CVarsDump.json
. To dump the cvars, on the Available features tab, click the Dump CVars button. This dump will not only include all default UE5 cvars and console commands but also custom ones added by the game developer.
After you've dumped the cvars to a file, open it in notepad or other text editor. For a particular cvar, the dumped information in the text file looks like this:
foliage.LODDistanceScale | Float | 1.000000 | 0x0 (SetByConstructor) Scale factor for the distance used in computing LOD for foliage.
This tells you: the variable foliage.LODDistanceScale
is a floating point variable, has currently the value 1.0
, has no special flags, and
has as help text Scale factor for the distance used in computing LOD for foliage. See for more information how to read and change console variables
Opening the in-game console.
When you dump the cvars, the UUU will reset flags that prohibit you from executing certain commands and setting certain cvars which set to readonly or are cheats. This doesn't mean they'll work or have any effect (as that depends on the final engine code being included in the game), but at least you can change their value and execute these commands.
Information recorded with camera path nodes
When you create a Camera path, each node records the camera location, orientation and field of view. Additionally, the post processing settings: Auto exposure bias, Depth of field focal distance, Depth of field f-stop and Vignette intensity are recorded as well.
Saving/restoring camera state
After you've enabled the camera (default with Insert
), you can store the current camera state in three slots. The camera state is the current location,
the orientation/rotation of the camera and the FoV, as well as other information recorded in camera path nodes, as the system uses camera path nodes under the hood.
By default you save the camera state by using
Ctrl
+ F1
for saving the current camera state in slot 1, Ctrl
+ F2
for saving the current camera state in slot 2 and
Ctrl
+ F3
for saving the current camera state in slot 3. To restore the camera state to a saved state, press F1
to restore the camera to the state saved
in slot 1, press F2
to restore the camera to the state saved in slot 2 and, press F3
to restore the camera to the state saved
in slot 3. These keys are configurable in the keybindings tab.
When you disable the camera again, the saved states are lost. If you want to preserve game states after you disabled the camera (e.g. you want to move the character a bit, and then enable the camera again), use a camera path and add the camera states you want to save as nodes. Camera paths are preserved after you disable the camera.
Controls
The default photomode mod controls are listed below. It depends on the Camera control device setting on the Configuration tab whether the device (e.g. mouse or gamepad) can control the camera.
Mouse
When moving the mouse:
- No mouse buttons pressed: rotate the camera
- Left button pressed: move camera up / down / left / right
- Right button pressed: move camera forward / backward / left / right
- Both left and right button pressed: tilt camera left / right
- Mousewheel: increase / decrease Field of View (FoV)
When you are holding Ctrl
, rotation/movement is slower. When you are holding Alt
, rotation/movement is faster.
When moving the mouse and holding Shift
:
- No mouse buttons pressed: player pawn rotation left / right
- Left button pressed: move player pawn up / down / left / right
- Right button pressed: move player pawn forward / backward / left / right
Keyboard
Normal camera usage
Key | Feature |
---|---|
Insert |
Enable / Disable the camera |
Numpad . |
Block / Unblock input to game |
Numpad - |
Decrease FoV (+ Ctrl : slower) |
Numpad + |
Increase FoV (+ Ctrl : slower) |
Numpad * |
Reset FoV |
Home |
Lock / Unlock camera movement |
Numpad 4 |
Move camera left (+ Ctrl : slower, + Alt : faster) |
Numpad 6 |
Move camera right (+ Ctrl : slower, + Alt : faster) |
Numpad 8 |
Move camera forward (+ Ctrl : slower, + Alt : faster) |
Numpad 5 |
Move camera backward (+ Ctrl : slower, + Alt : faster) |
Numpad 7 |
Move camera up (+ Ctrl : slower, + Alt : faster) |
Numpad 9 |
Move camera down (+ Ctrl : slower, + Alt : faster) |
Numpad 4 |
Move camera left (+ Ctrl : slower, + Alt : faster) |
Arrow key Up |
Rotate camera up (+ Ctrl : slower, + Alt : faster) |
Arrow key Down |
Rotate camera down (+ Ctrl : slower, + Alt : faster) |
Arrow key Left |
Rotate camera left (+ Ctrl : slower, + Alt : faster) |
Arrow key Right |
Rotate camera right (+ Ctrl : slower, + Alt : faster) |
Numpad 0 |
Pause / Unpause the game (Using UWorld::IsPaused) |
Page Down |
Pause / Unpause the game (Using slomo 0) |
Page Up |
Skip a few frames when paused |
Numpad 1 |
Tilt camera left (+ Ctrl : slower, + Alt : tilt 90 degrees left) |
Numpad 3 |
Tilt camera right (+ Ctrl : slower, + Alt : tilt 90 degrees right) |
Numpad 2 |
Reset tilt |
Delete |
Toggle HUD |
F1 |
Restore the camera state to the state saved in slot 1 (+ Ctrl : store current state in slot 1) |
F2 |
Restore the camera state to the state saved in slot 2 (+ Ctrl : store current state in slot 2) |
F3 |
Restore the camera state to the state saved in slot 3 (+ Ctrl : store current state in slot 3) |
Camera path usage
Key | Feature |
---|---|
F7 |
Start / pause playback |
F8 |
Stop playback |
F4 |
Add path |
Ctrl-F4 |
Delete active path |
F10 |
Add node to active path |
Ctrl+F10 |
Replace the active node on the active path |
Alt+F10 |
Insert a new node in front of the active node on the active path |
Shift-F10 |
Insert a new node after the active node on the active path |
Ctrl-F9 |
Delete active node on the active path |
Ctrl+Home |
Go to start of active path |
Ctrl+End |
Go to end of active path |
Ctrl+Page Up |
Go to previous node on active path |
Ctrl+Page Down |
Go to next node on active path |
Numpad 1 |
Select the first path during playback (if any) |
Numpad 2 |
Select the second path during playback (if any) |
Numpad 3 |
Select the third path during playback (if any) |
Numpad 4 |
Select the forth path during playback (if any) |
Numpad 5 |
Select the firth path during playback (if any) |
Numpad 6 |
Select the sixth path during playback (if any) |
Numpad 7 |
Select the seventh path during playback (if any) |
Numpad 8 |
Select the eighth path during playback (if any) |
Numpad 9 |
Select the ninth path during playback (if any) |
Lights usage
Key | Feature |
---|---|
Ctrl-Shift-S |
Create a new spotlight at the location of the camera |
Ctrl-Shift-P |
Create a new pointlight at the location of the camera |
Ctrl-Shift-A |
Move the camera to the active light and attach the light. This will always preserve the camera's location |
Ctrl-Shift-L |
Move the active light to the camera and attach it. This will always preserve the camera's location |
Ctrl-Shift-D |
Detach the active light from the camera. The camera will move to its preserved location when the light was attached |
Ctrl-Shift-C |
Create a copy of the active light at the camera's location |
; |
Toggle light visualizers |
Miscellaneous usage
Key | Feature |
---|---|
Alt-\ |
Toggle gamespeed override |
Alt-[ |
Decrease gamespeed. |
Alt-] |
Increase gamespeed. |
Ctrl-/ |
Toggle NPC speed override |
, |
Decrease NPC speed |
. |
Increase NPC speed |
End |
Toggle NPC pause |
As some of these are keys that are placed on different spots on keyboards for different languages, you might want to rebind these keys for your particular keyboard if they don't function properly.
Gamepad
Normal camera usage
Control | Feature |
---|---|
Left stick | Move camera forward / backward / left / right |
Right stick | Rotate camera |
Left trigger | Move camera up |
Right trigger | Move camera down |
D-pad up / down | Increase / decrease FoV |
B button | Reset FoV |
Y button + left / right stick | Faster movement / rotation |
X button + left / right stick | Slower movement / rotation |
X button + D-pad up / down | Slower FoV increase / decrease |
Camera path usage
Control | Feature |
---|---|
Start | Start / pause playback |
Back | Stop playback |
Left bumber | Go to previous node on active path |
Right bumper | Go to next node on active path |
A | Add node to active path |
Miscellaneous usage
Control | Feature |
---|---|
X button + pressing left stick | Toggle gamespeed override |
X button + left bumper | Decrease gamespeed. |
X button + right bumper | Increase gamespeed. |
A button + left stick | Move player pawn left / right / forward / backwards |
A button + right stick | Rotate player pawn left / right |
A button + left trigger | Move player pawn up |
A button + right trigger | Move player pawn down |
Credits
Development: Otis_Inf
Research: Otis_Inf and SunBeam
Logo: Ichisake
Special thanks to Pino44io for testing.