Posted on Feb. 4, 2023, 4:58 p.m. by alphakal • Last updated on May 2, 2023, 1:19 a.m.
I'm not sure a tutorial for this has been made yet, but here goes.
First you'll need two pieces of software to continue
DnSPY - https://github.com/dnSpy/dnSpy - Can not only extract a workable file that meshes/textures/sprites and so-on, but can also be used to inspect the inner workings of any dll file to see how they connect to the game as well as see how it is coded. If one is looking into starting their modding career, inspecting the work of others can be a good start point.
AssetStudioGUI - https://github.com/Perfare/AssetStudio - Can open any file prefixed .asset or .assetbundle as well as any file generated through this tutorial. Used for extraction of assets within these files.
To start, head over to Thunderstore or whatever website you use to download mods for the Unity game you're trying to extract from. For those using Thunderstore I'm assuming if you're interested in this by now you know how to download the Mod Folder instead of using an installer, but for those who don't know just scroll all the down on whatever mod you're trying to grab and click the hyperlinked Version Number of the mod instead of the install button.
Next, extract the mod somewhere you can access and open DnSpy. File>Open in the top bar and open the dll of the extracted mod. In the left panel (Assembly Explorer) navigate to the newly added mod file (it'll have the same name as the mod) and expand it. You'll next see a list of things like PE resources, Type References and whatnot. All we want is the aptly named Resources folder, so expand it and you'll find a file with the Modname dot something, for example if trying to extract from RoR2 mod Fatify, it would be Fatify.ceeperfatify. Right click the file and select 'Save ResourceFileNameHere' and save it somewhere accessible. DnSpy can be closed at this point.
Open AssetStudio and File>Open File and navigate to your new saved file from the step above and open it. It might take a moment to do so but when it does open the 'Asset List' tab from the bar directly below the toolbar. All tangible files the mod adds are located here. Select whatever assets you want to use from here and use Export>Selected Assets from the top toolbar and select an extraction location. AssetStudio will take a moment to do so, but after extraction is complete it should automatically open a new File Explorer window where everything was extracted. AssetStudio can now be closed.
The assets are automatically placed in neatly categorized folders based on what the asset was tagged as, for the purpose of using in 3D Modeling 'Mesh' and 'Texture2D' are our targets. All meshes are in .obj file format so any 3d modelling software worth it's salt can open them natively, and textures are .png. Open whatever you're software of choice is and start importing. I recommend Blender solely on the fact it is 1. Free and 2. The models will not be rigged, so use of a plugin like AutoRig is recommended to get the models to a poseable state.
That's it, I hope this has been helpful to anyone looking to either get into modding or modeling, or both!