diff --git a/markdown/GeneralGuides/cinematic-unity-explorer.md b/markdown/GeneralGuides/cinematic-unity-explorer.md new file mode 100644 index 00000000..144c8f6f --- /dev/null +++ b/markdown/GeneralGuides/cinematic-unity-explorer.md @@ -0,0 +1,447 @@ +![toplogo](../Images/CinematicUnityExplorerGuide/toplogo.png){.shadowed .autosize} + +@alert neutral +**Engine versions supported:** Cinematic Unity Explorer supports most Unity versions from 5.2 to 2021+ (IL2CPP and Mono) +@end + +The [Cinematic Unity Explorer](https://github.com/originalnicodr/CinematicUnityExplorer) is a fork of the excellent UnityExplorer mod made by sinai-dev focused on providing tools for creating marketing material for Unity games, which includes an improved freecam, light control, animators control, LOD and shadows improvements, camera paths, and more. + +This guide will focus on how to download and install this mod depending on the game and how to use it to its full potential. + +# Setup +--- +The setup is the most cumbersome step of using the Cinematic Unity Explorer, but if you stick around and follow the steps as explained below you shouldn't have any problems. + +

+ + + +

+ +*If you ever get lost in this guide I suggest watching the video above for visual aid, even tho it's about installing the original Unity Explorer.* + +## Identifying the type of Unity game + +To know what files you have to install you first need to understand if the game is a `Mono` or an `IL2CPP` game and if it's 32 or 64-bit. + +### Mono or IL2CPP + +To identify if a game is `Mono` or `IL2CPP` open the game folder: + +- Mono games have a `UnityPlayer.dll` in the game folder and a `Managed` folder in the gamedata folder. They also might have a folder with `Mono` on its name. +- IL2CPP games have a `GameAssembly.dll` in the game folder and an `il2cpp_data` folder in the gamedata folder. + +@alert tip +If the game is on Steam, you can check the file structure before downloading by going to the [SteamDB](https://steamdb.info) page of the game, `Depots` section, and from the table in there, click the ID number on the game's depot (usually the one with the bigger file size). +@end + +If you happen to need it for something the Unity Engine version number can be found by opening the `globalgamemanagers` file found in the game's data folder, but it shouldn't be relevant to the guide. + +![globalgamemanagers](../Images/CinematicUnityExplorerGuide/globalgamemanagers.jpg){.shadowed .autosize} + +## Mono games + +@alert important +Some games (noticeably the ones published by EA) have encrypted game objects on runtime or something along those lines. Fortunately, MelonLoader is able to get through this encryption, but BepInEx won't work. +@end + +### 32-bit or 64-bit + +In Mono games, you have to make an extra distinction between 32 and 64 bits. To do so, launch the game and use the Task Manager to check if your game is 32-bit or 64-bit (if it is 32-bit, it will have "32-bit" next to the process name). + +![TaskManager01](../Images/CinematicUnityExplorerGuide/TaskManager01.png){.shadowed .autosize} + +Alternatively, you can look up the games page on the [pcgamingwiki](https://www.pcgamingwiki.com/wiki/Main_Page). + + +### Downloading BepInEx and Cinematic Unity Explorer + +Download the appropriate version of each, depending if the game is 32 or 64-bit. + +- [BepInEx 5](https://github.com/BepInEx/BepInEx/releases/tag/v5.4.22) + - **64 bit**: BepInEx_x64_5.X + - **32 bit (x86)**: BepInEx_x86_5.X +- [CinematicUnityExplorer.BepInEx5.Mono](https://github.com/originalnicodr/CinematicUnityExplorer/releases) + +Even tho there is a BepInEx v6 (which is a patcher/plug-in framework for Unity games) for Mono games, it is still recommended to use v5 since Mono support in v6 is still untested. + +### Installation + +@alert tip +If the game is using a DRM like Steam make sure you are launching said game through Steam and not opening the .exe directly. Some games won't start otherwise and this error might be confused with a problem caused by a wrong mod or mod loader installation. +@end + +- Extract the contents of the BepInEx zip into the game folder. Launch the game. + + You should see more folders created inside the `BepInEx` folder besides the `core` folder, and a `LogOutput.log` file, signaling that the mod loader has been installed correctly. As an alternative to know if the mod loader is working correctly, you can go to `BepInEx\config\BepInex.cfg` and under `[Logging.Console]` change `Enabled` from `false` to `true` to display the console at startup. + + If you don't see the mentioned folders or console then try doing the things listed below one by one and try running the game after each one: + - Rename `winhttp.dll` in `version.dll`. + - Double-check that the game architecture matches the downloaded BepInex mod loader (32 or 64 bit). + - [More troubleshooting tips](https://docs.bepinex.dev/articles/user_guide/troubleshooting.html). + + +- Extract the CinematicUnityExplorer zip inside the game's `BepInEx` folder. Launch the game. You should be able to see the Cinematic Unity Explorer menu pop up on startup (it might take a while for it to start, so be patient and look at the logs). + + If you don't see such a thing and want to verify you can go to the `plugins\CinematicUnityExplorer` folder. You should be able to see a `Logs` and `Scripts` folder in there. Y can also check the mod loader logs generated on `BepInEx\LogOutput.log` and try to read if there is any error. In either case, if the mod is not loading try the steps below one by one and try running the game after each one: + - Change the preloader entry point (mostly for games running under Unity 5.X). Go to `game_root\BepInEx\config\BepInex.cfg`, and under `[Preloader.Entrypoint]` change `Type` from `Application` to `MonoBehaviour`. + - [More troubleshooting tips](https://docs.bepinex.dev/articles/user_guide/troubleshooting.html). + +## IL2CPP + +For IL2CPP, even tho you can technically use BepInEx as a mod loader, we have had more luck getting MelonLoader to work instead, so we proceed to describe the download and installation process for it below. + +### Downloading MelonLoader and Cinematic Unity Explorer + +- Download [MelonLoader.Installer.exe](https://melonwiki.xyz/#/?id=automated-installation) (make sure you have the requirements described on the site installed). +- [CinematicUnityExplorer.Standalone.IL2CPP](https://github.com/originalnicodr/CinematicUnityExplorer/releases) + +### Installation + +@alert tip +If the game is using a DRM like Steam make sure you are launching said game through Steam and not opening the .exe directly. Some games won't start otherwise and this error might be confused with a problem created while trying to install the mod loader or another mod. +@end + +@alert important +Both MelonLoader and BepInEx download some necessary .dlls when first launched with an IL2CPP game, so make sure you have internet access when following the steps below. +@end + +- Execute `MelonLoader.Installer.exe`. Select where the exe of the game is, uncheck the **LATEST** checkbox, choose v 0.5.7 from the dropdown list instead, and click install. Start your game after installation. + - Leave the 'Game Arch' on auto. No need to change it. + - It can take some time until the game is loaded due to the unhollowing process happening in the background. Your game can also automatically restart once back into the loader process. The process is logged on the console. + - In some games (e.g. Sable), starting them with MelonLoader installed might sometimes throw error windows about missing DLLs, which may or may not crash your game. If they do, try starting it again. If they don't, then just continue with the game as usual. + + If you don't see a MelonLoader splash screen when starting the game or any console then there might be a problem with the mod loader. To fix it try the steps described below one by one and start the game again after trying each of them: + - Rename `version.dll` in `winhttp.dll` + + + +- Extract the CinematicUnityExplorer zip inside the game's main folder. Launch the game. You should be able to see the Cinematic Unity Explorer menu pop up on startup. + + If you don't see such a thing and want to verify you can go to the `Mods\CinematicUnityExplorer` folder. You should be able to see a `Logs` and `Scripts` folder in there. You can also check the mod loader logs generated inside the `MelonLoader\Logs` folder and try to read if there is any error in the latest one. If indeed the mod hasn't been loaded try deleting Cinematic Unity Explorer and downloading and installing [UnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip](https://github.com/originalnicodr/CinematicUnityExplorer/releases). This is likely the cause as Unity seems to be shifting into CoreCLR for their latest versions. + + Most games work with ML 0.5.7 by default and do not need any changes. Still, there might be a small chance some games (e.g. Tormented Souls) won't work once Cinematic Unity Explorer is installed, and can lead to a crash. If that happens, we recommend giving [BepInEx 6](https://builds.bepinex.dev/projects/bepinex_be) for IL2CPP a try. If that's the case go to the linked page, scroll down to "Artifacts", and download `BepInEx Unity (IL2CPP) for Windows x86` or `x64` depending on the game (follow the [Mono section](#Mono) of this guide to know which one). If even that fails try so with `BepInEx NET (CoreCLR net6.0) for Windows`. + +@alert tip +If you do not want MelonLoader splash screen every time you start the game go to `game_root\UserData\MelonStartScreen\Config.cfg` and under `[General]` change `Enabled` from `true` to `false`. +@end + +# Hotkeys +--- +The table below describes all of the default hotkeys. You can edit them to your liking by going to the Options panel inside the mod menu, changing the hotkeys you want, and saving the settings (or manually replacing them by editing the `BepInEx\config\com.originalnicodr.cinematicunityexplorer.cfg` file). + +Feature | Key +-|- +Freecam | `Insert` +Move the camera forward/left/backward/right | `W`/`A`/`S`/`D` - `UpArrow`/`LeftArrow`/`DownArrow`/`RightArrow` +Move the camera upwards | `Space` +Move the camera downwards | `LeftControl` +Speed up movement | `LeftShift` +Slow down movement | `LeftAlt` +Change freecam orientation | Right mouse click +Tilt left | `Numpad 1` +Tilt right | `Numpad 3` +Reset tilt | `Numpad 2` +Increase FOV | `Numpad +` +Decrease FOV | `Numpad -` +Reset FOV | `Numpad *` +Pause | `PageUp` +Block Freecam in place | `Home` +Block the games input | `Numpad .` +Frameskip | `PageDown` +HUD Toggle | `Delete` +Freeze NPC animations | `Numpad 0` +Open the mod menu | `F7` + +# Freecam +--- +The freecam can be enabled from the "Freecam" panel on the mods menu or with the `Insert` hotkey. However, there are two kinds of freecams, as explained in the two following subsections. + +![sidebyside](../Images/CinematicUnityExplorerGuide/sidebyside.jpg){.shadowed .autosize} + +## New Camera + +Without checking the "Use Game Camera?" checkbox on the Freecam panel, the mod will create a new camera object for you to control. This means that some post-processing effects won't be displayed (because they are being applied to the game's camera, not the new one), making the game look "ugly". + +However, we would like this to be the case in some games if the gameplay camera happens to bring unwanted effects (like in Somerville, where the gameplay camera didn't render behind the black bars, but this new camera did). + +![Freecam Panel](../Images/CinematicUnityExplorerGuide/freecam-panel.png){.shadowed .autosize} + +## Gameplay camera + +If you need these postprocessing effects you would need to check the "Use Game Camera?" checkbox in the Freecam panel. This will let you control the gameplay camera instead of creating a new one to control. + +When doing this, the Cinematic Unity Explorer will attempt to disable the component that controls this gameplay camera, but in the same cases, it won't be able to find the right component to disable and unlock the camera from the game. So if you cannot move or rotate the gameplay camera do the following: + +- Click on the "Inspect Free Camera" button at the end of the Freecam panel. +- On the Inspector window click on the "Inspect GameObject" button. +- Try disabling the components in the bottom right list by clicking on each component checkbox. +- If disabling a component still doesn't let you move or rotate the camera, turn it on again and try the next component on the list. You will eventually reach the component that controls the camera. + +Remember to enable it again when you have to return to gameplay, so the game can come back to properly handle it. + +The CineMachine component (a common Unity class used for controlling a gameplay camera) gets automatically disabled by Cinematic Unity Explorer, but some games turn this CineMachine component whenever it gets disabled, and the only solution for dealing with it is to straight up delete the component (e.g. Haven). It's advised to go back to the menu or reload the level in some capacity to get this component back once you finish your shooting session. + +![Disable another component on the gameplay camera](../Images/CinematicUnityExplorerGuide/disable-camera-components.webp){.shadowed .autosize} + +## Far and near clipping plane + +If you encounter the game world stop rendering after a certain point, you can increase the Far clip plane in the Freecam panel to see far-away meshes. + +Similarly, if you want to move the camera closer to an object and it gets cut out because of the camera being near it you can decrease the Near clip plane in the Freecam panel. + +It is also worth mentioning how there might be situations in which you would want to decrease the far clip plane or increase the near clip plane, like if there are things on the distance that you do not want to include on your shot, or there are things blocking your composition near the camera. + +## Block input + +You can enable or disable the game input when the freecam is enabled by clicking the "Enable game input" checkbox on the Freecam panel or pressing the `Numpad .` hotkey by default. This is enabled by default to avoid moving the character when moving the freecam. + +This can be used in conjunction with the "Block freecam" to freeze the freecam in a specific, nongameplay place, while you move the character around. + +Do keep in mind tho that this feature only works if the developers use Unity's Legacy Input system for their game. If the game uses a custom solution or the latest Unity system then this won't work. Implementing this for Unity's new system is in the backlog, so if you find a game using it (should say "Initialized new InputSystem support." on the logs) then please let me know on the [repository issues page](https://github.com/originalnicodr/CinematicUnityExplorer/issues) so I can implement it using that game! + +## Follow object + +Following world objects can be useful not only for recording video but also for doing motion blur shots when using it alongside a long exposure Reshade Shader. However, it's recommended to also decrease the time dilation as explained in the following section, for smoother blur. + +You can make the freecam follow a game object in the world by clicking on the "Follow Object" button in the "Freecam" panel and clicking the object on the screen. + +If you want more granular control over the following object (like the head of a character, or a wheel in a car) and have the parent object open in the inspector, you can go through its children (list of objects on the bottom left) and once you identify the object you want to follow click on it to open it on another inspector tab and click on the "Follow Object" button on the top left. + +# TimeDilation +--- +You can modify the timescale of the game (aka make it go in slow motion, or faster than normal) by clicking the "Override" checkbox on the mods menu navbar to take control of the timescale from the game and moving the TimeScale slider or writing on the input field the desired speed. + +![TimeScale widget](../Images/CinematicUnityExplorerGuide/timescale-widget.png){.shadowed .autosize} + +To return the game speed control to the game you only need to click on the "Override" checkbox on the navbar again. + +## Pause + +Given how cumbersome it can be to pause the game by clicking on a button and moving a slider (especially when shooting action scenes), you can instead do so by pressing the pause hotkey, which is `PageUp` by default. To unpause the game press the same hotkey again. + +## Skipframe + +Even tho slow-motion can be useful for action scenes, you can also "skipframe" a paused scene to get the right frame. What this will do is unpause and pause the game immediately to advance only one frame forward, letting the user finetune the scene animations. To do this, press the skipframe hotkey, assigned by default to the `PageDown` key. + +# Cam paths +--- +The Camera path panel allows the user to set up camera nodes (which hold camera position, orientation, and FOV) all over a scene as keyframes, and make the camera move alongside the curve created by these nodes to record cinematics or promotional video. You can specify the amount of time it takes the camera to complete the current path, which would move alongside it at a constant speed. + +Among the things the camera paths can currently do, there is: + +- Add and delete camera path nodes. +- Copy camera position and rotation to an existing node. +- Copy camera FoV to an existing node. +- Change the camera position and rotation to the ones in an existing node. +- Toggler to close the camera path in a loop. +- Toggler to unpause on play. +- Toggler to pause on finish. +- Toggler to wait 3 seconds before start. +- Move nodes up or down on the list. +- Control over the tension and alpha values of the path, which are curve constants that change the resulting path created from the nodes. Their effect can be clearly seen when visualizing the path, as explained below. + +As a side note, the mod UI will be disabled once the path starts, to ease video recording. + +## Visualizer +You can visualize a camera path with in-world arrows, whose origin and orientation represent the position and orientation that the camera will have at that point in the curve. To enable this click on the "Visualize path" checkbox on the Cam Path panel. Keep in mind that this will be turned off once the path starts playing since its purpose is to help the user set up the path itself. + +# Light manager +--- +The Light Manager panel allows you to spawn spotlights and point lights, as well as toggle the game's original lights to allow you to relight the scene however you want (a task that is pretty common for screenshots and lighting artists). Please note that this last feature only turns off scene lights and won't turn off ambient light or lights created by emissive materials, effects, or shaders. + +![Light Manager](../Images/CinematicUnityExplorerGuide/lights-manager-panel.png){.shadowed .autosize} + +Keep in mind that, to be able to spawn lights, you would need to be on freecam, as the manager takes the freecam coordinates to spawn the lights. + +You can edit the light parameters by clicking on the "Config" button on the panel. There might be a ton of stuff properties there, but you would want to focus on these: + +- **Intensity**: How strong the light is. +- **Range**: How far the light travels. +- **Spot Angle**: The angle of the spotlight (bigger means wider). +- **Color**: Pretty self explanatory. +- **Color Temperature**: In case you want to use more natural colors. You would also need to enable the useColorTemperature property. + +If you want to move an already created light you can use the "Move to Camera" option after positioning the camera. But if you need to fine-tune its position or orientation you can do so by clicking on the "Config" button, "Inspect Game Object" on the top left, and editing the position and rotation from there. + +There also is a default intensity input field on the panel. Since the way the intensity of a light varies a lot from game to game you have to increase/decrease this property on a light until it looks right, and once you figure out a value that works for your game you can write it as the default intensity and don't have to edit it on the new lights you spawn from that point. + +* [Light class](https://docs.unity3d.com/es/530/Manual/class-Light.html) +* [Lighting](https://docs.unity3d.com/Manual/Lighting.html) + +## Visualizer +You can also draw an arrow or sphere representing the light source from spotlights and point lights respectively, to understand your light setups better. To do so click on the "Toggle visualizer" button on a light in the panel. + +## Troubleshooting + +Some potential solutions regarding light properties to fix problems you may encounter in different games. + +### I spawned a light but can't see it + +Increase the `intensity` value on the light properties until you can see it. Once you find a value that makes the light visible make sure to type it in the "Default intensity" field so all new lights spawned are done so with said intensity. + +If this doesn't solve the issue then try increasing the `range` property. + +### The light is doing weird things to the colors in the scene, also it's very bright + +This means the light is saturating. Decrease the `intensity` value on the light properties until the colors look natural and it's not blindingly bright. Once again, once you find a value that makes the light visible make sure to type it in the "Default intensity" field so all new lights spawned are done so with said intensity. + +### The lighted-up area has some weird shadow stripes on it + +Try increasing and decreasing the `range` property of the light to see if it fixes it. + +### The game objects are not casting shadows + +Go to the Misc panel and toggle the "Make all meshes cast and receive shadows" toggle. It's still possible for the light to not cast shadows on specific meshes even with this toggled on (e.g. Dredge), but it's not that common. + +# Animator +--- +The Animator panel allows you to manually play animations on the current characters and NPCs loaded in a scene. This should be pretty useful for getting the right animation on each enemy to set up a composition. + +![Animator panel](../Images/CinematicUnityExplorerGuide/animator-panel.png){.shadowed .autosize} + +Favorite animations appear first on the dropdown list by clicking on the star button with the animation selected. + +The way the animator currently works is that it will replace the animation the entity had when the panel first loaded the entity, so depending on what animation the entity was doing when first loaded, it might be difficult to play again. + +Setting a specific frame on an animation we like would look like the following. + +- Pause the entities you want to force animations on. +- Reduce the timescale for slow motion. +- Play animations on a specific entity until you find one you like. +- When you find the right frame pause the animator by clicking on the first checkbox of the entity row. +- Make the entity animator ignore the master toggle. + +The Animator panel also allows you to freeze all characters in a scene all at once, alongside giving you control over which characters should ignore this master toggler, which is assigned to `Numpad 0` by default. That way you can make the playable character avoid getting frozen, or avoid un-freezing NPCs or enemies that already have the animations you want them to have. + +Once you are done with shooting tho, you should reset the animators of the entities that you manually played animations on. If you can't recall which entities you played animations on or you just forced animations on a lot of entities you can click on "Refresh Animators" and all of the non-deleted existing entities will get their animatiors reset. + +Alongside all of this, you can also open each character game object by clicking on their names, so you can move, rotate, scale them around, disable them, or further edit their properties and child objects. More on this in the["How to modify a game object's spatial property"](#how-to-modify-a-game-objects-spatial-property) section. + +# Post-processing panel +--- +It loads all the current vanilla post-processing effects being used when clicking on "Refresh Effects" and offers togglers to disable them. It also lets you inspect the postprocessing objects yourself if you want to edit their parameters instead. + +![Post-processing panel](../Images/CinematicUnityExplorerGuide/post-processing-panel.png){.shadowed .autosize} + +For each effect the panel may offer multiple objects since the mod has no form of knowing which one of them is actually working, therefore, it gives you access to all of the enabled effects objects. However, the effect checkbox still turns off and on all of the effect objects from that row. + +[Shader toggler](../ReshadeGuides/Addons/shader_toggler_repository.md) would still be preferred (especially as it will be able to catch custom effects that this mod can't), but the panel might still be useful for some. + +# Misc panel +--- +## HUD toggle +You can toggle the HUD elements by going to the "Misc" panel and clicking on the "Toggle HUD" checkbox, or with the `Delete` hotkey by default. + +![Misc panel](../Images/CinematicUnityExplorerGuide/misc-panel.png){.shadowed .autosize} + +Because of how it works, there might be situations in which HUD elements still pop up when you toggle them off. This is because the HUD toggle works by disabling every existing HUD element, so if these weren't present when toggling them off, then the HUD toggle won't have cached them and disabled them. This can easily be solved by pressing the HUD toggle twice to turn the HUD elements on and off again, catching these new HUD elements. + +If you find this annoying (or want more control over what UI elements to turn off with a hotkey) then I suggest also taking a look at [ShaderToggler Reshade addon](../ReshadeGuides/Addons/shader_toggler_repository.md). + +As a side note, you can look up individual UI elements by opening the Inspector panel, clicking on the "Mouse Inspector" dropdown on the top right, and selecting "UI". Then clicking on the UI element you want will result in a list of possible UI elements that you may want to open the inspector with. + +## Force High LODs + +It forces the highest models possible on all meshes no matter their distance from the camera. LOD is an acronym for "Level of Detail". + +## Screenshot support +Allows you to momentarily render the game at a higher resolution than the one being used and takes a screenshot. You can enter the multiplier of the current resolution at which the screenshot should render in the "Supersize" field. + +Please take in mind that using this function will not save the screenshot with [Reshade effects](../basics.md#reshade) if they are being used, as these get rendered outside of the engine. + +Having said that, Unity games tend to be easily [hotsampeable](../basics.md#hotsampling), but the feature might still be useful for users who don't use Reshade effects on their work. + +Screenshots are saved inside `BepInEx\plugins\CinematicUnityExplorer\Screenshots` by default, in png format. + +For a variety of reasons, some games might not have the necessary info for this feature to work, so if you cannot find it on the Misc panel then it's probably that it's not supported by the game. + +You can also set up a hotkey to take a screenshot on the Options panel. + +## Make all meshes cast and receive shadows toggle + +Take in mind that this might screw some of the original art direction of the game, as well as modify some intended light placement. + +## Make all game lights emit shadows toggle + +Pretty self-explanatory. As before, this change might enter into conflict with some tricks done by the developers, as well as their original intent. + +## Toggle to change the resolution of shadows generated by the game's vanilla lights +Changes the shadows generated by all vanilla game lights resolution to 5k. Lights created with the Light Manager already come with high-resolution shadows. + +Beware of using this one with the previous two options from above, it can easily hang your PC. + +# Tips, tricks, and common questions +--- + +## Why are the lights and changes I made on one session not appearing when launching the game again + +Because the changes done with this mod are purely on runtime. Meaning that we are modifying the info of the game in memory, and not serializing it and picking it up in future sessions of the game. However, serializing some things to be able to load them on another session is in the backlog for some features. + +# Playing around with game objects + +Before explaining some things, I believe it's a good idea to first have a grasp of some of the concepts Unity (and Oriented Object Programming) uses. + +Every object in the game world is what is called a "Game Object". Each game object can have other game objects as "children", as well as another type of object called "components", as we will explain in a bit. + +Think of these as two different bags in which you can play around with their elements, with a couple of differences: + +- The children game objects can have, at the same time, their own children, generating a sort of hierarchical family tree. +- Given a game object, if its parent game object moves, then it would move with its parent. Making it so that children game objects move relatively to their father. +- You can see these hierarchical relationships in the scene itself on the Object Explorer, as well as in the bottom left section of a game object Inspector tab. +- A group of children game objects are necessary to always be of the same type, a Game Object, but components can be of almost any type. +- These components can have variables and functions inside of them, but they always represent something, even if that something is abstract (e.g. a light is a Game Object that exists in the game world, which has a `Light` component that holds all of the properties of the light). + +So for example, if we wanted to make the head of a character bigger (assuming the character's body parts are in different Game Objects instead of the whole body in a single Game Object) we would first need to find its original game object from the Animator panel or the mouse inspector. Once we have the game object inspector tab open for the character we can start disabling children Game Object on its tree in the bottom left section. Whenever the head disappears then we found our desired Game Object, so we can click on it (instead of disabling it) and modify the game object's uniform scale. + +## How to modify a game object's spatial property + +As explained above, all objects in a scene are Game Objects, and Game Objects have the following properties, between others: + +- Position +- Orientation +- Scale + +Meaning that we can modify all of these for every object in a scene. To do so, as the example in written above, we first need access to the Game Object we want to edit a property. There are several ways of doing this, from using the Mouse Inspector to inspect world objects below the mouse, or taking a look at the scene in the Object Explorer tab and looking at the children of each game object until you find a name that makes sense for the object you are looking for (e.g. `Car (Clone)` for a car prop in the scene). Try disabling it to see if the object you are looking for disappears. If it doesn't, keep looking for other Game Objects. If it does, then you found it! Now you can click the object itself (instead of opening its tree to see its children or clicking on its checkbox to disable it) to open the Game Object in an inspector tab and modify any of the properties described above with the sliders at the top of the window. + +@alert tip +If trying to find the game object with the Mouse Inspector returns an object that doesn't seem to be useful, look at the text next to the "Follow object" button. It describes its family tree. So there is a chance that the object you obtained with the mouse inspector is actually a child (or something n levels depth in the family tree) of the object you are looking for, so click on the "View parent" button and disable it to check if this is the object you were looking for. Keep going to each level of the hierarchy and trying disabling it until you reach the last parent. +@end + +## Clone Game Objects + +When on the inspector tab of a Game Object you can click on the "Instance" button on the top right to create a copy of the Game Object. This might not work most of the time, as we are just making a new Game Object copying the target game object properties, without evaluating the potentially necessary methods to get the Game Object running and visible. If we happen to understand how to make this properly work will update it with the necessary info. + +## Switch scenes + +You may be able to force the game to load specific Scenes (levels). To do so, go to the Object Explorer panel, inside the Scene Explorer tab and then click on the bottom dropdown. You would get to see a list of different levels and be able to select the scene you want to load. Then click on "Load (single)". + +![Object Explorer panel](../Images/CinematicUnityExplorerGuide/object-explorer-panel.png){.shadowed .autosize} + +If you only get abstract scene names like "Manager" then chances are it's not working for this game. + +## Activating debug menus +There are different ways of turning on debug options in your game. One is using the [EnableIsDebugBuild](https://github.com/vtvrv/EnableIsDebugBuild/releases) plugin, but you may still need to find the unique button combination to enable these features. + +A second method that you can try is going to the object explorer, typing in the class field the word `Debug`, and looking up objects of said class. + +As an alternative, you can follow [this guide](https://docs.bepinex.dev/articles/advanced/debug/plugins_dnSpy.html) or [this guide](https://github.com/dnSpy/dnSpy/wiki/Debugging-Unity-Games#debugging-release-builds) which are more exhaustive, but exceeds the scope of this guide. + +As always, it might be worth looking up if there is a specific mod for the game that enables the debug menu. + +## Additional tips + +* Most Unity games (if not almost all of them) let you [hotsample](../basics.md#hotsampling), and even let you use custom ARs. +* If the game is exclusively fullscreen and doesn't have the option to play windowed for hotsampling, press `Alt` + `Enter` to go out of fullscreen into windowed. +* It's generally recommended to disable any overlays you have as they may conflict with the keybindings. + +# Final comments +--- +Expect this guide to be updated with time as we understand the engine better, or we polish the Cinematic Unity Explorer even further. +If you have any suggestions or problems you want to report please head over to the [projects issues page](https://github.com/originalnicodr/CinematicUnityExplorer/issues) and create an issue describing it. + +## More links + +- [PCGamingWiki Unity page](https://www.pcgamingwiki.com/wiki/Engine:Unity) +- [Games on Steam made with Unity](https://steamdb.info/tech/Engine/Unity) +- [BepInEx Documentation](https://docs.bepinex.dev/master/articles/user_guide/installation/index.html) - Extensive installation, configuration, and troubleshooting site diff --git a/markdown/GeneralGuides/old_universal_unity_freecam.md b/markdown/GeneralGuides/old_universal_unity_freecam.md deleted file mode 100644 index 7f5c2136..00000000 --- a/markdown/GeneralGuides/old_universal_unity_freecam.md +++ /dev/null @@ -1,308 +0,0 @@ -How to install and use the Universal Unity Freecam -========= - -**Update:** VTVRVXIV made a new video explaining how to use the `Unity Explorer` alongside the [FreeMoveInjector mod](https://github.com/vtvrv/FreeMoveInjector/releases) to get a freecam. It is supposed to be easier to use than his Universal Unity Freecam, so watch the video and follow it until we can write about it in this guide. Otherwise, follow the rest of the guide and use the Universal Unity Freecam. - -

- - - -

- ---- - - -The [Universal Unity Freecam](https://youtu.be/I6igj-u1qlk) (UUF) project by [VTVRVXIV](https://twitter.com/vtvrvxiv) adds a freecam to most Unity games. It's a plugin designed to be installed using Unity plugin loaders like MelonLoader and BepInEx, and works in both Unity backends: Mono and IL2CPP. - -*If you're curious, [this article](https://learn.unity.com/tutorial/memory-management-in-unity#5c7f8528edbc2a002053b59b) covers the difference between the two types. Basically a difference in scripting.* - -

- - - -

- -# Installation - -Before installing you would want to check if your game is Mono or IL2CPP. -Somewhere in the installation directory, Mono has a folder called `Managed`. While IL2CPP has `l2cpp_data`. - -If the game is on steam you can check the file structure before downloading by going to the [SteamDB](https://steamdb.info) page of the game, `Depots` section, and from the table in there click the ID number on the games depot (usually the one with the bigger file size). - -Once you identified the type of unity backend the game uses, go to the video linked above, download the file according to the backend type from the links in the video description and follow the section of the corresponding type. - -## Installation - Mono: BepInEx - -### Needed Plugins - -- [BepInEx plugins for Mono games](https://mega.nz/file/OcZ0WTxY#zw3M3ShhqBQAjVwt-xgGElIfbWlEH6k1LSoor5115Zg) - -- [No watermark freecam plugin for Mono games](https://mega.nz/file/7dgkSQoR#7wIHoh3QXq6DwRLCQS6BE4vpb4ji9IxdpN984liahXA) - - -[BepInEx](https://github.com/BepInEx/BepInEx) doesn't come with an installer and you will need to check what version you need to install. This process is for Unity Mono games. - -* Launch the game and use the Task Manager to check if your game is 32-bit or 64-bit (if it is 32-bit it will have "32 bit" next to the program name). -![TaskManager01](../Images/UUFGuide/TaskManager01.png){.shadowed .autosize} - -* Close the game. If it's 32-bit, copy the content from BepInEx_x86.zip into the game's installation folder (specifically in the same folder as the games .exe), or the content from BepInEx_x64.zip if it's 64-bit. -* Start the game again. - - @alert important - **Your game may crash at startup** here, but that's OK. You'll be closing it again anyway. - @end - -* Close the game and look inside the `BepInEx` folder. You should see that new folders were created. -* Open `LogOutput.log` and check for a line that gives you the Unity version of the game, like -`[Info : BepInEx] Running under Unity v2019.1.10.15730669` -* Note down the version, then open the config folder and edit the `BepInEx.cfg` file. -* In the `[Preloader.Entrypoint]` section change `Type` to what their corresponding Unity version pints out in the table below: - - Version | Change to - -- | -- - Unity 2017 and above | `Type = MonoBehaviour` - Unity 5 | `Type = MonoBehaviour`
or
`Type = Camera` - Unity 4 | `Type = MonoBehaviour` - - If you are having problems with this please visit the [bepenix troubleshooting page](https://docs.bepinex.dev/master/articles/user_guide/troubleshooting.html). - - @alert important - For Unity 4 games, `System.dll` and `System.Core.dll` must be present in `_Data/ Managed`. If not, you will have to download an old Unity 5 build as a middle ground and export the 2 files from the Unity Editor. - @end - @alert info - While you are editing the `BepInEx.cfg` file you can also enable console logging under ` [Logging.Console]` by changing `Enabled` to `true`. - @end - -* Start the game and confirm it's not crashing or hanging. If it is, you might need to redo the BepInEx process above. Close the game again. - - -* Install the plugins you want by copying them into the `BepInEx\plugins` folder. - - - **vtrvrxiv.freecamplugin.dll** - - The freecam compatibility section is very important. Many games require fiddling with the mouse hacksection for these inputs to be detected. - - There is a special section that defines hotkeys for moving the on screen camera menu with the arrow keys. This is a last resort for games that completely prevent mouse movement. You would need to use the arrow keys to move the feature you want to toggle to the center of the screen and then mouse click on it. - - - **vtrvrxiv.CursorMode.dll / vtrvrxiv.CursorMode_obsolete.dll** - - Provides options for making the mouse cursor visible and unlocking it. Some games lock the cursor to the center of the screen which prevents it from interacting with the camera menu. - - The plugin is not recommended for general use and should only be used if you experience the issue mentioned above. - - - **vtrvrxiv.TimeScaleController.dll** - - Can slow down or speed up game time. - - Depending on the game can cause extreme frame rate issues. - - - **vtrvrxiv.ScreenshotTool.dll / vtrvrxiv.ScreenshotTool_obsolete.dll** - - Can take screenshots at resolutions up to 16x the current resolution. - - Generally if the gameData/Managed folder contains a "UnityEngine.ScreenCaptureModule.dll" file use the normal version of the plugin, otherwise try using the "_obsolete" version of the plugin. - - Screenshots will be saved in the game's "GameName_Data" folder located in the same folder as the exe. - - Be aware that high resolutions might break some game elements, like postprocessing effects. - - Keep in mind that postprocessing effects like ReShade won't be shown in shots taken with this plugin. Do however take in mind that almost all unity games can be hotsampled to custom aspect ratios, so you can hotsample the game instead of using this plugin, especially if you want to use reshade in your shots. - - - **vtrvrxiv.sceneselect.dll** - - Loads Unity game scenes found in the scene manager. Scenes usually aren't meant to load this way so it's common for problems to occur. - - Will likely cause crashes on older games released before the scene management was implemented in Unity. - - - [**Configuration manager**](https://github.com/BepInEx/BepInEx.ConfigurationManager/releases) - - Optional but useful plugin for configuring other plugins' hotkeys and options without restarting the game. The menu to do so can be opened by pressing `F1`. - - As explained below, if you run into troubles like a black screen at startup try deleting this plugin from the plugins folder. - - - [**EnableIsDebugBuild.Mono**](https://github.com/vtvrv/EnableIsDebugBuild/releases) - - Tries to turn on debug build capabilities in the game. These can be useful to get a freecam working but they probably contain other dev options that can come in handy for screenshotting. - - If there are multiple versions of a plugin only use one at a time. The `_obsolete` plugins are for games running on older versions of Unity. - - @alert info - It is possible for any plugin to cause game crashes so it is best to test them one at a time. - @end - -* Start the game and confirm that the camera is installed by pressing `Backspace`. - -#### Configuring the plugin - -Each DLL installed has its own CFG file that can be found in `BepInEx/Config`, allowing you to change the hotkeys to your own needs. Alternatively, you can use the `Configuration Manager` plugin to configure plugins in real time. - -## Installation - IL2CPP: MelonLoader - -### Needed Plugins - -- [MelonLoader freecam plugin for IL2CPP games](https://mega.nz/file/nZAxEaiI#hOw484JaufTzP5ukX5HKTGttSEWn14wM4QpZChrz6Mk) - -Unfortunately at the time of writing the IL2CPP version of the freecam is limited compared to its mono counterpart (for example, it doesn't have FoV control). You might be able to find alternatives for these missing features with the Unity Explorer, more on that later. - -[MelonLoader](https://melonwiki.xyz/#/) comes with an installer to make the installation process quicker and easier. This covers installing the UUF into Unity IL2CPP games. - -* Launch `MelonLoader.Installer.exe` and select your game's EXE -![MLInstaller01](../Images/UUFGuide/MelonLoaderInst01.png){.shadowed .autosize} - -* Click on INSTALL (or RE-INSTALL if you are upgrading from a previous version) -* A success popup should appear if the installation has been successful. -* Upon launching the game, a new window with a console will open on your screen. A process called the unhollowing will start. Wait until MelonLoader is done unhollowing. **This process requires an internet connection.** -![Unhollower01](../Images/UUFGuide/Unhollowing01.png){.shadowed .autosize} - -* Close your game and go to your game's installation folder. - -* If `MelonLoader/Managed` has `UnityEngine.InputLegacyModule.dll`, copy over `MelonLoader_Freecam_LegacyInput.dll` into the new `mods` folder created by MelonLoader. Otherwise, copy over `MelonLoader_Freecam.dll`. -![Folder01](../Images/UUFGuide/Folder01.png){.shadowed .autosize} - - -* Start the game and the freecam should be successfully loaded in! -![LoaderMods01](../Images/UUFGuide/MelonLoaderMods01.png){.shadowed .autosize} - - **Extra**: As with mono games, you can try the [**EnableIsDebugBuild.IL2CPP**](https://github.com/vtvrv/EnableIsDebugBuild/releases) plugin. - -## Mono Default Camera Controls - -Keybind | Description --- | -- -`Backspace` |Open / Close the camera menu -`Z` | Rest camera to default (hold when clicking on camera) -`i` | Move camera forward -`k` | Move camera backward -`j` | Move camera left -`l` | Move camera right -`o` | Move camera up -`u` | Move camera down -`NumPad 8` | Rotate camera forward -`NumPad 2` | Rotate camera backward -`NumPad 4` | Rotate camera left -`NumPad 6` | Rotate camera right -`NumPad 9` | Rotate camera up -`NumPad 7` | Rotate camera down -`Left Control` | Slow down the camera movement -`Left Shift` | Speed up the camera movement - -@alert important -When in the camera menu, and before activating the free camera, it's important to disable the Cinemachine one! Without that, you won't be able to use the freecam. -@end - -As an extra, if you install the `vtrvrxiv.TimeScaleController.dll` plugin, the default hotkey for pausing would be the `Pause` key, above the `Page up` key. Alternatively, you can also pause in the Configuration Menu if you have that plugin installed or pause it with a Unity inspector plugin, more on that in the [HUD toggle and more](universal_unity_freecam.htm#hud-toggle-and-more) section. - - -## IL2CPP Default Camera Controls - -Keybind | Description --- | -- -`F9` | Open / Close the camera menu -`F10` | Open the Mono camera behaviour (press and hold F10 while clicking on a camera) -`i` | Move camera forward -`k` | Move camera backward -`j` | Move camera left -`l` | Move camera right -`o` | Move camera up -`u` | Move camera down -`F11` | Decrease camera movement speed by a factor of 2 -`F12` | Decrease camera movement speed by a factor of 2 - -@alert important -When in the camera menu, and before activating the free camera, it's important to disable the Cinemachine one! Without that, you won't be able to use the freecam. -@end - -### Configuration -MelonLoader generates a `UserData\MelonPreferences.cfg` file where configuration can be changed. -Supports keybinds, mouse axis inverting, and specify when mouse look on the freecam is activated. - -When changing keybinds look at the `keycodes.txt` file in the freecam .zip for a list of working key strings. Case sensitive. - -By default, mouseLookEnabler is set to `Always` so mouse look is always on when the freecam is enabled. This can be changed to look on when a mouse button is held by changing the setting to `Left`, `Right`, or `Middle`. Case sensitive. - -These settings must be changed manually with a text editor. The game must be relaunched after the cfg file is edited. - - - -## HUD toggle and more - -The UUF does not come with a way to hide HUDs. The best way is through a Unity inspector like [Unity Explorer](https://github.com/sinai-dev/UnityExplorer) (Mono/IL2CPP) or [Runtime Unity Editor](https://github.com/ManlyMarco/RuntimeUnityEditor) (Mono). We recommend the `Unity explorer` over the `Runtime Unity Editor` because it's "easier" to use. - -Besides being able to toggle HUDs these inspectors would allow you to modify a lot of the game objects' properties, like moving the position of light sources, turning off postprocessing effects, or hiding characters entirely. You may also find the camera in some cases, which is useful when FoV control (or the whole freecamera) isn't supported. This will be expanded in the Advanced section in the future. - -These unity inspectors also come with a button to change the game's velocity, like the mono plugin explained in the `Mono: BepInEx` section, so it's very handy for IL2CPP games. - -## Additional tips - -* Most unity games (if not almost all of them) let you [**hotsample**](https://framedsc.github.io/basics.htm#hotsampling), and even let you use custom ARs. - -* It's generally recommended to disable any overlays you have as they may conflict with the keybinds above. - -* The console may not appear when you start the game for the first time. Check the game's installation folder for a file named `version.dll`. Rename it to `winhttp.dll`, or vice versa, depending on the situation. - -* If the game is using a DRM like steam make sure you are launching said game through steam and not opening the .exe. Some games won't start otherwise and this error might be confused with a problem created while trying to install the tools explained in this guide. - -* When using the camera menu to select the right camera make sure to include all the items referring to postprocessing effects to make sure those are being shown when moving the camera around. - -## Troubleshooting - -* If the cursor is still locked and/or missing after using the `vtrvrxiv.CursorMode.dll` (or `vtrvrxiv.CursorMode_obsolete.dll`) plugin then your last resort is to open the `GAME_Data\Managed\Assembly-CSharp.dll` file with DNSPY and delete all the lines of code that refer to the cursor. In most games you want to look for lines that have `Cursor.lockState` and `Cursor.visible`, and if the game is old you could try looking for the lines that have `Screen.showCursor` and `Screen.lockCursor` on them. - -* If you can point the camera upwards, try rotating it 90° and then changing its orientation "to a side" to make it point upwards. - -## Advanced - -* Is it right that it's "technically possible" in some IL2CPP games to find and control the fov with a unity inspector? If not then we should delete what I wrote in the "HUD toggle and more" section. - -* [RuntimeGraphicsSettings](https://github.com/knah/ML-UniversalMods#runtimegraphicssettings): Could be useful for increasing graphic fidelity in some games. - - -# Usage - -In this part of the guide, we will be using Death Door as a baseline to explain the workflow on how to use both the Universal Unity Freecam and the Unity Explorer to shoot games. We will try to expand and generalize the steps in the future. Take in mind that Death Door is a `Mono` game, so the process might (will) be different for `IL2CPP` games. - -## Unlocking the camera - -When you want to get the camera press the backspace key to open the Universal Unity Freecam menu. There you will want to click on the light blue box to display a list of unity objects. Here you will need to disable any object that controls the camera of the game so we can control it ourselves. In this case, we will be disabling the Cinemachine.Brain object. - -Additional note: You can also disable other unity objects here if you like, to turn off an undesired postprocessing effect for example. - -![Unlocking the camera](../Images/UUFGuide/unlocking_the_camera.png){.shadowed .autosize} - -After doing so click on the light blue box again to hide the objects list and activate each of the boxes (except maybe the FOV one). After doing that we will have full control of the camera! - -When you are done using the freecam activate the unity object you disabled and uncheck the boxes to make sure the game doesn't run into weird behaviors later while playing. - - -## Changing the FOV - -Sadly changing the FOV is not as straightforward as unlocking the camera. You will need to first find the camera that the game uses in the object explorer. To do so we will open the unity explorer with F2, click on the first tab that says "Object Explorer", and click the "Object Explorer" tab in the new window that spawned. Here you will search for objects of the class "UnityEngine.Camera". After picking the first one open it by clicking on them. This will open a new window with a bunch of values. Scroll down in this new window to find the FOV. Usually, there are two values, one for far and one for near FOV. You will want to edit the near FOV value to the FOV value you want to use, and that's it! - -![Unlocking the camera](../Images/UUFGuide/changing_the_fov.png){.shadowed .autosize} - -If you don't find a FOV value pick another object of class "UnityEngine.Camera" and try again (in the case of Death Door said object is the one called "Cam_Main"). - -After you are done shooting you won't need to return to the original FOV; activating again the camera object you disabled in the first step (in our case Cinemachine.Brain) will take care of changing the FOV back to the gameplay one. - -### Additional notes: - -- Make sure to disable the "Cinemachine.Brain" object (or the equivalent in your game) before attempting to edit the FOV. Otherwise, it probably won't work. - -- The unity explorer interface doesn't behave well with vertical aspect ratios, for example, so if you are working on a composition and would need to change the FOV while you move the camera I recommend using the AspectRatioComposition shader in reshade to get a glimpse of what the composition would look like in that AR when you change definitions. - -## Pause - -The pause is pretty straightforward, you just need to press the `Pause` button on your keyboard, you don't need to look up anything. The key is near the print screen key, but it's possible it isn't on some keyboards. If that's the case open the configuration manager with `F1` and change the key. - -Alternatively, you can also pause by clicking on the top right button on the Unity Explorer UI, but it's not very advisable since it might prove difficult to get the pause at the right time in certain situations. - -## HUD toggle - -This will depend very much on the game and you will need to turn off objects in the scene explorer until you find the HUD. In the case of Death Door, the HUD is in the "Canvas" object, so disabling that will get off the HUD. - -![Unlocking the camera](../Images/UUFGuide/hud_toggle.png){.shadowed .autosize} - -If you can't find the right hud toggle in the Scene Explorer, go at the bottom of the window and change the scene you are inspecting to another until you find it eventually. - -## Vignette, lights, and other stuff. - -Given that we are basically obtaining access to most (every?) unity object in the scene/game, we can then use that to our advantage to modify the game and scene as we please. For example, in Death Door, one can edit the Vignette object (which is found inside the CAM_MAIN object) properties to disable it (it's not enough to turn the object off in this case). - -Depending on the game, one can disable chromatic aberration, hide enemies on screen or even have access to light positions, so if used correctly can prove to be a very useful tool. Just be careful when playing around with it to not break anything that might crash the game, if you can't afford to lose the composition or game progress. - -## Tips and tricks: - -Unity explorer doesn't block input from the game when interacting with its menu, so I recommend first pausing the game before attempting to unlock the camera or doing something else. I also recommend using the mouse to do stuff whenever possible. For example, in Death Door, when searching for the "cam_main" in the object explorer, if you press enter instead of clicking on the "search" button a game menu will pop up, and pressing enter again will close the menu and unpause the game, so be careful. -A specific tip for Death Door: After you finish the composition and are ready to take the shot press any of the d-pad buttons on a controller to hide the mouse thing that shows up when aiming with a mouse. -Please don't hesitate on expanding this guide to generalize the steps or include more specific info on how to shoot a game in the table below. - - -## More links - -- [PCGamingWiki Unity page](https://www.pcgamingwiki.com/wiki/Engine:Unity) -- [BepInEx Documentation](https://docs.bepinex.dev/master/articles/user_guide/installation/index.html) - Extensive installation, configuration and troubleshooting site -- [MelonLoader Documentation](https://melonwiki.xyz/#/README) - Info about installation, configuration and more diff --git a/markdown/GeneralGuides/universal_unity_freecam.md b/markdown/GeneralGuides/universal_unity_freecam.md deleted file mode 100644 index 89f03661..00000000 --- a/markdown/GeneralGuides/universal_unity_freecam.md +++ /dev/null @@ -1,324 +0,0 @@ -![toplogo](../Images/UUFGuide/toplogo.png){.shadowed .autosize} - -@alert Important! -This guide was written with the last main version of Unity Explorer in mind. Since then, the main developer has archived the project and originalnicodr has forked it to include more features that are useful for screenshoters (FOV hotkeys, being able to move the camera while the game is paused, light control, etc.). Therefore, it is advised to follow the installation steps with [his version instead](https://github.com/originalnicodr/UnityExplorer/releases). And be sure to check the [Fork Features section](https://github.com/originalnicodr/UnityExplorer#fork-features) of the repo's readme to see what parts of this guide have become obsolete regarding its usage. -@end - -@alert neutral -**Engine versions supported:** UnityExplorer supports most Unity versions from 5.2 to 2021+ (IL2CPP and Mono) -@end - -# Setup ---- - -## Identifying the type of Unity game - -To know what files you have to install you have to first understand if the game is 32 or 64-bit, and if it's a `Mono` or an `IL2CPP` game. - -### 32-bit or 64-bit - -Launch the game and use the Task Manager to check if your game is 32-bit or 64-bit (if it is 32-bit, it will have "32-bit" next to the program name). - -![TaskManager01](../Images/UUFGuide/TaskManager01.png){.shadowed .autosize} - -Alternatively, you can look up the games page on the [pcgamingwiki](https://www.pcgamingwiki.com/wiki/Main_Page). - -### Mono or IL2CPP - -Open the game folder to determine if it is Mono or IL2CPP based: -- Mono games have a `UnityPlayer.dll` in the game folder and a `Managed` folder in the gamedata folder. They also might have a folder with `Mono` on its name. -- IL2CPP games have a `GameAssembly.dll` in the game folder and an `il2cpp_data` folder in the gamedata folder. - -@alert tip -If the game is on Steam, you can check the file structure before downloading by going to the [SteamDB](https://steamdb.info) page of the game, `Depots` section, and from the table in there, click the ID number on the game's depot (usually the one with the bigger file size). -@end - -If you happen to need it for something the Unity Engine version number can be found by opening the `globalgamemanagers` file found in the game's data folder, but it shouldn't be relevant to the guide at hand. - -![globalgamemanagers](../Images/UUFGuide/globalgamemanagers.jpg){.shadowed .autosize} - -## Downloading BepInEx and Unity Explorer - -Download the appropriate version of each software, depending if the game is 32 or 64-bit and if its a Mono or IL2CPP unity game: - -ㅤ| Mono | IL2CPP ---|--|-- -**32-bit (x86)** | - [BepInEx_x86_5.X](https://github.com/BepInEx/BepInEx/releases)
- [UnityExplorer.BepInEx5.Mono](https://github.com/sinai-dev/UnityExplorer/releases)
Optional:
- [FreeMoveInjector.Mono](https://github.com/vtvrv/FreeMoveInjector/releases) (recommended)
- [TimeScaleController](https://www.mediafire.com/file/56dh5g2y08872a4/TimeScaleController.zip/file) (recommended)
- [BepInExConfigManager.Mono](https://github.com/sinai-dev/BepInExConfigManager)
- [EnableIsDebugBuild.Mono](https://github.com/vtvrv/EnableIsDebugBuild/releases)
- [ScreenshotTool](https://www.mediafire.com/file/3iigfn5cbpenutt/ScreenshotTool.zip/file) | - [BepInEx-Unity.IL2CPP-win-x86-6](https://builds.bepinex.dev/projects/bepinex_be)
- [UnityExplorer.BepInEx.IL2CPP](https://github.com/sinai-dev/UnityExplorer/releases)
Optional:
- [FreeMoveInjector.IL2CPP](https://github.com/vtvrv/FreeMoveInjector/releases) (recommended)
- [BepInExConfigManager.Il2Cpp](https://github.com/sinai-dev/BepInExConfigManager)
- [EnableIsDebugBuild.IL2CPP](https://github.com/vtvrv/EnableIsDebugBuild/releases) -**64-bit** | - [BepInEx_x64_5.X](https://github.com/BepInEx/BepInEx/releases)
- [UnityExplorer.BepInEx5.Mono](https://github.com/sinai-dev/UnityExplorer/releases)
Optional:
- [FreeMoveInjector.Mono](https://github.com/vtvrv/FreeMoveInjector/releases) (recommended)
- [TimeScaleController](https://www.mediafire.com/file/56dh5g2y08872a4/TimeScaleController.zip/file) (recommended)
- [BepInExConfigManager.Mono](https://github.com/sinai-dev/BepInExConfigManager)
- [EnableIsDebugBuild.Mono](https://github.com/vtvrv/EnableIsDebugBuild/releases)
- [ScreenshotTool](https://www.mediafire.com/file/3iigfn5cbpenutt/ScreenshotTool.zip/file) | - [BepInEx-Unity.IL2CPP-win-x64-6](https://builds.bepinex.dev/projects/bepinex_be)
- [UnityExplorer.BepInEx.IL2CPP](https://github.com/sinai-dev/UnityExplorer/releases)
Optional:
- [FreeMoveInjector.IL2CPP](https://github.com/vtvrv/FreeMoveInjector/releases) (recommended)
- [BepInExConfigManager.Il2Cpp](https://github.com/sinai-dev/BepInExConfigManager)
- [EnableIsDebugBuild.IL2CPP](https://github.com/vtvrv/EnableIsDebugBuild/releases) - -Even tho there is a BepInEx v6 (which is patcher/plug-in framework for Unity games) for Mono games, it is still recommended to use v5 since Mono support in v6 is still untested. Also, as you may have noticed by the table above, some plugins only work for v5 and they don't have a v6 counterpart. - -## Installation - -- Extract the contents of the BepInEx zip into the game folder. -- Extract UnityExplorer and BepInExConfigManager's `plugins` and `patchers` folders into the game's BepInEx folder. -- Place `FreeMoveInjector.dll` in the `/BepInEx/plugins/` subfolder. -- Place `vtrvrxiv.TimeScaleController.dll` in the `/BepInEx/plugins/` subfolder. - -For other optional mods put the .dll files inside the `/BepInEx/plugins/` folder as well. - -## Starting Unity Explorer - -@alert important -IL2CPP-based games require Internet access for their first launch with BepInEx. -@end - -Launch the game and BepInEx will complete the installation process. If everything is working, a UnityExplorer window will appear. - -![firstlaunch](../Images/UUFGuide/firstlaunch.jpg){.shadowed .autosize} - -@alert important -Follow the [BepInEx Troubleshooting Guide](https://github.com/sinai-dev/BepInExConfigManager) to get a broken game working. -The most common issue is a bad entrypoint. -@end - - -

- - - -

- -*If you ever get lost in this guide I suggest watching the video above for visual aid.* - -# Freecam ---- -As of now, there are two ways of getting a freecam working in Unity games, which are listed below. - -## 1 - UnityExplorer native freecam - -If you want to use this method there are two main ways of doing so: With or without checking "Use Game Camera?" checkbox. - -### 1.1 - Using UnityExplorer created camera - -- Open the UnityExplorer UI with `F7` (which can be changed in the options) and click on the top "Freecam" button. -- Click on the "Start Freecam" button on the new window. - -Without checking the "Use Game Camera?" checkbox, the unity explorer will create a new camera object for you to control, this means that some post-processing effects won't be displayed (because they are being applied to the game's camera, not the new one), making the game look "ugly" (it might also be useful in some cases where you don't some stuff from the game camera, like in Somerville where the gameplay cam didn't render behind the black bars, but this new camera did). - -![sidebyside](../Images/UUFGuide/sidebyside.jpg){.shadowed .autosize} - -### 1.2 - Using the game camera - -If you need these postprocessing effects for some reason you might want to check the "Use Game Camera?" checkbox in the freecam window. This will let you control the gameplay camera instead of creating a new one to control. However, take in mind that, in order for you to move this gameplay camera, you must first disable any component that controls the camera (most of the time called "Cinemachine"), so you can do it yourself. - -To do so, after checking the "Use Game Camera?" (and "Begin Freecam") click on the "Inspect Free Camera" button, then on the Inspector window click on "Inspected GameObject" and disable the Cinemachine object. Remember to enable it again after finishing shooting the scene! - -![Disable cinemachine component on the gameplay camera](../Images/UUFGuide/gameplay_freecam.webp){.shadowed .autosize} - -There might be a way of adding the gameplay postprocessing effects camera to the one created by Unity Explorer, but I haven't tested it myself yet, and probably depends on the game. - -### Controls (for both types of cameras) - -Description | Keybind --- | -- -Move forward, left, backward, and right | `W`, `A`, `S`, `D` / `Arrows` -Move up | `Space` / `Page Up` -Move down | `Left Control` / `Page Down` -Change orientation | `Right Click` + `Mouse` -Increases camera speed | `Shift` -Open Unity Explorer UI | `F7` - - -Also, whenever you have to use this freecam again without the "Use Game Camera?" checked (meaning by following [1.1](#using-unityexplorer-created-camera)), make sure to click the "Reset" button on the freecam window to go to the gameplay camera position. - -@alert warning -Even if this method is pretty straightforward, it has the problem which you can't move the camera position when the game is paused (with UnityExplorer's Time value or the TimeScaleController plugin). If you want to avoid this problem refer to the next section. -@end - -## 2 - Use FreeMoveInjector freecam - -If you want to be able to move the camera while the game is paused follow the steps below. - -* Get the camera object. An easy way of getting the camera object is to open the `Freecam` window by pressing the top bar button of the Unity Explore UI, clicking on "Begin Freecam" and clicking on the button that says "Inspect Free Camera" (you can do so with or without the "Use Game Camera?" checkbox checked, just be aware of disabling the cinemachine component if you do). - - If that camera has problems for whatever reason (sometimes they disable shaders or effects and make the game look ugly), then search `UnityEngine.Camera` in Unity Explorer's object search tab to get a list of all cameras. - - Inspect each camera to find the main game cam. Usually, this is a camera with position values that change while the camera is moving. - -* Once you have the camera object type `BehaviourInjector.FreeMove` into the inspector window's Add Comp field and press enter to enable free control. - -* Disable any `Cinemachine` component the camera object might have. This will detach the camera from the game's automatic movement, allowing you to move it freely with the `FreeMove` component. - -* To get out of the freecam just disable the FreeMove component (and click on "End Freecamera" in the Freecamera window if you enabled that) and enable the `Cinemachine` parameter again. - -![Using the FreeMoveInjector freecam](../Images/UUFGuide/free_move.webp){.shadowed .autosize} - -### Controls - -Description | Keybind --- | -- -Move Forward, left, backward, and right | `I`, `J`, `K`, `L` -Move up, down | `O`,` U` -Change orientation | `Left Click` + `Mouse` -Increases camera acceleration by a factor of 2 | `]` -Decrease camera acceleration by a factor of 2 | `[` -Increases camera dampening by a factor of 2 | `"` -Decrease camera dampening by a factor of 2 | `;` - -@alert warning -If you want to avoid using this mod when the game is paused, another alternative would be to use the position sliders on the camera game object to adjust the position manually, altho this can get tiresome after a while. - -![Position sliders](../Images/UUFGuide/position_sliders.jpg){.shadowed .autosize} -@end - -### Some troubleshooting tips - -* When using the camera menu to select the right camera make sure to include all the items referring to postprocessing effects to make sure those are being shown when moving the camera around. - -* Many game cameras have existing behaviors that can prevent free movement (e.g. CineMachine). Disabling these behaviors will solve this issue. - - Some games turn the CineMachine component whenever it's disabled, and the only solution for that is to delete the component. You can try adding it back again when you finish shooting, but there is no guarantee the camera will work for gameplay without relaunching the game. - - If you have problems unlocking the camera try clicking on the "Instantiate" button on the game object. - -* Changing the orientation of the camera may not work if the game is locking the cursor to the center of the screen. To solve this, keep the UnityExplorer menu open as the plugin will unlock the cursor. - -# Tilt - -You can tilt the camera by going to the camera game object sliders and moving the "Rotation" Z slider, as shown in the picture above. - -# FoV ---- -To modify the field of view to open the `Freecam` window by pressing the top bar button of the Unity Explore, click on "Inspect Free Camera" (no matter if you have "Use Game Camera?" enabled or not, it will always return the cam being used for the freecam) and in the window that appears search for "fieldOfView" to change it. - -![Controlling the FoV](../Images/UUFGuide/fov.webp){.shadowed .autosize} - -## Clipping plane - -Also, if you notice that while moving the camera, objects in the environment or subjects get clipped out of the scene (aka they get cut or disappear) then you should edit the draw distance properties of the camera (the same game object you used above). As a reference, change the `farClipPlane` to a high value like 9999 and the `nearClipPlane` to something small like 0.01 (if possible, I have had trouble introducing such low values). - -# Pause ---- -There are multiple ways of pausing a Unity game, which are listed below. - -## 1 - UnityExplorer Time -There are two ways of pausing the game. An easy one is to just change the "Time" value at the top right of the UnityExplorer UI to `0`. - -Unfortunately, this can be cumbersome, especially if you want to capture action scenes. An alternative (and a very suggested one) is to install the TimeScaleController mod, as explained in the section below. - - -## 2 - TimeScaleController (BepInEx v5 only) -This mod will allow you to associate a hotkey with a value to change the timescale to. The default hotkey is the `Pause` button (should be near the print screen button, at the top right of your keyboard). - -You can change the hotkey to another button by going to `\BepInEx\config\vtrvrxiv.TimeScaleController.cfg` and changing the default key, as well as the Speed (which I recommend setting to `0` for full pause), or using the [BepInExConfigManager mod](#configuration-manager-optional). - - -@alert warning -There is a chance that the TimeScaleController mod isn't working. If you press the hotkey and it doesn't pause the game chances are the mod hasn't been hooked up correctly. To fix this go to the Object Explorer -> Scene Explorer, open any of the objects listed there (that are enabled), type `TimeScaleController` into the inspector window's Add Comp field, and press enter. - -Be aware tho that if the game ever destroys that object (e.g. when you change a level) then you will have to repeat this process again with another object. -@end - -## 3 - The game's pause -As an alternative, you can also try using the game vanilla pause by pressing the `Esc` key, but you will have to disable the pause menu elements, turn off any additional shader the game might use, and even so it might not look exactly as in gameplay depending on the game. Use this method at your discretion. - -# Disabling HUD (and more) ---- -As with the pause, there are a couple of ways of toggling HUD elements in a Unity game, which are listed below. - -## 1 - UnityExplorer - -To toggle the different HUD elements off you can go to the Inspector window on the Unity Explorer, click on `Mouse inspect` in the top right, select `UI` and click on the UI element you want to turn off. It will prompt you with a list of objects. Try to disable them one by one until the hud element disappears from the screen. This also allows you to turn off other game objects, such as subjects or stuff from the environment. - -![Disabling the UI](../Images/UUFGuide/ui.webp){.shadowed .autosize} - -Besides being able to toggle HUDs, the UnityExplorer allows you to modify a lot of the game objects' properties, like moving the position of light sources, turning off postprocessing effects, or hiding characters entirely. - -## 2 - ShaderToggler - -Alternatively (and maybe preferably in the case of the HUD elements), you can use the [shader toggler addon](../ReshadeGuides/Addons/shader_toggler_repository.htm), which will probably be easier and would allow you to toggle the HUD off and on with a hotkey, which isn't currently supported by the UnityExplorer. - -# Extra ---- - -## Turn off screen effects (vignette, grain, chromatic aberration, etc.) - -To turn off undesired effects for screenshots go to the object explorer window and search for a class containing the word `grain` (or whatever you are looking to disable). Open every object listed, look for the "active" property and turn it off (remember to also click on "Apply"). - -![Disabling the vignette](../Images/UUFGuide/vignette.webp){.shadowed .autosize} - -As shown above, there might be cases in which the object you open already has "active" turned off, or turning it off does nothing. Just keep trying with all the game objects on the list until deactivating one gets rid of the effect. - -## Spawn lights (and other objects) - -Besides all the ways we already mentioned the Unity Explorer can be useful, it can also be used to spawn game objects, and among possible objects to spawn, lights are one of them. - -Up next I will be explaining how to do so, but if you need visual aid I recorded a video showing how to do so: - -

- - - -

- -- Open the "ObjectExplorer" window in Unity Explorer and click on any object on the scene (preferably one that you know won't be deleted by changing the level if you need those lights back). -- On the "Inspector" window add a new child called "Light - 1" or something like that. You would need to create a new child for every light you want to add. -- Then, go inside this new child and copy the coordinates from the "Freecam" window into the "Position" field in this object (you will probably end up refining these coordinates later). -- Inside this new child add a light component from the class "UnityEngine.Light" by writing the class name on the "Components" section and adding it. -- Click on the Light component and start editing the values of the light. I found the following parameters to be useful: - - `intensity`: How strong the light is. I suggest increasing this value first because it's set to 1 and it's barely visible. - - `type`: The light is a point light by default, and you can change it to a spotlight with this parameter. - - `color` - - `colorTemperature`: You would also need to turn on the `useColorTemperature` parameter. - - `range`: How far the light travel. - - `spotAngle`: The angle of the spotlight (bigger means wider). -- Once the parameters are set, refine the lights' position and rotation to fit your composition. -- Repeat for every light that you want to add. - -I haven't been able to make the lights do much shadow-wise. It might depend on the game, but if you know how to control these please let us know! - -Regarding spawning another type of object, I haven't been able to do so with anything game-specific, nor have I found other classes of objects useful to spawn, but if you know some, again, reach out! - -Also, if you want to turn off lights from the game you can do so by using the "Object Explorer" window in the "Object Search" tab, search for objects of class "UnityEngine.Light" and turn them off one by one. Altho this can be quite tedious. We are planning on working on a mod of our own to do this at some point, as well as improve the whole screenshotting workflow of unity games. - -I should also point out that I am in no way knowledgeable of Unity Explorer nor Unity itself, so I have no idea if this is the right or most efficient way of doing things. If you know of a better way that could improve the guide please, once more, send us a message so we can include it in here. - -If you need more information on how unity Light class works take a look at their docs: - -* [Light class](https://docs.unity3d.com/es/530/Manual/class-Light.html) -* [Lighting](https://docs.unity3d.com/Manual/Lighting.html) - -## Configuration manager (optional) -[BepInExConfigManager](https://github.com/sinai-dev/BepInExConfigManager) is an optional but useful plugin for configuring other plugins' hotkeys and options without restarting the game. The menu to do so can be opened by pressing `F5`. - -If it doesn't seem to work, try following the steps explained in the warning box in the [Pause section](#pause). - -## ScreenshotTool mod (BepInEx v5 only) (optional) -The ScreenshotTool plugin allows you to take screenshots at resolutions up to 16x the current resolution. - -Generally, if the `gameData/Managed` folder contains a `UnityEngine.ScreenCaptureModule.dll` file use the normal version of the plugin, otherwise try using the `_obsolete` version of the plugin. - -Screenshots will be saved in the game's `GameName_Data` folder located in the same folder as the exe. - -Be aware that high resolutions might break some game elements, like postprocessing effects. - -Keep in mind that postprocessing effects like ReShade won't be shown in shots taken with this plugin. Also, almost all unity games can be hotsampled to custom aspect ratios, so you can hotsample the game instead of using this plugin, especially if you want to use reshade in your shots. - -As explained above, if this mod doesn't seem to work, try following the steps explained in the warning box in the [Pause section](#pause). - -## Activating debug menus (optional) -There are different ways of turning on debug options in your game. One is using the [EnableIsDebugBuild](https://github.com/vtvrv/EnableIsDebugBuild/releases) plugin, but you may still need to find the unique button combination to enable these features. - -A second method that you can try is going to the object explorer and typing in the class field the word `Debug`, and looking up objects of said class. - -As an alternative, you can follow [this guide](https://docs.bepinex.dev/articles/advanced/debug/plugins_dnSpy.html) or [this guide](https://github.com/dnSpy/dnSpy/wiki/Debugging-Unity-Games#debugging-release-builds) which are most exhaustive, but exceeds the purposes of this guide. - -## Additional tips - -* Most unity games (if not almost all of them) let you [**hotsample**](../ReshadeGuides/basics.htm#hotsampling), and even let you use custom ARs. - -* If the game is exclusively fullscreen and doesn't have the option to play windowed for hotsampling, press `Alt` + `Enter` to go out of fullscreen into windowed. - -* It's generally recommended to disable any overlays you have as they may conflict with the keybindings. - -* The console may not appear when you start the game for the first time. Check the game's installation folder for a file named `version.dll`. Rename it to `winhttp.dll`, or vice versa, depending on the situation. - -* If the game is using a DRM like steam make sure you are launching said game through steam and not opening the .exe. Some games won't start otherwise and this error might be confused with a problem created while trying to install the tools explained in this guide. - -* Some games (noticeably the ones published by EA) have encrypted game objects on runtime, or something along those lines. Therefore, to be able to use Unity Explorer on them you will have to use [MelonLoader](https://github.com/LavaGang/MelonLoader) instead of BepInEx. - -## More links - -- [PCGamingWiki Unity page](https://www.pcgamingwiki.com/wiki/Engine:Unity) -- [BepInEx Documentation](https://docs.bepinex.dev/master/articles/user_guide/installation/index.html) - Extensive installation, configuration and troubleshooting site diff --git a/markdown/Images/UUFGuide/TaskManager01.png b/markdown/Images/CinematicUnityExplorerGuide/TaskManager01.png similarity index 100% rename from markdown/Images/UUFGuide/TaskManager01.png rename to markdown/Images/CinematicUnityExplorerGuide/TaskManager01.png diff --git a/markdown/Images/CinematicUnityExplorerGuide/animator-panel.png b/markdown/Images/CinematicUnityExplorerGuide/animator-panel.png new file mode 100644 index 00000000..d80c99da Binary files /dev/null and b/markdown/Images/CinematicUnityExplorerGuide/animator-panel.png differ diff --git a/markdown/Images/CinematicUnityExplorerGuide/disable-camera-components.webp b/markdown/Images/CinematicUnityExplorerGuide/disable-camera-components.webp new file mode 100644 index 00000000..9f789b33 Binary files /dev/null and b/markdown/Images/CinematicUnityExplorerGuide/disable-camera-components.webp differ diff --git a/markdown/Images/CinematicUnityExplorerGuide/freecam-panel.png b/markdown/Images/CinematicUnityExplorerGuide/freecam-panel.png new file mode 100644 index 00000000..6769860a Binary files /dev/null and b/markdown/Images/CinematicUnityExplorerGuide/freecam-panel.png differ diff --git a/markdown/Images/UUFGuide/globalgamemanagers.jpg b/markdown/Images/CinematicUnityExplorerGuide/globalgamemanagers.jpg similarity index 100% rename from markdown/Images/UUFGuide/globalgamemanagers.jpg rename to markdown/Images/CinematicUnityExplorerGuide/globalgamemanagers.jpg diff --git a/markdown/Images/CinematicUnityExplorerGuide/lights-manager-panel.png b/markdown/Images/CinematicUnityExplorerGuide/lights-manager-panel.png new file mode 100644 index 00000000..ebd5b4b1 Binary files /dev/null and b/markdown/Images/CinematicUnityExplorerGuide/lights-manager-panel.png differ diff --git a/markdown/Images/CinematicUnityExplorerGuide/misc-panel.png b/markdown/Images/CinematicUnityExplorerGuide/misc-panel.png new file mode 100644 index 00000000..9441137f Binary files /dev/null and b/markdown/Images/CinematicUnityExplorerGuide/misc-panel.png differ diff --git a/markdown/Images/CinematicUnityExplorerGuide/object-explorer-panel.png b/markdown/Images/CinematicUnityExplorerGuide/object-explorer-panel.png new file mode 100644 index 00000000..e535d0ed Binary files /dev/null and b/markdown/Images/CinematicUnityExplorerGuide/object-explorer-panel.png differ diff --git a/markdown/Images/CinematicUnityExplorerGuide/post-processing-panel.png b/markdown/Images/CinematicUnityExplorerGuide/post-processing-panel.png new file mode 100644 index 00000000..c081a5c8 Binary files /dev/null and b/markdown/Images/CinematicUnityExplorerGuide/post-processing-panel.png differ diff --git a/markdown/Images/UUFGuide/sidebyside.jpg b/markdown/Images/CinematicUnityExplorerGuide/sidebyside.jpg similarity index 100% rename from markdown/Images/UUFGuide/sidebyside.jpg rename to markdown/Images/CinematicUnityExplorerGuide/sidebyside.jpg diff --git a/markdown/Images/CinematicUnityExplorerGuide/timescale-widget.png b/markdown/Images/CinematicUnityExplorerGuide/timescale-widget.png new file mode 100644 index 00000000..3cdf9841 Binary files /dev/null and b/markdown/Images/CinematicUnityExplorerGuide/timescale-widget.png differ diff --git a/markdown/Images/UUFGuide/toplogo.png b/markdown/Images/CinematicUnityExplorerGuide/toplogo.png similarity index 100% rename from markdown/Images/UUFGuide/toplogo.png rename to markdown/Images/CinematicUnityExplorerGuide/toplogo.png diff --git a/markdown/Images/UUFGuide/firstlaunch.jpg b/markdown/Images/UUFGuide/firstlaunch.jpg deleted file mode 100644 index aab0f29f..00000000 Binary files a/markdown/Images/UUFGuide/firstlaunch.jpg and /dev/null differ diff --git a/markdown/Images/UUFGuide/fov.webp b/markdown/Images/UUFGuide/fov.webp deleted file mode 100644 index a5fe431d..00000000 Binary files a/markdown/Images/UUFGuide/fov.webp and /dev/null differ diff --git a/markdown/Images/UUFGuide/free_move.webp b/markdown/Images/UUFGuide/free_move.webp deleted file mode 100644 index 5270ffd0..00000000 Binary files a/markdown/Images/UUFGuide/free_move.webp and /dev/null differ diff --git a/markdown/Images/UUFGuide/gameplay_freecam.webp b/markdown/Images/UUFGuide/gameplay_freecam.webp deleted file mode 100644 index b1b3d2d2..00000000 Binary files a/markdown/Images/UUFGuide/gameplay_freecam.webp and /dev/null differ diff --git a/markdown/Images/UUFGuide/position_sliders.jpg b/markdown/Images/UUFGuide/position_sliders.jpg deleted file mode 100644 index 572bc0f8..00000000 Binary files a/markdown/Images/UUFGuide/position_sliders.jpg and /dev/null differ diff --git a/markdown/Images/UUFGuide/ui.webp b/markdown/Images/UUFGuide/ui.webp deleted file mode 100644 index 4afa4bf0..00000000 Binary files a/markdown/Images/UUFGuide/ui.webp and /dev/null differ diff --git a/markdown/Images/UUFGuide/vignette.webp b/markdown/Images/UUFGuide/vignette.webp deleted file mode 100644 index 8c474ac2..00000000 Binary files a/markdown/Images/UUFGuide/vignette.webp and /dev/null differ diff --git a/markdown/ReshadeGuides/Addons/shader_toggler_repository.md b/markdown/ReshadeGuides/Addons/shader_toggler_repository.md index 3bec5a0c..d4e1220a 100644 --- a/markdown/ReshadeGuides/Addons/shader_toggler_repository.md +++ b/markdown/ReshadeGuides/Addons/shader_toggler_repository.md @@ -111,7 +111,7 @@ Game | Features | Extra Description [Shadow of the Tomb Raider](../../ShaderTogglers/SOTTR.ini) | HUD Toggle (`Caps Lock`) [Sherlock Holmes: The Devil's Daughter](../../ShaderTogglers/sherlock_holmes_devils_daughter.ini) | HUD and DOF toggle (`Caps Lock`) [Singularity](../../ShaderTogglers/singularity.ini) | - HUD toggle (`Capslock`)
- Rain toggle (`Ctrl`+`1`) -[Somerville](../../ShaderTogglers/somerville.ini) | - Hide menu and black bars (while free camera is enabled) (`Caps Lock`)
- Hide text from menu (`ALT`+`0`) | For the game to render where the black bars used to be you have to use [unity explorer freecam](../../GeneralGuides/universal_unity_freecam.md). +[Somerville](../../ShaderTogglers/somerville.ini) | - Hide menu and black bars (while free camera is enabled) (`Caps Lock`)
- Hide text from menu (`ALT`+`0`) | For the game to render where the black bars used to be you have to use [Cinematic Unity Explorer freecam](../../GeneralGuides/cinematic-unity-explorer.md). [Space Hulk: Deathwing](../../ShaderTogglers/space_hulk_deathwing.ini) | HUD + Party Markers (`Caps Lock`) [Spider-Man Remastered](../../ShaderTogglers/spider_man_remastered.ini) | Complete HUD Toggle (`Delete`) [Star Wars Jedi: Survivor](../../ShaderTogglers/star_wars_jedi_survivor.ini) | - HUD, force outlines, other distracting elements (`Caps Lock`) diff --git a/markdown/basics.md b/markdown/basics.md index 3aa882e2..d837eaf2 100644 --- a/markdown/basics.md +++ b/markdown/basics.md @@ -25,7 +25,7 @@ As more and more games are powered by the same game engines like Unreal or Unity For Unreal Engine 4, the [Universal Unreal Unlocker](./GeneralGuides/universal_ue4_consoleunlocker.htm) by [Otis_Inf](https://www.patreon.com/Otis_Inf) has become the go-to tool for many UE4 games. It includes a freecam with all the common controls, as well as extra features like access to the console and many more. -For Unity, the [UnityExplorer](https://github.com/sinai-dev/UnityExplorer) project by sinai-dev adds a freecam and much more to most Unity games. Please visit our [guide](./GeneralGuides/universal_unity_freecam.htm) for more information how to use it. +For Unity, the [Cinematic Unity Explorer](https://github.com/originalnicodr/CinematicUnityExplorer) project by originalnicodr adds a freecam and much more to most Unity games. Please visit our [guide](./GeneralGuides/cinematic-unity-explorer.htm) for more information how to use it. The open-source emulator [Dolphin](https://dolphin-emu.org/download/) also includes a built-in freecam known as [Free Look](https://wiki.dolphin-emu.org/index.php?title=Free_Look). diff --git a/markdown/docnet.json b/markdown/docnet.json index b77f6c5d..1b7652f4 100644 --- a/markdown/docnet.json +++ b/markdown/docnet.json @@ -181,6 +181,7 @@ { "__index": "GeneralGuides\\index.md", "Ansel": "GeneralGuides\\anselguide.md", + "Cinematic Unity Explorer": "GeneralGuides\\cinematic-unity-explorer.md", "Creating Motion Blur with UUU camera paths": "GeneralGuides\\uuu_motionblur.md", "Creating Tiny Planets": "GeneralGuides\\tinyplanetsguide.md", "Custom DSR Resolutions": "GeneralGuides\\custom_dsr_resolutions.md", @@ -189,7 +190,6 @@ "RELit for RE Engine games": "GeneralGuides\\relit.md", "Revert Steam Game Updates": "GeneralGuides\\steam_update_guide.md", "Tweaking Unreal Engine 4 Games":"GeneralGuides\\ue4guide.md", - "UnityExplorer and Freecam": "GeneralGuides\\universal_unity_freecam.md", "Universal Unreal Engine 4 Unlocker": "GeneralGuides\\universal_ue4_consoleunlocker.md", "Using Cheat Engine Tables": "GeneralGuides\\cheat_engine_tables.md", "Advanced" :