Skip to content

Commit

Permalink
[NC][AI/HS2/KKS] Prevent RuntimeUtilities error spam caused by incomp…
Browse files Browse the repository at this point in the history
…atible/outdated plugins
  • Loading branch information
ManlyMarco committed Jul 17, 2023
1 parent c3e8f93 commit 4383d83
Show file tree
Hide file tree
Showing 8 changed files with 58 additions and 1 deletion.
12 changes: 12 additions & 0 deletions src/AI_Fix_NullChecks/AI_Fix_NullChecks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@
<Private>False</Private>
</Reference>
<Reference Include="System.Core" />
<Reference Include="Unity.Postprocessing.Runtime, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\IllusionLibs.AIGirl.Unity.Postprocessing.Runtime.2018.2.21.4\lib\net46\Unity.Postprocessing.Runtime.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\IllusionLibs.AIGirl.UnityEngine.CoreModule.2018.2.21.4\lib\net46\UnityEngine.dll</HintPath>
<Private>False</Private>
Expand All @@ -61,6 +65,10 @@
<HintPath>..\..\packages\IllusionLibs.AIGirl.UnityEngine.CoreModule.2018.2.21.4\lib\net46\UnityEngine.CoreModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.UI, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\IllusionLibs.AIGirl.UnityEngine.UI.2018.2.21.4\lib\net46\UnityEngine.UI.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AI.NullChecks.cs" />
Expand All @@ -82,7 +90,11 @@
<Error Condition="!Exists('..\..\packages\IllusionLibs.AIGirl.Assembly-CSharp.2020.5.29.4\build\IllusionLibs.AIGirl.Assembly-CSharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.AIGirl.Assembly-CSharp.2020.5.29.4\build\IllusionLibs.AIGirl.Assembly-CSharp.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.AIGirl.UnityEngine.CoreModule.2018.2.21.4\build\IllusionLibs.AIGirl.UnityEngine.CoreModule.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.AIGirl.UnityEngine.CoreModule.2018.2.21.4\build\IllusionLibs.AIGirl.UnityEngine.CoreModule.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.BepInEx.Harmony.2.5.4\build\IllusionLibs.BepInEx.Harmony.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.BepInEx.Harmony.2.5.4\build\IllusionLibs.BepInEx.Harmony.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.AIGirl.Unity.Postprocessing.Runtime.2018.2.21.4\build\IllusionLibs.AIGirl.Unity.Postprocessing.Runtime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.AIGirl.Unity.Postprocessing.Runtime.2018.2.21.4\build\IllusionLibs.AIGirl.Unity.Postprocessing.Runtime.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.AIGirl.UnityEngine.UI.2018.2.21.4\build\IllusionLibs.AIGirl.UnityEngine.UI.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.AIGirl.UnityEngine.UI.2018.2.21.4\build\IllusionLibs.AIGirl.UnityEngine.UI.targets'))" />
</Target>
<Import Project="..\..\packages\IllusionLibs.AIGirl.UnityEngine.CoreModule.2018.2.21.4\build\IllusionLibs.AIGirl.UnityEngine.CoreModule.targets" Condition="Exists('..\..\packages\IllusionLibs.AIGirl.UnityEngine.CoreModule.2018.2.21.4\build\IllusionLibs.AIGirl.UnityEngine.CoreModule.targets')" />
<Import Project="..\..\packages\IllusionLibs.BepInEx.Harmony.2.5.4\build\IllusionLibs.BepInEx.Harmony.targets" Condition="Exists('..\..\packages\IllusionLibs.BepInEx.Harmony.2.5.4\build\IllusionLibs.BepInEx.Harmony.targets')" />
<Import Project="..\..\packages\IllusionLibs.AIGirl.Unity.Postprocessing.Runtime.2018.2.21.4\build\IllusionLibs.AIGirl.Unity.Postprocessing.Runtime.targets" Condition="Exists('..\..\packages\IllusionLibs.AIGirl.Unity.Postprocessing.Runtime.2018.2.21.4\build\IllusionLibs.AIGirl.Unity.Postprocessing.Runtime.targets')" />
<Import Project="..\..\packages\IllusionLibs.AIGirl.UnityEngine.UI.2018.2.21.4\build\IllusionLibs.AIGirl.UnityEngine.UI.targets" Condition="Exists('..\..\packages\IllusionLibs.AIGirl.UnityEngine.UI.2018.2.21.4\build\IllusionLibs.AIGirl.UnityEngine.UI.targets')" />
</Project>
2 changes: 2 additions & 0 deletions src/AI_Fix_NullChecks/packages.config
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="IllusionLibs.AIGirl.Assembly-CSharp" version="2020.5.29.4" targetFramework="net46" developmentDependency="true" />
<package id="IllusionLibs.AIGirl.Unity.Postprocessing.Runtime" version="2018.2.21.4" targetFramework="net46" />
<package id="IllusionLibs.AIGirl.UnityEngine.CoreModule" version="2018.2.21.4" targetFramework="net46" developmentDependency="true" />
<package id="IllusionLibs.AIGirl.UnityEngine.UI" version="2018.2.21.4" targetFramework="net46" />
<package id="IllusionLibs.BepInEx" version="5.4.15" targetFramework="net46" developmentDependency="true" />
<package id="IllusionLibs.BepInEx.Harmony" version="2.5.4" targetFramework="net46" developmentDependency="true" />
<package id="IllusionModdingAPI.AIAPI" version="1.15.0" targetFramework="net46" developmentDependency="true" />
Expand Down
2 changes: 1 addition & 1 deletion src/Common/Constants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ internal static class Constants
/// Version number used by all plugins. Must be convertible to <see cref="System.Version"/>
/// Uses ReleaseVersion.HotfixVersion format.
/// </summary>
public const string PluginsVersion = "21.0.1";
public const string PluginsVersion = "21.0.1.1";

