Tutorial Unity How To Uncensor (Almost) Any Unity Game

DarkDoragon

Newbie
Sep 17, 2018
43
94
What software did you use for that thou? I do recognized those name from the assemblyCSharp.dll. They were called for Texture2D in Unity.

Most i can do here is share some info. I did manage to swap out the pussy with another texture by editing the C# code and yeah... the mosaic seems to be with the pussy texture.
At the same time i did extract out the texture with UABE long ago and it was uncensored compared to the one that you have there which makes me think that there may still be a way.
Unless this texture and that texture are actually not the same which means we just need to replace it with the one i have here.

There is another game done by the same developer which got uncensored by editing assemblyCSharp.dll to change mosaic gameObject setActive to false. https://f95zone.to/threads/furo-girl-peach-final-bousoft.29643/
but i can't pinpoint the gameObject name in this game so it can't be done and with whats stated above. Infact i don't think this game use the same method for censoring.

The dick however is baked with the mosaic so that one truly can't be uncensored
Well i did spent like over 2 day on it studying the code lol but sigh.
If anything, it a good thing you shared that.
View attachment 497673 View attachment 497679
Hi, I created a mod for this game a while back, when the Steam version came out. I used that uncensored pussy asset (which is not used in the game btw) as a basis to recreate manually all other textures for all Kokori's skin tones. I also changed the dick textures. I didn't uncensor the DLC girls though.

This game uses two slightly different pussy textures to create a weird "throbbing" effect, which I honestly didn't like. And I thought it was not worth the trouble recreating that, so it's just static.

It's meant for the latest Steam version, but I guess it works with the Dlsite version. If not, just extract and use my uncensored assets in the Dlsite version files. (Only the dick textures are inside resources.assets)

 

javajav

Member
Oct 31, 2019
116
336
Came across this gem when poking through the C# assembly of Little Life (RJ257125). A secret built-in uncensored mode. I'm not really familiar with Unity C#, but these seem like useful general-purpose loops if you wanted to edit the the parameters of mosaic material objects in a Unity assembly runtime.

Some Japanese games are less censored on DMM/Fanza than DLSite due to DLSite being stricter. This game weakens the mosaic in the Fanza version (which is a file check), and I guess the author added in an uncensored mode for giggles while he was at it. If your game sets the BlockSize or other parameters in the runtime then it's trivial to change the value of the float in Assembly-CSharp.dll with an MSIL editor like dnSpy (don't need Visual Studio or anything fancy).
 

javajav

Member
Oct 31, 2019
116
336
Not a lot of assembly/monoscript stuff in this thread so I'll throw in my adventure with RJ246681 ReaseLotte Adventure 4.

Used to extract+convert textures from resources.assets to verify that the game contained uncensored textures. It even has uncensored 2DCG which is a nice bonus. Some of the textures were compressed (.crn instead of .dds) so I had to decompress those with the to view them.

Used to extract data\Managed\Assembly-CSharp.dll to C# source files. Searched recursively through the source files for some strings to find interesting stuff:
mosaic
censor
_cellSize
モザイク (mosaic)

Found references to
Utage\Mosaic.cs
Utage\MosaicRenderer.cs
CameraCensorship.cs
PixelationPost.cs
モザイクレイヤー最前面.cs

Fired up to do some editing on Assembly-CSharp.dll. Went through what I scoped out and tried neutering things by editing their render function.
001_mosaic.png 002_mosaic.png
RenderImage takes an input, sets up the material, then renders the input with the material.
You can neuter the function to render the input as-is (without the censorship material) by changing something like:
Graphics.Blit(source, destination, base.Material);
to:
Graphics.Blit(source, destination);

In the end, for this game, most functions were red herrings. Only neutering PixelationPost removed censorship, which it removed from the realtime-3D renders. 2DCG still ended up being censored. Using the "Material Mosaic Removal Alternative" method removed 2DCG censorship but not the 3D censorship, so both together ended up working well.

Didn't spend any additional time finding the code responsible for setting up the 2DCG censorship when I had a working solution.
 
Last edited:

TNR

New Member
Mar 27, 2019
11
2
issue.PNG
i had found a closet word similar to mosaic but when i tried to change that value to 0, but still did nothing, did i do something wrong?? :/
this is (Conceived Experience Clinic), i can't share the link yet al
 

AlexDuKaNa

Member
Jan 9, 2018
220
214
View attachment 537009
i had found a closet word similar to mosaic but when i tried to change that value to 0, but still did nothing, did i do something wrong?? :/
this is (Conceived Experience Clinic), i can't share the link yet al
I don't know which value from there you changed to 0, but you gotta find something with blocksize if there is one in that notepad and put it to 1, I also tried to check the game myself but i can't find any game with that name
 
  • Like
Reactions: TNR

javajav

Member
Oct 31, 2019
116
336
did i do something wrong?? :/
The material is 01_handjob_01_handjob2 (path ID 4). Took the brute force approach and dumped all materials with Assets Bundle Extractor and did a text search for mosaic, cellsize. Then you can do "Material Mosaic Removal Alternative". However, your dude's chinchin is censored in the 2D texture, so it doesn't remove censorship but reduces it by about 75%.
 
  • Like
Reactions: Zippix and TNR

AlexDuKaNa

