Tool Unity [BepInEx][plugin] SW_Decensor v0.7.2.0

kumarin

Well-Known Member
Feb 19, 2022
1,763
2,492
It's a S/W demosaic plugin.
There are similar plugins.
  • by ManlyMarco
  • UniversalUnityDemosaics ( ) by me
My UniversalUnityDemosaics was made from ManlyMarco's source. I edit & add functions.
I think it works in many Unity games.

but, Some games do not apply.
I made over 70 custom uncensor plugins. 'cause UniversalUnityDemosaics is not working.
There are so many way to make censorship.

I've been thinking and made about a more extensible, GameObject-based way of doing things, and now that it's functionally working, I open it

This plugin is just remove the S/W mosaics.
Most Japanese games today have mosaics applied in the S/W + H/W(baked) ways.
Sometimes, games come out that only have S/W mosaics, and many VR games only have S/W mosaics.

I hope this helps you in your gaming life.

Files
  • SW_Decensor_v0.7.2.0
    • SW_Decensor_BE5.dll : for BepInEx 5 Mono type ( )
    • SW_Decensor_BE6.dll : for BepInEx 6 Mono type ( )
    • SW_Decensor_il2cpp.dll : for BepInEx 6 IL2CPP type ( )

Install
It's a sort of plugin of BepInEx. You must install a BepInEx.
Installation of BepInEx is not described. please refer to .

Copy right type of plugin file to "BepInEx\plugins" folder.
Copy all files to "BepInEx\plugins" folder ? That's one way, but I don't recommend it.

Usage
if plugin is loaded, config file is created at "BepInEx\config" folder. There are some settings. You can edit it freely.
Some games are need to edit config(.ini) file.

You don't have permission to view the spoiler content. Log in or register now.

The settings are very complicated, but if you just use it as is, it will work for most games.

Finding appropriate KeyWords values in a new game is not easy.
I thought about how to find the values easily with UI. However, I think it will be difficult to implement because my skills are lacking.
I decided to make 0.7.0.0 the target version that does all the basic functions, and I plan to implement the rest to help find KeyWords and make it 1.0.0.0...

You don't have permission to view the spoiler content. Log in or register now.
 
Last edited:

bwebrwkerw

Active Member
Sep 23, 2017
636
1,901
but, Some games do not apply.
I made over 70 custom uncensor plugins. 'cause UniversalUnityDemosaics is not working.
There are so many way to make censorship.
so this mean if this fail:
https://f95zone.to/threads/universalunitydemosaics-v1-4-6-0.115486/
then we use/try this and bam..... it should work.....hopefully

is always good having a backup/reserve plan for it......

p.s.
it is too much for asking for a list of support uncensored games?
what are the names of these 70 games???

i am very curious/interested of try each of them...
now than have you mentioned it.....!!!!!


!!!thanks as always buddy!!!
 

kumarin

Well-Known Member
Feb 19, 2022
1,763
2,492
There are some non-dedicated plugins, but you can see most of them in the link below.
searched in F95
Dedicated plugins are generally faster than general-purpose ones, and they are made for special use because the existing general-purpose plugins cannot handle them.

This plugin includes all features of UniversalUnityDemosaics v1.4.6.0.
 
Last edited:
  • Love
Reactions: bwebrwkerw

kumarin

Well-Known Member
Feb 19, 2022
1,763
2,492
plugin updated.

fixed small bug.
I test with a game which named . (SW+HW censored game. old version has uncensored 2 scenes)
but occurs many lags with plugin.
I tried apply task. It's a little better though.. but sometime makes lags.
If it takes a long time to get GameObjects (more than 4ms) and this happens more than 10 times, plugin switch to RendererOnlyMode.(first run only)
Can't use a Task on il2cpp.
 

nekonick123

Newbie
Mar 16, 2019
55
131

Is this to close the game after reading the plugin, or is it a version of BepInEx that can be used if the plugin is incompatible?

Although I am using the trial version, I am using Special K to confirm.
 

kumarin

Well-Known Member
Feb 19, 2022
1,763
2,492

Is this to close the game after reading the plugin, or is it a version of BepInEx that can be used if the plugin is incompatible?

