+Adapted for Night-Runners. +
+
- 🎥 Fork of the excellent UnityExplorer mod made by sinai-dev focused on providing tools for creating marketing material for Unity games. + Fork of the excellent CinematicUnityExplorer mod made by originalnicodr focused on providing support for Night-Runners game.
- To see the forks features I have worked on so far check out the Features section. + 🎥 CinematicUnityExplorer is a fork of the excellent UnityExplorer mod made by sinai-dev focused on providing tools for creating marketing material for Unity games. +
++ To see the forks features we have worked on so far check out the Features section.
✔️ Supports most Unity versions from 5.2 to 2021+ (IL2CPP and Mono). @@ -17,9 +24,11 @@ ✨ Powered by UniverseLib
-# Releases [](../../releases) +# Releases [](../../releases) + +[](../../releases/latest) [](https://github.com/Scoolnik/NR-CinematicUnityExplorer/actions) [](../../releases/latest) -[](../../releases/latest) [](https://github.com/originalnicodr/CinematicUnityExplorer/actions) [](../../releases/latest) +Nightly build: https://nightly.link/Scoolnik/NR-CinematicUnityExplorer/workflows/dotnet_nightly/development/CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip
@@ -30,15 +39,15 @@
## Release schedule
-Nightly builds can be found [here](https://github.com/originalnicodr/CinematicUnityExplorer/actions).
+Nightly builds can be found [here](https://github.com/Scoolnik/NR-CinematicUnityExplorer/actions).
## BepInEx
| Release | IL2CPP(CoreCLR) | IL2CPP(Unhollower) | Mono |
| ------- | ------ | ------ | ---- |
-| BIE 6.X be.647+ | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip) | ✖️ n/a | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx6.Unity.Mono.zip) |
-| BIE 6.X be.472 to be.577 | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx.IL2CPP.CoreCLR.zip) | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx.IL2CPP.zip) | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx6.Mono.zip) |
-| BIE 5.X | ✖️ n/a | ✖️ n/a | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx5.Mono.zip) |
+| BIE 6.X be.647+ | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip) | ✖️ n/a | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx6.Unity.Mono.zip) |
+| BIE 6.X be.472 to be.577 | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx.IL2CPP.CoreCLR.zip) | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx.IL2CPP.zip) | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx6.Mono.zip) |
+| BIE 5.X | ✖️ n/a | ✖️ n/a | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx5.Mono.zip) |
1. Unzip the release file into a folder
2. Take the `plugins/CinematicUnityExplorer` folder and place it in `BepInEx/plugins/`
@@ -49,9 +58,9 @@ Nightly builds can be found [here](https://github.com/originalnicodr/CinematicUn
| Release | IL2CPP | Mono |
| ------- | ------ | ---- |
-| ML 0.6.x | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip) | ✖️ |
-| ML 0.6(only alpha build) | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.net6preview.zip) | ✖️ |
-| ML 0.5 | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.zip) | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.Mono.zip) |
+| ML 0.6.x | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip) | ✖️ |
+| ML 0.6(only alpha build) | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.net6preview.zip) | ✖️ |
+| ML 0.5 | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.zip) | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.Mono.zip) |
1. Unzip the release file into a folder
2. Copy the DLL inside the `Mods` folder into your MelonLoader `Mods` folder
@@ -61,11 +70,11 @@ Nightly builds can be found [here](https://github.com/originalnicodr/CinematicUn
| IL2CPP | Mono |
| ------ | ---- |
-| ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Standalone.IL2CPP.zip) | ✅ [link](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Standalone.Mono.zip) |
+| ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Standalone.IL2CPP.zip) | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Standalone.Mono.zip) |
The standalone release can be used with any injector or loader of your choice, but it requires you to load the dependencies manually.
-1. Ensure the required libs are loaded - UniverseLib, HarmonyX and MonoMod. Take them from the [`CinematicUnityExplorer.Editor`](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Editor.zip) release if you need them.
+1. Ensure the required libs are loaded - UniverseLib, HarmonyX and MonoMod. Take them from the [`CinematicUnityExplorer.Editor`](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Editor.zip) release if you need them.
2. For IL2CPP, load Il2CppAssemblyUnhollower and start an [Il2CppAssemblyUnhollower runtime](https://github.com/knah/Il2CppAssemblyUnhollower#required-external-setup)
2. Load the CinematicUnityExplorer DLL
3. Create an instance of Unity Explorer with `UnityExplorer.ExplorerStandalone.CreateInstance();`
@@ -73,7 +82,7 @@ The standalone release can be used with any injector or loader of your choice, b
## Unity Editor
-1. Download the [`CinematicUnityExplorer.Editor`](https://github.com/originalnicodr/CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Editor.zip) release.
+1. Download the [`CinematicUnityExplorer.Editor`](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Editor.zip) release.
2. Install the package, either by using the Package Manager and importing the `package.json` file, or by manually dragging the folder into your `Assets` folder.
3. Drag the `Runtime/CinematicUnityExplorer` prefab into your scene, or create a GameObject and add the `Explorer Editor Behaviour` script to it.
@@ -94,7 +103,7 @@ If these fixes do not work, please create an issue in this repo and I'll do my b
# Guide and documentation
-I wrote a [guide](https://framedsc.com/GeneralGuides/cinematic-unity-explorer.htm) explaining different things regarding the Cinematic Unity Explorer over the Framed website, from knowing what version to download with your game and troubleshooting, to usage and tips and tricks. Feel free to create a PR on the [Framed GitHub repo](https://github.com/framedsc/Sitesource) if you want to improve it.
+originalnicodr wrote a [guide](https://framedsc.com/GeneralGuides/cinematic-unity-explorer.htm) explaining different things regarding the Cinematic Unity Explorer over the Framed website, from knowing what version to download with your game and troubleshooting, to usage and tips and tricks. Feel free to create a PR on the [Framed GitHub repo](https://github.com/framedsc/Sitesource) if you want to improve it.
# Default Hotkeys
@@ -124,9 +133,17 @@ Freeze NPC animations | `Numpad 0`
# Features
+NR fork features:
+- "Follow car" button
+- Hide game ui
+- Disable default camera behaviour when using free cam
+- Move camera container, not camera itself
+
+## The following are features from the original CinematicUnityExplorer project which I have not made myself (text left as is).
+
The following are the features I developed for this fork. All focused on making things easier for capture artists to get marketing material for studios.
-If you found a bug or a problem (or want to see the things I want to work on) head over to the [issues page](https://github.com/originalnicodr/CinematicUnityExplorer/issues).
+If you found a bug or a problem (or want to see the things I want to work on) head over to the [issues page](https://github.com/Scoolnik/NR-CinematicUnityExplorer/issues).
## Improved Freecam
@@ -143,25 +160,28 @@ The original Unity Explorer had a Freecam feature, but even if it was useful at
- Blocked rotation from going further when looking directly up or directly down.
### Follow Object
+
You can click on the "Follow object" button on the panel and select the object you want the camera to follow or click on the "Follow object" button in the inspector screen for more granularity. This can be used as it is, but it's even more useful when playing with [camera paths](#camera-paths), as you can create a path for the camera to walk relative to the object
By default the camera only follows the object's position, but you can also make it follow its rotation as if the camera was physically bound to the object by checking the "Follow Object Rotation" toggle. Should be useful for mimicking a car camera, a character POV, or creating motion blur.
### Game input block for Unity's legacy system
+
Added game input block for Unity's legacy system. You can now block (or unblock) the game's input when using the freecam, as long as the game is using the Unity Legacy Input system. 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 so I can implement it using that game!
## Lights manager
+
It allows you to spawn spotlights and pointlights, 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 only turns off scene lights and won't turn off ambient light or lights created by emissive materials, effects, or shaders.
-
+
-
+
-Adapted for Night-Runners.
-
-
- Fork of the excellent CinematicUnityExplorer mod made by originalnicodr focused on providing support for Night-Runners game.
+ 🚗 Fork of the excellent CinematicUnityExplorer mod made by originalnicodr focused on providing support for Night-Runners game.
🎥 CinematicUnityExplorer is a fork of the excellent UnityExplorer mod made by sinai-dev focused on providing tools for creating marketing material for Unity games.
@@ -17,9 +17,6 @@ Discord modding community server:
To see the forks features we have worked on so far check out the Features section.
- ✔️ Supports most Unity versions from 5.2 to 2021+ (IL2CPP and Mono).
-
✨ Powered by UniverseLib
+Discord modding community server: click
+
From 460f85fa554fda069c0c16fb6375e1ba66141c96 Mon Sep 17 00:00:00 2001
From: Scoolnik <62171058+Scoolnik@users.noreply.github.com>
Date: Sun, 24 Nov 2024 17:38:53 +0500
Subject: [PATCH 20/21] Update README.md
---
README.md | 50 ++++++++++++++------------------------------------
1 file changed, 14 insertions(+), 36 deletions(-)
diff --git a/README.md b/README.md
index b14c7369..c97a7045 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,15 @@
# Cinematic Unity Explorer Adapted for Night-Runners
-Discord modding community server: click
+Night-Runners Discord modding community server: click
+
@@ -41,13 +36,13 @@ Nightly build: https://nightly.link/Scoolnik/NR-CinematicUnityExplorer/workflows
Nightly builds can be found [here](https://github.com/Scoolnik/NR-CinematicUnityExplorer/actions).
+Main BepinEx Nightly build: [click](https://nightly.link/Scoolnik/NR-CinematicUnityExplorer/workflows/dotnet_nightly/development/CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip)
+
## BepInEx
-| Release | IL2CPP(CoreCLR) | IL2CPP(Unhollower) | Mono |
-| ------- | ------ | ------ | ---- |
-| BIE 6.X be.647+ | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip) | ✖️ n/a | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx6.Unity.Mono.zip) |
-| BIE 6.X be.472 to be.577 | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx.IL2CPP.CoreCLR.zip) | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx.IL2CPP.zip) | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx6.Mono.zip) |
-| BIE 5.X | ✖️ n/a | ✖️ n/a | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx5.Mono.zip) |
+| Release | IL2CPP(CoreCLR) |
+| ------- | ------ |
+| BIE 6.X be.647+ | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip) |
1. Unzip the release file into a folder
2. Take the `plugins/CinematicUnityExplorer` folder and place it in `BepInEx/plugins/`
@@ -56,35 +51,18 @@ Nightly builds can be found [here](https://github.com/Scoolnik/NR-CinematicUnity
## MelonLoader
-| Release | IL2CPP | Mono |
-| ------- | ------ | ---- |
-| ML 0.6.x | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip) | ✖️ |
-| ML 0.6(only alpha build) | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.net6preview.zip) | ✖️ |
-| ML 0.5 | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.zip) | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.Mono.zip) |
+| Release | IL2CPP |
+| ------- | ------ |
+| ML 0.6.x | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip) |
+| ML 0.5 | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.MelonLoader.IL2CPP.zip) |
1. Unzip the release file into a folder
2. Copy the DLL inside the `Mods` folder into your MelonLoader `Mods` folder
3. Copy all of the DLLs inside the `UserLibs` folder into your MelonLoader `UserLibs` folder
-## Standalone
-
-| IL2CPP | Mono |
-| ------ | ---- |
-| ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Standalone.IL2CPP.zip) | ✅ [link](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Standalone.Mono.zip) |
-
-The standalone release can be used with any injector or loader of your choice, but it requires you to load the dependencies manually.
-
-1. Ensure the required libs are loaded - UniverseLib, HarmonyX and MonoMod. Take them from the [`CinematicUnityExplorer.Editor`](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Editor.zip) release if you need them.
-2. For IL2CPP, load Il2CppAssemblyUnhollower and start an [Il2CppAssemblyUnhollower runtime](https://github.com/knah/Il2CppAssemblyUnhollower#required-external-setup)
-2. Load the CinematicUnityExplorer DLL
-3. Create an instance of Unity Explorer with `UnityExplorer.ExplorerStandalone.CreateInstance();`
-4. Optionally subscribe to the `ExplorerStandalone.OnLog` event to handle logging if you wish
-
-## Unity Editor
+## Standalone and Unity Editor
-1. Download the [`CinematicUnityExplorer.Editor`](https://github.com/Scoolnik/NR-CinematicUnityExplorer/releases/latest/download/CinematicUnityExplorer.Editor.zip) release.
-2. Install the package, either by using the Package Manager and importing the `package.json` file, or by manually dragging the folder into your `Assets` folder.
-3. Drag the `Runtime/CinematicUnityExplorer` prefab into your scene, or create a GameObject and add the `Explorer Editor Behaviour` script to it.
+✖️ n/a, use original [CinematicUnityExplorer](https://github.com/originalnicodr/CinematicUnityExplorer)
# Common issues and solutions
From 5d6d431bcf6b5e156d81c4aa613e095d163b43ff Mon Sep 17 00:00:00 2001
From: Scoolnik <62171058+Scoolnik@users.noreply.github.com>
Date: Sun, 24 Nov 2024 17:50:36 +0500
Subject: [PATCH 21/21] build: update master branch ci [-noci]
---
.github/workflows/dotnet.yml | 93 ++++-----------
build.ps1 | 211 +++--------------------------------
2 files changed, 38 insertions(+), 266 deletions(-)
diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
index ccc273e2..056d1f7f 100644
--- a/.github/workflows/dotnet.yml
+++ b/.github/workflows/dotnet.yml
@@ -16,96 +16,43 @@ jobs:
# Setup
- name: Checkout latest
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
submodules: true
+
+ - name: Checkout private tools
+ uses: actions/checkout@v4
+ with:
+ repository: ${{ secrets.NR_INTEROP_REPO }}
+ token: ${{ secrets.NR_INTEROP_TOKEN }}
+ path: NR_INTEROP
+
- name: Setup dotnet
- uses: actions/setup-dotnet@v3
+ uses: actions/setup-dotnet@v4
with:
- dotnet-version: '6.x'
+ dotnet-version: "6.x"
# Run build script
- name: Build UE
run: ./build.ps1
# Upload artifacts
- - name: Upload BepInEx.IL2CPP
- uses: actions/upload-artifact@v3
- with:
- name: CinematicUnityExplorer.BepInEx.IL2CPP.zip
- path: ./Release/CinematicUnityExplorer.BepInEx.IL2CPP/
-
- - name: Upload BepInEx.IL2CPP.CoreCLR
- uses: actions/upload-artifact@v3
- with:
- name: CinematicUnityExplorer.BepInEx.IL2CPP.CoreCLR.zip
- path: ./Release/CinematicUnityExplorer.BepInEx.IL2CPP.CoreCLR/
-
- name: Upload BepInEx.Unity.IL2CPP.CoreCLR
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip
- path: ./Release/CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR/
-
- - name: Upload BepInEx5.Mono
- uses: actions/upload-artifact@v3
- with:
- name: CinematicUnityExplorer.BepInEx5.Mono.zip
- path: ./Release/CinematicUnityExplorer.BepInEx5.Mono/
-
- - name: Upload BepInEx6.Mono
- uses: actions/upload-artifact@v3
- with:
- name: CinematicUnityExplorer.BepInEx6.Mono.zip
- path: ./Release/CinematicUnityExplorer.BepInEx6.Mono/
-
- - name: Upload BepInEx6.Unity.Mono
- uses: actions/upload-artifact@v3
- with:
- name: CinematicUnityExplorer.BepInEx6.Unity.Mono.zip
- path: ./Release/CinematicUnityExplorer.BepInEx6.Unity.Mono/
+ path: ./Release/CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR/output
- name: Upload MelonLoader.IL2CPP
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: CinematicUnityExplorer.MelonLoader.IL2CPP.zip
- path: ./Release/CinematicUnityExplorer.MelonLoader.IL2CPP/
-
- - name: Upload MelonLoader.IL2CPP.net6preview
- uses: actions/upload-artifact@v3
- with:
- name: CinematicUnityExplorer.MelonLoader.IL2CPP.net6preview.zip
- path: ./Release/CinematicUnityExplorer.MelonLoader.IL2CPP.net6preview/
+ path: ./Release/CinematicUnityExplorer.MelonLoader.IL2CPP/output
- name: Upload MelonLoader.IL2CPP.CoreCLR
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: CinematicUnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip
- path: ./Release/CinematicUnityExplorer.MelonLoader.IL2CPP.CoreCLR/
-
- - name: Upload MelonLoader.Mono
- uses: actions/upload-artifact@v3
- with:
- name: CinematicUnityExplorer.MelonLoader.Mono.zip
- path: ./Release/CinematicUnityExplorer.MelonLoader.Mono/
-
- - name: Upload Standalone.IL2CPP
- uses: actions/upload-artifact@v3
- with:
- name: CinematicUnityExplorer.Standalone.IL2CPP.zip
- path: ./Release/CinematicUnityExplorer.Standalone.IL2CPP/
-
- - name: Upload Standalone.Mono
- uses: actions/upload-artifact@v3
- with:
- name: CinematicUnityExplorer.Standalone.Mono.zip
- path: ./Release/CinematicUnityExplorer.Standalone.Mono/
-
- - name: Upload Editor
- uses: actions/upload-artifact@v3
- with:
- name: CinematicUnityExplorer.Editor.zip
- path: ./UnityEditorPackage/
-
+ path: ./Release/CinematicUnityExplorer.MelonLoader.IL2CPP.CoreCLR/output
build_connector:
runs-on: windows-latest
@@ -113,7 +60,7 @@ jobs:
steps:
- name: Checkout latest
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
submodules: true
@@ -127,13 +74,13 @@ jobs:
run: ./build_connector.ps1
- name: Upload Unity IGCS Connector
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: UnityIGCSConnector.dll
path: ./Release/UnityIGCSConnector.dll
- name: Upload Unity IGCS Connector 32bit
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: UnityIGCSConnector.32.dll
path: ./Release/UnityIGCSConnector.32.dll
diff --git a/build.ps1 b/build.ps1
index e151b63c..9afcc888 100644
--- a/build.ps1
+++ b/build.ps1
@@ -2,216 +2,41 @@ cd UniverseLib
.\build.ps1
cd ..
-# ----------- MelonLoader IL2CPP (net6) -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_ML_Cpp_net6preview
-$Path = "Release\CinematicUnityExplorer.MelonLoader.IL2CPP.net6preview"
-# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net6 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.ML.IL2CPP.net6preview.dll $Path/CinematicUnityExplorer.ML.IL2CPP.net6preview.dll $Path/mcs.dll
-# (cleanup and move files)
-Remove-Item $Path/CinematicUnityExplorer.ML.IL2CPP.net6preview.deps.json
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-Remove-Item $Path/Iced.dll
-Remove-Item $Path/UnhollowerBaseLib.dll
-New-Item -Path "$Path" -Name "Mods" -ItemType "directory" -Force
-Move-Item -Path $Path/CinematicUnityExplorer.ML.IL2CPP.net6preview.dll -Destination $Path/Mods -Force
-New-Item -Path "$Path" -Name "UserLibs" -ItemType "directory" -Force
-Move-Item -Path $Path/UniverseLib.IL2CPP.Unhollower.dll -Destination $Path/UserLibs -Force
-# (create zip archive)
-Remove-Item $Path/../CinematicUnityExplorer.MelonLoader.IL2CPP.net6preview.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.MelonLoader.IL2CPP.net6preview.zip
-
# ----------- MelonLoader IL2CPP CoreCLR (net6) -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_ML_Cpp_CoreCLR
+dotnet build src/CinematicUnityExplorer.sln -c Release_ML_Cpp_CoreCLR -p:IS_CI=true
$Path = "Release\CinematicUnityExplorer.MelonLoader.IL2CPP.CoreCLR"
+
+New-Item -ItemType Directory -Path "$Path/output/Mods" -Force
+New-Item -ItemType Directory -Path "$Path/output/UserLibs" -Force
+
# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net6 /lib:lib/interop /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.ML.IL2CPP.CoreCLR.dll $Path/CinematicUnityExplorer.ML.IL2CPP.CoreCLR.dll $Path/mcs.dll
-# (cleanup and move files)
-Remove-Item $Path/CinematicUnityExplorer.ML.IL2CPP.CoreCLR.deps.json
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-Remove-Item $Path/Iced.dll
-Remove-Item $Path/Il2CppInterop.Common.dll
-Remove-Item $Path/Il2CppInterop.Runtime.dll
-Remove-Item $Path/Microsoft.Extensions.Logging.Abstractions.dll
-New-Item -Path "$Path" -Name "Mods" -ItemType "directory" -Force
-Move-Item -Path $Path/CinematicUnityExplorer.ML.IL2CPP.CoreCLR.dll -Destination $Path/Mods -Force
-New-Item -Path "$Path" -Name "UserLibs" -ItemType "directory" -Force
-Move-Item -Path $Path/UniverseLib.ML.IL2CPP.Interop.dll -Destination $Path/UserLibs -Force
-# (create zip archive)
-Remove-Item $Path/../CinematicUnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.MelonLoader.IL2CPP.CoreCLR.zip
+lib/ILRepack.exe /target:library /lib:lib/net6 /lib:lib/interop /lib:$Path /internalize /out:$Path/output/Mods/CinematicUnityExplorer.ML.IL2CPP.CoreCLR.dll $Path/CinematicUnityExplorer.ML.IL2CPP.CoreCLR.dll $Path/mcs.dll
+
+Move-Item -Path $Path/UniverseLib.ML.IL2CPP.Interop.dll -Destination $Path/output/UserLibs -Force
# ----------- MelonLoader IL2CPP (net472) -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_ML_Cpp_net472
+dotnet build src/CinematicUnityExplorer.sln -c Release_ML_Cpp_net472 -p:IS_CI=true
$Path = "Release/CinematicUnityExplorer.MelonLoader.IL2CPP"
-# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net472 /lib:lib/net35 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.ML.IL2CPP.dll $Path/CinematicUnityExplorer.ML.IL2CPP.dll $Path/mcs.dll
-# (cleanup and move files)
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-Remove-Item $Path/Iced.dll
-Remove-Item $Path/UnhollowerBaseLib.dll
-New-Item -Path "$Path" -Name "Mods" -ItemType "directory" -Force
-Move-Item -Path $Path/CinematicUnityExplorer.ML.IL2CPP.dll -Destination $Path/Mods -Force
-New-Item -Path "$Path" -Name "UserLibs" -ItemType "directory" -Force
-Move-Item -Path $Path/UniverseLib.IL2CPP.Unhollower.dll -Destination $Path/UserLibs -Force
-# (create zip archive)
-Remove-Item $Path/../CinematicUnityExplorer.MelonLoader.IL2CPP.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.MelonLoader.IL2CPP.zip
-# ----------- MelonLoader Mono -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_ML_Mono
-$Path = "Release/CinematicUnityExplorer.MelonLoader.Mono"
-# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net35 /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.ML.Mono.dll $Path/CinematicUnityExplorer.ML.Mono.dll $Path/mcs.dll
-# (cleanup and move files)
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-New-Item -Path "$Path" -Name "Mods" -ItemType "directory" -Force
-Move-Item -Path $Path/CinematicUnityExplorer.ML.Mono.dll -Destination $Path/Mods -Force
-New-Item -Path "$Path" -Name "UserLibs" -ItemType "directory" -Force
-Move-Item -Path $Path/UniverseLib.Mono.dll -Destination $Path/UserLibs -Force
-# (create zip archive)
-Remove-Item $Path/../CinematicUnityExplorer.MelonLoader.Mono.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.MelonLoader.Mono.zip
+New-Item -ItemType Directory -Path "$Path/output/Mods" -Force
+New-Item -ItemType Directory -Path "$Path/output/UserLibs" -Force
-# ----------- BepInEx IL2CPP -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_BIE_Cpp
-$Path = "Release/CinematicUnityExplorer.BepInEx.IL2CPP"
# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net472/BepInEx/build423~577 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.BIE.IL2CPP.dll $Path/CinematicUnityExplorer.BIE.IL2CPP.dll $Path/mcs.dll $Path/Tomlet.dll
-# (cleanup and move files)
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-Remove-Item $Path/Iced.dll
-Remove-Item $Path/UnhollowerBaseLib.dll
-New-Item -Path "$Path" -Name "plugins" -ItemType "directory" -Force
-New-Item -Path "$Path" -Name "plugins/CinematicUnityExplorer" -ItemType "directory" -Force
-Move-Item -Path $Path/CinematicUnityExplorer.BIE.IL2CPP.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-Move-Item -Path $Path/UniverseLib.IL2CPP.Unhollower.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-# (create zip archive)
-Remove-Item $Path/../CinematicUnityExplorer.BepInEx.IL2CPP.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.BepInEx.IL2CPP.zip
+lib/ILRepack.exe /target:library /lib:lib/net472 /lib:lib/net35 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/output/Mods/CinematicUnityExplorer.ML.IL2CPP.dll $Path/CinematicUnityExplorer.ML.IL2CPP.dll $Path/mcs.dll
-# ----------- BepInEx IL2CPP CoreCLR -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_BIE_CoreCLR
-$Path = "Release/CinematicUnityExplorer.BepInEx.IL2CPP.CoreCLR"
-# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net472/BepInEx/build423~577 /lib:lib/net6/ /lib:lib/interop/ /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.BIE.IL2CPP.CoreCLR.dll $Path/CinematicUnityExplorer.BIE.IL2CPP.CoreCLR.dll $Path/mcs.dll $Path/Tomlet.dll
# (cleanup and move files)
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-Remove-Item $Path/Iced.dll
-Remove-Item $Path/Il2CppInterop.Common.dll
-Remove-Item $Path/Il2CppInterop.Runtime.dll
-Remove-Item $Path/Microsoft.Extensions.Logging.Abstractions.dll
-Remove-Item $Path/CinematicUnityExplorer.BIE.IL2CPP.CoreCLR.deps.json
-New-Item -Path "$Path" -Name "plugins" -ItemType "directory" -Force
-New-Item -Path "$Path" -Name "plugins/CinematicUnityExplorer" -ItemType "directory" -Force
-Move-Item -Path $Path/CinematicUnityExplorer.BIE.IL2CPP.CoreCLR.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-Move-Item -Path $Path/UniverseLib.BIE.IL2CPP.Interop.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-# (create zip archive)
-Remove-Item $Path/../CinematicUnityExplorer.BepInEx.IL2CPP.CoreCLR.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.BepInEx.IL2CPP.CoreCLR.zip
+Move-Item -Path $Path/UniverseLib.IL2CPP.Unhollower.dll -Destination $Path/output/UserLibs -Force
# ----------- BepInEx Unity IL2CPP CoreCLR -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_BIE_Unity_Cpp
+dotnet build src/CinematicUnityExplorer.sln -c Release_BIE_Unity_Cpp -p:IS_CI=true
$Path = "Release/CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR"
-# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net472/BepInEx/build647+ /lib:lib/net6/ /lib:lib/interop/ /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.BIE.Unity.IL2CPP.CoreCLR.dll $Path/CinematicUnityExplorer.BIE.Unity.IL2CPP.CoreCLR.dll $Path/mcs.dll $Path/Tomlet.dll
-# (cleanup and move files)
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-Remove-Item $Path/Iced.dll
-Remove-Item $Path/Il2CppInterop.Common.dll
-Remove-Item $Path/Il2CppInterop.Runtime.dll
-Remove-Item $Path/Microsoft.Extensions.Logging.Abstractions.dll
-Remove-Item $Path/CinematicUnityExplorer.BIE.Unity.IL2CPP.CoreCLR.deps.json
-New-Item -Path "$Path" -Name "plugins" -ItemType "directory" -Force
-New-Item -Path "$Path" -Name "plugins/CinematicUnityExplorer" -ItemType "directory" -Force
-Move-Item -Path $Path/CinematicUnityExplorer.BIE.Unity.IL2CPP.CoreCLR.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-Move-Item -Path $Path/UniverseLib.BIE.IL2CPP.Interop.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-# (create zip archive)
-Remove-Item $Path/../CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.BepInEx.Unity.IL2CPP.CoreCLR.zip
-
-# ----------- BepInEx 5 Mono -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_BIE5_Mono
-$Path = "Release/CinematicUnityExplorer.BepInEx5.Mono"
-# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net35 /lib:lib/net35/BepInEx /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.BIE5.Mono.dll $Path/CinematicUnityExplorer.BIE5.Mono.dll $Path/mcs.dll $Path/Tomlet.dll
-# (cleanup and move files)
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-New-Item -Path "$Path" -Name "plugins" -ItemType "directory" -Force
-New-Item -Path "$Path" -Name "plugins/CinematicUnityExplorer" -ItemType "directory" -Force
-Move-Item -Path $Path/CinematicUnityExplorer.BIE5.Mono.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-Move-Item -Path $Path/UniverseLib.Mono.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-# (create zip archive)
-Remove-Item $Path/../CinematicUnityExplorer.BepInEx5.Mono.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.BepInEx5.Mono.zip
-
-# ----------- BepInEx 6 Mono -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_BIE6_Mono
-$Path = "Release/CinematicUnityExplorer.BepInEx6.Mono"
-# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net35 /lib:lib/net35/BepInEx/build423~577 /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.BIE6.Mono.dll $Path/CinematicUnityExplorer.BIE6.Mono.dll $Path/mcs.dll $Path/Tomlet.dll
-# (cleanup and move files)
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-New-Item -Path "$Path" -Name "plugins" -ItemType "directory" -Force
-New-Item -Path "$Path" -Name "plugins/CinematicUnityExplorer" -ItemType "directory" -Force
-Move-Item -Path $Path/CinematicUnityExplorer.BIE6.Mono.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-Move-Item -Path $Path/UniverseLib.Mono.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-# (create zip archive)
-Remove-Item $Path/../CinematicUnityExplorer.BepInEx6.Mono.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.BepInEx6.Mono.zip
+$OutputPath = "$Path/output/BepInEx/plugins/CinematicUnityExplorer"
-# ----------- BepInEx 6 Unity Mono -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_BIE6_Unity_Mono
-$Path = "Release/CinematicUnityExplorer.BepInEx6.Unity.Mono"
-# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net35 /lib:lib/net35/BepInEx/build647+ /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.BIE6.Unity.Mono.dll $Path/CinematicUnityExplorer.BIE6.Unity.Mono.dll $Path/mcs.dll $Path/Tomlet.dll
-# (cleanup and move files)
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-New-Item -Path "$Path" -Name "plugins" -ItemType "directory" -Force
-New-Item -Path "$Path" -Name "plugins/CinematicUnityExplorer" -ItemType "directory" -Force
-Move-Item -Path $Path/CinematicUnityExplorer.BIE6.Unity.Mono.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-Move-Item -Path $Path/UniverseLib.Mono.dll -Destination $Path/plugins/CinematicUnityExplorer -Force
-# (create zip archive)
-Remove-Item $Path/../CinematicUnityExplorer.BepInEx6.Unity.Mono.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.BepInEx6.Unity.Mono.zip
+New-Item -ItemType Directory -Path $OutputPath -Force
-# ----------- Standalone Mono -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_STANDALONE_Mono
-$Path = "Release/CinematicUnityExplorer.Standalone.Mono"
# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net35 /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.Standalone.Mono.dll $Path/CinematicUnityExplorer.Standalone.Mono.dll $Path/mcs.dll $Path/Tomlet.dll
-# (cleanup and move files)
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-Remove-Item $Path/../CinematicUnityExplorer.Standalone.Mono.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.Standalone.Mono.zip
+lib/ILRepack.exe /target:library /lib:lib/net472/BepInEx/build647+ /lib:lib/net6/ /lib:lib/interop/ /lib:$Path /internalize /out:$OutputPath/CinematicUnityExplorer.BIE.Unity.IL2CPP.CoreCLR.dll $Path/CinematicUnityExplorer.BIE.Unity.IL2CPP.CoreCLR.dll $Path/mcs.dll $Path/Tomlet.dll
-# ----------- Standalone IL2CPP -----------
-dotnet build src/CinematicUnityExplorer.sln -c Release_STANDALONE_Cpp
-$Path = "Release/CinematicUnityExplorer.Standalone.IL2CPP"
-# ILRepack
-lib/ILRepack.exe /target:library /lib:lib/net472 /lib:lib/unhollowed /lib:$Path /internalize /out:$Path/CinematicUnityExplorer.Standalone.IL2CPP.dll $Path/CinematicUnityExplorer.Standalone.IL2CPP.dll $Path/mcs.dll $Path/Tomlet.dll
# (cleanup and move files)
-Remove-Item $Path/Tomlet.dll
-Remove-Item $Path/mcs.dll
-Remove-Item $Path/Iced.dll
-Remove-Item $Path/UnhollowerBaseLib.dll
-Remove-Item $Path/../CinematicUnityExplorer.Standalone.IL2CPP.zip -ErrorAction SilentlyContinue
-compress-archive .\$Path\* $Path/../CinematicUnityExplorer.Standalone.IL2CPP.zip
+Move-Item -Path $Path/UniverseLib.BIE.IL2CPP.Interop.dll -Destination $OutputPath -Force
-# ----------- Editor (mono) -----------
-$Path1 = "Release/CinematicUnityExplorer.Standalone.Mono"
-$Path2 = "UnityEditorPackage/Runtime"
-Copy-Item $Path1/CinematicUnityExplorer.STANDALONE.Mono.dll -Destination $Path2
-Copy-Item $Path1/UniverseLib.Mono.dll -Destination $Path2
-Remove-Item Release/CinematicUnityExplorer.Editor.zip -ErrorAction SilentlyContinue
-compress-archive .\UnityEditorPackage\* Release/CinematicUnityExplorer.Editor.zip