#if AI
internal static bool InsideStudio => Application.productName == StudioProcessName;
Expand Down
15 changes: 15 additions & 0 deletions src/Core_Fix_NullChecks/Core.NullChecks.cs
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,21 @@ private static Exception ChangeRendererQueueErrorHandler(Exception __exception,
return null;
}
#endif

#if AI || HS2 || KKS
/// <summary>
/// RuntimeUtilities.GetAllAssemblyTypes is bugged - if some types can't be loaded it either skips the whole assembly or causes a nullref on every frame later on if the .GetType doesn't throw but does return a null in the type array.
/// </summary>
[HarmonyPrefix, HarmonyPatch(typeof(UnityEngine.Rendering.PostProcessing.RuntimeUtilities), nameof(UnityEngine.Rendering.PostProcessing.RuntimeUtilities.GetAllAssemblyTypes))]
internal static void FixedGetAllAssemblyTypes()
{
if (UnityEngine.Rendering.PostProcessing.RuntimeUtilities.m_AssemblyTypes == null)
{
// todo: AccessTools.AllTypes in current HarmonyX ver. has the same issue of returning a null sometimes on assemblies with unloadable types but that don't crash .GetType somehow
UnityEngine.Rendering.PostProcessing.RuntimeUtilities.m_AssemblyTypes = AccessTools.AllTypes().Where(x => x != null).ToArray();
}
}
#endif
}
}
}
12 changes: 12 additions & 0 deletions src/HS2_Fix_NullChecks/HS2_Fix_NullChecks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@
<Private>False</Private>
</Reference>
<Reference Include="System.Core" />
<Reference Include="Unity.Postprocessing.Runtime, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\IllusionLibs.HoneySelect2.Unity.Postprocessing.Runtime.2018.4.11.4\lib\net46\Unity.Postprocessing.Runtime.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.CoreModule.2018.4.11.4\lib\net46\UnityEngine.dll</HintPath>
<Private>False</Private>
Expand All @@ -61,6 +65,10 @@
<HintPath>..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.CoreModule.2018.4.11.4\lib\net46\UnityEngine.CoreModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.UI, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.UI.2018.4.11.4\lib\net46\UnityEngine.UI.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="HS2.NullChecks.cs" />
Expand All @@ -84,8 +92,12 @@
<Error Condition="!Exists('..\..\packages\IllusionLibs.HoneySelect2.Assembly-CSharp.2020.5.29.4\build\IllusionLibs.HoneySelect2.Assembly-CSharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.HoneySelect2.Assembly-CSharp.2020.5.29.4\build\IllusionLibs.HoneySelect2.Assembly-CSharp.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.CoreModule.2018.4.11.4\build\IllusionLibs.HoneySelect2.UnityEngine.CoreModule.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.CoreModule.2018.4.11.4\build\IllusionLibs.HoneySelect2.UnityEngine.CoreModule.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.BepInEx.Harmony.2.5.4\build\IllusionLibs.BepInEx.Harmony.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.BepInEx.Harmony.2.5.4\build\IllusionLibs.BepInEx.Harmony.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.HoneySelect2.Unity.Postprocessing.Runtime.2018.4.11.4\build\IllusionLibs.HoneySelect2.Unity.Postprocessing.Runtime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.HoneySelect2.Unity.Postprocessing.Runtime.2018.4.11.4\build\IllusionLibs.HoneySelect2.Unity.Postprocessing.Runtime.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.UI.2018.4.11.4\build\IllusionLibs.HoneySelect2.UnityEngine.UI.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.UI.2018.4.11.4\build\IllusionLibs.HoneySelect2.UnityEngine.UI.targets'))" />
</Target>
<Import Project="..\..\packages\IllusionLibs.HoneySelect2.Assembly-CSharp.2020.5.29.4\build\IllusionLibs.HoneySelect2.Assembly-CSharp.targets" Condition="Exists('..\..\packages\IllusionLibs.HoneySelect2.Assembly-CSharp.2020.5.29.4\build\IllusionLibs.HoneySelect2.Assembly-CSharp.targets')" />
<Import Project="..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.CoreModule.2018.4.11.4\build\IllusionLibs.HoneySelect2.UnityEngine.CoreModule.targets" Condition="Exists('..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.CoreModule.2018.4.11.4\build\IllusionLibs.HoneySelect2.UnityEngine.CoreModule.targets')" />
<Import Project="..\..\packages\IllusionLibs.BepInEx.Harmony.2.5.4\build\IllusionLibs.BepInEx.Harmony.targets" Condition="Exists('..\..\packages\IllusionLibs.BepInEx.Harmony.2.5.4\build\IllusionLibs.BepInEx.Harmony.targets')" />
<Import Project="..\..\packages\IllusionLibs.HoneySelect2.Unity.Postprocessing.Runtime.2018.4.11.4\build\IllusionLibs.HoneySelect2.Unity.Postprocessing.Runtime.targets" Condition="Exists('..\..\packages\IllusionLibs.HoneySelect2.Unity.Postprocessing.Runtime.2018.4.11.4\build\IllusionLibs.HoneySelect2.Unity.Postprocessing.Runtime.targets')" />
<Import Project="..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.UI.2018.4.11.4\build\IllusionLibs.HoneySelect2.UnityEngine.UI.targets" Condition="Exists('..\..\packages\IllusionLibs.HoneySelect2.UnityEngine.UI.2018.4.11.4\build\IllusionLibs.HoneySelect2.UnityEngine.UI.targets')" />
</Project>
2 changes: 2 additions & 0 deletions src/HS2_Fix_NullChecks/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
<package id="IllusionLibs.BepInEx" version="5.4.15" targetFramework="net46" developmentDependency="true" />
<package id="IllusionLibs.BepInEx.Harmony" version="2.5.4" targetFramework="net46" developmentDependency="true" />
<package id="IllusionLibs.HoneySelect2.Assembly-CSharp" version="2020.5.29.4" targetFramework="net46" developmentDependency="true" />
<package id="IllusionLibs.HoneySelect2.Unity.Postprocessing.Runtime" version="2018.4.11.4" targetFramework="net46" />
<package id="IllusionLibs.HoneySelect2.UnityEngine.CoreModule" version="2018.4.11.4" targetFramework="net46" developmentDependency="true" />
<package id="IllusionLibs.HoneySelect2.UnityEngine.UI" version="2018.4.11.4" targetFramework="net46" />
<package id="IllusionModdingAPI.HS2API" version="1.15.0" targetFramework="net46" developmentDependency="true" />
</packages>
12 changes: 12 additions & 0 deletions src/KKS_Fix_NullChecks/KKS_Fix_NullChecks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,10 @@
<HintPath>..\..\packages\IllusionLibs.KoikatsuSunshine.UniTask.2021.9.17\lib\net46\UniTask.TextMeshPro.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Unity.Postprocessing.Runtime, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\IllusionLibs.KoikatsuSunshine.Unity.Postprocessing.Runtime.2019.4.9\lib\net46\Unity.Postprocessing.Runtime.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.CoreModule.2019.4.9\lib\net46\UnityEngine.dll</HintPath>
<Private>False</Private>
Expand All @@ -124,6 +128,10 @@
<HintPath>..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.PhysicsModule.2019.4.9\lib\net46\UnityEngine.PhysicsModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine.UI, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.UI.2019.4.9\lib\net46\UnityEngine.UI.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="KKS.NullChecks.cs" />
Expand Down Expand Up @@ -154,6 +162,8 @@
<Error Condition="!Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.AnimationModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.AnimationModule.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.AnimationModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.AnimationModule.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.InputLegacyModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.InputLegacyModule.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.InputLegacyModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.InputLegacyModule.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.PhysicsModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.PhysicsModule.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.PhysicsModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.PhysicsModule.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.Unity.Postprocessing.Runtime.2019.4.9\build\IllusionLibs.KoikatsuSunshine.Unity.Postprocessing.Runtime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.KoikatsuSunshine.Unity.Postprocessing.Runtime.2019.4.9\build\IllusionLibs.KoikatsuSunshine.Unity.Postprocessing.Runtime.targets'))" />
<Error Condition="!Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.UI.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.UI.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.UI.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.UI.targets'))" />
</Target>
<Import Project="..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.CoreModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.CoreModule.targets" Condition="Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.CoreModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.CoreModule.targets')" />
<Import Project="..\..\packages\IllusionLibs.BepInEx.Harmony.2.5.4\build\IllusionLibs.BepInEx.Harmony.targets" Condition="Exists('..\..\packages\IllusionLibs.BepInEx.Harmony.2.5.4\build\IllusionLibs.BepInEx.Harmony.targets')" />
Expand All @@ -165,4 +175,6 @@
<Import Project="..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.AnimationModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.AnimationModule.targets" Condition="Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.AnimationModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.AnimationModule.targets')" />
<Import Project="..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.InputLegacyModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.InputLegacyModule.targets" Condition="Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.InputLegacyModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.InputLegacyModule.targets')" />
<Import Project="..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.PhysicsModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.PhysicsModule.targets" Condition="Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.PhysicsModule.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.PhysicsModule.targets')" />
<Import Project="..\..\packages\IllusionLibs.KoikatsuSunshine.Unity.Postprocessing.Runtime.2019.4.9\build\IllusionLibs.KoikatsuSunshine.Unity.Postprocessing.Runtime.targets" Condition="Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.Unity.Postprocessing.Runtime.2019.4.9\build\IllusionLibs.KoikatsuSunshine.Unity.Postprocessing.Runtime.targets')" />
<Import Project="..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.UI.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.UI.targets" Condition="Exists('..\..\packages\IllusionLibs.KoikatsuSunshine.UnityEngine.UI.2019.4.9\build\IllusionLibs.KoikatsuSunshine.UnityEngine.UI.targets')" />
</Project>
2 changes: 2 additions & 0 deletions src/KKS_Fix_NullChecks/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@
<package id="IllusionLibs.KoikatsuSunshine.Assembly-CSharp-firstpass" version="2021.9.17" targetFramework="net46" />
<package id="IllusionLibs.KoikatsuSunshine.UniRx" version="2021.9.17" targetFramework="net46" />
<package id="IllusionLibs.KoikatsuSunshine.UniTask" version="2021.9.17" targetFramework="net46" />
<package id="IllusionLibs.KoikatsuSunshine.Unity.Postprocessing.Runtime" version="2019.4.9" targetFramework="net46" />
<package id="IllusionLibs.KoikatsuSunshine.UnityEngine.AnimationModule" version="2019.4.9" targetFramework="net46" />
<package id="IllusionLibs.KoikatsuSunshine.UnityEngine.CoreModule" version="2019.4.9" targetFramework="net46" />
<package id="IllusionLibs.KoikatsuSunshine.UnityEngine.InputLegacyModule" version="2019.4.9" targetFramework="net46" />
<package id="IllusionLibs.KoikatsuSunshine.UnityEngine.PhysicsModule" version="2019.4.9" targetFramework="net46" />
<package id="IllusionLibs.KoikatsuSunshine.UnityEngine.UI" version="2019.4.9" targetFramework="net46" />
<package id="IllusionModdingAPI.KKSAPI" version="1.26.0" targetFramework="net46" developmentDependency="true" />
</packages>

0 comments on commit 4383d83

Please sign in to comment.