Although I am using the trial version, I am using Special K to confirm.
This game's unity version is 2023.2. may be BepInEx is not support yet.
I tried MTL plugin, but failed. CinematicUnityExplorer plugin is failed too.
jusy only install BepInEx BE #719, it failed too.
 
Last edited:

nekonick123

Newbie
Mar 16, 2019
55
131
BepInEx requires at least version #689 or later to run the game.
I have tried two demosaic plugins for every version but both shut down the game.
But I'm sure the censored shader is 'Hidden/Mosaic'.
 
Last edited:

kumarin

Well-Known Member
Feb 19, 2022
1,763
2,492
BepInEx requires at least version #689 or later to run the game.
I have tried two demosaic plugins for every version but both shut down the game.
But I'm sure the censored shader is 'Hidden/Mosaic'.
[Info :DumbRendererDemosaicIl2Cpp] R Body_Naked
[Info :DumbRendererDemosaicIl2Cpp] M CH001_Naked (Instance) Zurp/3D/ToonLit With Outline | Translucent Pre-Depth | Tessellation
[Info :DumbRendererDemosaicIl2Cpp] M [Renamed] Zurp/3D/ToonLit With Outline | Translucent Pre-Depth | Tessellation
I dumped Renderers & Materials
on option scene, "Body_Naked" renderer has 2 materials.
"[Renamed]" was changed by plugin. original name is.. "blah.._Mosaic". "Zurp/3D/ToonLit With Outline | Translucent Pre-Depth | Tessellation" is shader name.
this case, remove mosaic material from renderer can makes uncensored. but DumbRendererDemosaic has no function to remove it. SW_decensor has it.
 

gnihtyreve

Member
Sep 29, 2020
286
328
[Message: Preloader] BepInEx 6.0.0-be.719 - One Night (2024/09/11 19:50:11)
[Message: Preloader] Built from commit d9b95a0ac76e53c4f0f2be93939adb02cfde16d4
[Info : BepInEx] System platform: Windows 10 64-bit
[Info : BepInEx] Process bitness: 64-bit (x64)
[Info : BepInEx] Running under Unity 2023.2.4f1
[Info : BepInEx] Runtime version: 6.0.7
[Info : BepInEx] Runtime information: .NET 6.0.7
[Info :AssemblyPatcher] Loaded 0 patcher
[Info : Preloader] 0 patcher plugins loaded
[Info : Preloader] 0 assemblies discovered
[Message:AssemblyPatcher] Executing 0 patch(es)
[Message: BepInEx] Chainloader initialized
[Info : BepInEx] 1 plugin provider to load
[Info : BepInEx] Loading [BepInExPluginProvider 1.0.0]
[Info : BepInEx] 1 plugin to load
[Info : BepInEx] Loading [SW_Decensor_il2cpp 0.7.2]
[Warning:Il2CppInterop] Class::Init signatures have been exhausted, using a substitute!
[Info :Il2CppInterop] Registered mono type SW_Decensor.SW_Decensor in il2cpp domain
[Message: BepInEx] Chainloader startup complete
[Warning: HarmonyX] AccessTools.GetTypesFromAssembly: assembly UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null => System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load type 'LightProbesQueryDisposeJob' from assembly 'UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' because the format is invalid.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.Assembly.GetTypes()
at HarmonyLib.AccessTools.GetTypesFromAssembly(Assembly assembly)
System.TypeLoadException: Could not load type 'LightProbesQueryDisposeJob' from assembly 'UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' because the format is invalid.
[Warning: HarmonyX] AccessTools.GetTypesFromAssembly: assembly UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null => System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load type 'LightProbesQueryDisposeJob' from assembly 'UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' because the format is invalid.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.Assembly.GetTypes()
at HarmonyLib.AccessTools.GetTypesFromAssembly(Assembly assembly)
System.TypeLoadException: Could not load type 'LightProbesQueryDisposeJob' from assembly 'UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' because the format is invalid.
[Warning: HarmonyX] AccessTools.GetTypesFromAssembly: assembly UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null => System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load type 'LightProbesQueryDisposeJob' from assembly 'UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' because the format is invalid.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.Assembly.GetTypes()
at HarmonyLib.AccessTools.GetTypesFromAssembly(Assembly assembly)
System.TypeLoadException: Could not load type 'LightProbesQueryDisposeJob' from assembly 'UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' because the format is invalid.