Member
Jan 9, 2018
220
214
So, i tried to open the shader at mpathid 3 but I get this :

1580601440171.png

Then i checked to see if the censor is burned in the textures.. and it is..
You don't have permission to view the spoiler content. Log in or register now.
You can see the censorship, sorry my man
 
  • Like
Reactions: TheBlueKnight
Nov 22, 2018
298
266
Hello.

I'm seeking for help on decensoring by editing Assembly-CSharp.dll.
Actually, I want to decensor the Android version.
I've already succeed by editing the resources.assets for PC version, but it breaks into mess in the apk.
I've found the file hidden in the mess to replace, but that makes the apk cannot be installed.
Already decensored another apk successfully, so I don't think the problem is on unpack/repacking.

Edit: Tried later and found that the problem is on repacking, as the error still appear as I just unpack and repack it.
 
Last edited:
  • Like
Reactions: TNR

javajav

Member
Oct 31, 2019
116
336
I've found the file hidden in the mess to replace, but that makes the apk cannot be installed.
Align and debug-sign the rebuilt APK with

This is a Live2D game so I edited the _Size properties of UnlitMosaic and UnlitMaskedMosaic to 1.
UnlitMaskedMosaic is 4da6a2fa76d9f6b46949117c7c183619
UnlitMosaic is fc4311e787a3a8842873530138d8b410
Original value is 8 (HEX: 00 41)
New value is 1 (HEX: 80 3F)
 

TNR

New Member
Mar 27, 2019
11
2
Hello, i need some help, about the VR harpy android version (I still can't provide a link yet :/ sry), i had using Material Mosaic Removal way to edit the sharedassets1.assets (_BlockSize) to 1, but after i repack and singed the apk and run it, the mosaic doesn't disappear but when closest view, the mosaic will disable a moment....
1582041006627.png
 
Nov 22, 2018
298
266
Hello, i need some help, about the VR harpy android version (I still can't provide a link yet :/ sry), i had using Material Mosaic Removal way to edit the sharedassets1.assets (_BlockSize) to 1, but after i repack and singed the apk and run it, the mosaic doesn't disappear but when closest view, the mosaic will disable a moment....
I only have PC version of it, and I found that there is also a "MosaicField" shader, that you need to edit, inside resources.assets.
And the resources.assets will be divided into a mess in apk, like the pic I posted before.
You need to find out the file with that shader and edit it.
 

TNR

New Member
Mar 27, 2019
11
2
I only have PC version of it, and I found that there is also a "MosaicField" shader, that you need to edit, inside resources.assets.
And the resources.assets will be divided into a mess in apk, like the pic I posted before.
You need to find out the file with that shader and edit it.
Here the link that i hope i can share it here
"threads/vr-giant-harpy-girl-kokage-no-izumi.15201"
 

Prick

Engaged Member
Jul 17, 2017
2,113
1,906
Hello, i need some help, about the VR harpy android version (I still can't provide a link yet :/ sry), i had using Material Mosaic Removal way to edit the sharedassets1.assets (_BlockSize) to 1, but after i repack and singed the apk and run it, the mosaic doesn't disappear but when closest view, the mosaic will disable a moment....
Applying uncensors to APK formats is a nightmare, I've tried it before and it's almost always broken. From recollection, forbidden101v was able to package an uncensored APK, so if he sees this perhaps he will give a better answer.
 
  • Thinking Face
Reactions: TNR

forbidden101v

The Hentai Witcher
Modder
Jun 2, 2018
801
7,381
Hello, i need some help, about the VR harpy android version (I still can't provide a link yet :/ sry), i had using Material Mosaic Removal way to edit the sharedassets1.assets (_BlockSize) to 1, but after i repack and singed the apk and run it, the mosaic doesn't disappear but when closest view, the mosaic will disable a moment....
Did you try it on the pc version to see if that method works right? The only difference between uncensoring pc and android games is with android games you have to fuse all the splits together, edit it, and then split it into 1MB pieces again.
 

TNR

New Member
Mar 27, 2019
11
2
Did you try it on the pc version to see if that method works right? The only difference between uncensoring pc and android games is with android games you have to fuse all the splits together, edit it, and then split it into 1MB pieces again.
oh i see, ok, i will try it, thanks your suggestion
 
Dec 7, 2017
170
128
Hello I made a sort of patch using one of the methods in the thread for this game:


You can download it here (ver. 1.20):


Replace the corresponding asset

NOTE: The first method used didn't work for version 1.21, I think it was made to prevent it
 
Dec 7, 2017
170
128
Hello I made a sort of patch using one of the methods in the thread for this game:


You can download it here (ver. 1.20):


Replace the corresponding asset

NOTE: The first method used didn't work for version 1.21, I think it was made to prevent it
Also for this one:

Download:


Replace the corresponding asset
 

Prick

Engaged Member
Jul 17, 2017
2,113
1,906
NOTE: The first method used didn't work for version 1.21, I think it was made to prevent it
Not necessarily, developers usually don't go too far out of their way to prevent modders from getting into the code.
Unless the game is being read through encryption, it's safe to assume there is zero prevention to modifications.
Most people don't have access to unity tools, and reverse engineering skills. That's why UABE exists in the first place.

Other games are a different story. Games that are compiled into a massive .exe are the best example. You really need to know what you're doing then. Likewise with other data types, such as xp3.