CWVR 1.1.2
Content Warning VR Mod
CW // VR is a MultiLoader mod that adds fully fledged, 6DOF VR support into Content Warning, including fully motion controlled hands.
This mod, just like my Lethal Company VR mod, is powered by Unity's OpenXR plugin, and is thereby compatible with a wide range of headsets and runtimes, like Oculus, Virtual Desktop, SteamVR and many more!
CW // VR supports both BepInEx and the Content Warning Workshop, however compatibility will only be handled within the loader that CW // VR is loaded with.
Discord Server
We have a dedicated section within the Flat2VR Discord Server!
Look for the #cw-join
channel to join the Content Warning VR section.
Usage
All usage information is stored on the Thunderstore Page, the rest of this README will only outline how to manually install the VR mod. Use either Thunderstore or the Steam Workshop if you're not planning to set aside a couple of hours to manually compile and install the mod.
Install from source
To install the mod from the source code, you will first have to compile the mod. Instructions for this are available in COMPILING.md.
Next up you'll need to grab a copy of some Runtime Dependencies. You can either grab these from one of the releases, or if you truly want the no hand holding experience, you can retrieve them from a Unity project.
Retrieving Runtime Dependencies from a Unity Project
First of all start by installing Unity 2022.3.10f1, which is the Unity version that Content Warning uses. Once you have installed the editor, create a new Unity project. If you are planning on adding prefabs to the mod, use the URP template and add the OpenXR plugin via the Unity package manager, otherwise you can just use the VR template.
Make sure you set the scripting backend to Mono, and not to Il2Cpp (Unity will warn you when you try to compile a VR game with Il2Cpp enabled). You can now build your dummy game. Once the game is built you can navigate to it's <Project Name>_Data/Managed
directory. There you will need to extract the following files:
- UnityEngine.SpatialTracking.dll
- Unity.XR.CoreUtils.dll
- Unity.XR.Interaction.Toolkit.dll
- Unity.XR.Management.dll
- Unity.XR.OpenXR.dll
- Unity.InputSystem.dll
And from the <Project Name>_Data/Plugins/x86_64
directory:
- openxr_loader.dll
- UnityOpenXR.dll
Installing without BepInEx
CW // VR supports Content Warning's built in mod loader.
To get started, head over to your game's directory. You can do that quickly by going to Steam -> Content Warning -> right click -> Manage -> Browse local files. Inside this folder, create a new folder called Plugins
(unless it already exists).
Inside this Plugins
folder, create a new folder called CWVR
. Inside this folder, please the CWVR.dll
and the CWVR.Preload.dll
files that were generated during the COMPILING.md steps. Then make sure to rename CWVR.Preload.dll
to CWVR.preload.dll
(notice the lowercase P, very important!). Windows might prevent you from renaming a file where only the case has changed, so you may first rename it to any filename, and then you can rename it to CWVR.preload.dll
.
After this has been completed, create a new directory called RuntimeDeps
(has to be named exactly that) inside the CWVR
folder. Here you will need to put the DLL files that you have retrieved during the Retrieving Runtime Dependencies step.
Finally, grab the Asset Bundle from one of the releases, and place them into the same folder as the CWVR.dll
and CWVR.preload.dll
files. This asset bundle file needs to be called contentwarningvr
.
You can now run the game with CWVR installed.
Installing with BepInEx
CW // VR supports BepInEx as a mod loader. You can download BepInEx from their GitHub Releases (CWVR currently targets BepInEx 5.4.22).
To install BepInEx, you can follow their Installation Guide.
Once BepInEx has been installed and run at least once, you can start installing the mod.
First of all, in the BepInEx/plugins
folder, create a new folder called CWVR
(doesn't have to be named that specifically, but makes identification easier). Inside this folder, place the CWVR.dll
file that was generated during the COMPILING.md steps.
After this has been completed, create a new directory called RuntimeDeps
(has to be named exactly that) inside the CWVR
folder. Inside this folder you will need to put the following DLL files:
- UnityEngine.SpatialTracking.dll
- UnityEngine.XR.CoreUtils.dll
- Unity.XR.Interaction.Toolkit.dll
- Unity.XR.Management.dll
- Unity.XR.OpenXR.dll
These files should have been retrieved during the Retrieving Runtime Dependencies step, or from grabbing them from the latest release.
Next up, grab the Asset Bundle from one of the releases, and place them into the same folder as the CWVR.dll
file. This asset bundle file needs to be called contentwarningvr
.
Finally, in the BepInEx/patchers
folder, also create a new folder called CWVR
(again, doesn't have to be exact). Inside this folder, place the CWVR.Preload.dll
file that was also generated during the COMPILING.md steps.
In this folder, also create a new directory called RuntimeDeps
(again, has to be exactly named that), and place the following DLL files inside:
- openxr_loader.dll
- UnityOpenXR.dll
You can now run the game with CWVR installed.
No packages depend on CWVR.
.NET Standard 2.1
- BepInEx.Core (>= 5.4.21)
- UnityEngine.UI (>= 1.0.0)
- UnityEngine.SpatialTracking (>= 2.1.10)
- UnityEngine.Modules (>= 2022.3.47)
- Unity.XR.OpenXR (>= 1.8.2)
- Unity.XR.Management (>= 4.4.1)
- Unity.XR.Interaction.Toolkit (>= 2.5.3)
- Unity.XR.CoreUtils (>= 2.2.3)
- Unity.TextMeshPro (>= 3.0.6)
- Unity.RenderPipelines.Universal (>= 14.0.8)
- Unity.Mathematics (>= 1.3.1)
- Unity.InputSystem (>= 1.7.0)
- Unity.Animation.Rigging (>= 1.2.1)
- PhotonUnityNetworking (>= 1.9.0-cw)
- Newtonsoft.Json (>= 13.0.2)
- HBAO.Universal (>= 1.9.0-cw)
- ContentWarning (>= 1.19.4)
- CW.Zorro (>= 1.19.4)
- Unity.RenderPipelines.Core (>= 14.0.11)