Modder Base

Full Version: WIP: Sleepy_Scrub's TLDR Modding Tutorial Thread
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi all.
So, one of the questions I get a lot while modding (other than "will you make my idea for free") is "I wanna be a modder too!  How do I make my own mods?" To which my answer is usually "I can't explain it without giving you a full lecture". 

Welp, today's the day I finally get around to said lecture. I'll be updating the guide in chunks. Elder modders, please let me know if I screw something up, I'll update accordingly.

I just want to compile some known information in one spot so we can point people in the right direction for a written guide. There are obviously some excellent video tutorials as well which is how I learned, but for people who want it written down in one place hopefully this can prove to be a useful resource, I'll try to make sure people are credited for the info as I go on, and if someone else explains it better I will probably just link to that thread.

Also this is probably NOT going to be a "how do I use Blender" guide so if that's what you're looking for, sorry to disappoint. Other people explain that better than I do. My aim is to really explain the file system in general in terms of what lives where so that people have a basic starting point. And from there you're going to have to do some self-study. 

1.) How do I mod Street Fighter V?
So let me start from sort of a birds-eye view of 'how to mod Street Fighter V' just to establish the basics of it and then I can go into more depth from there. 

Street Fighter V runs on Unreal Engine 4.7. And the way this version of Unreal Engine works (as I understand it) is that it takes all the models/textures/animations/sounds/whatever, and compresses/cooks them into .uasset files that are smaller but that Unreal Engine can still read. Then the .uasset files are compressed AGAIN into .pak files which Unreal can still read with no problem. 

Your goal is basically to gain access to the models/textures in a format you can work with, do your thing, then reconvert everything into a format Unreal Engine understands. So your basic modding workflow will be something like this:

1.) Unpack .pak files to get access to .uasset files.
2.) Unpack .uasset files to get access to models/textures.
3.) Edit said models/textures.
4.) Use Unreal Engine (free download) to reconvert your modded files into .uassets again, matching the original file names/folders structures of SFV.
5.) Use u4pak to convert the .uasset files back into .paks, so you can install your mods via mod manager and play the game
                                                                  -OR-
5b.) Leave your game unpacked, copy your new .uassets over, hide the .pak files, and run the game in .uasset format.

I'll get into 5b and why you may or may not want to leave your game unpacked later. But that's the ultra-abridged version of how to mod Street Fighter V. 

Step 1: Unpack the .paks
I found this video tutorial (very brief, take a look) for unpacking SFV a long time ago and it's still more or less accurate, so newbies take a look. 

Basically, you download the quickBMS pack for SF5 (current link here via Robhal). Extract it to your Paks directory for SFV 
(Whatever your steam Directory is/StreetFighterV/Content/Paks). Then run extract-all.bat (just double click it), let it run, then copy everything to Steam/steampps/common/StreetFighterV. 

Now there are some caveats I wanna go over because the pak files have changed a bit over time.

First, you may have noticed when you extracted quickbms files that there's also a "quickbms_4gb_files.exe" file in there. You need to use that one to unpack .pak files larger than 4gb files. The extract-all script included uses the base quickbms, which means it is going to miss any paks larger than 4gb. 


[Image: quickbms_screen.jpg]


At launch there were not any paks that big, but as the game has been continuously updated, paks 0 and 53 have grown over 4 gb. So you'll need to use quickbms_4gb_files.exe to extract those packs one at a time, then add them to the same root folder as all your other files when you used the extract-all script. When you double click quickbms_4gb, it's going to ask for a script, select the sf5.bms file that was included with the archive. Then point the app at the pack you need, select an output folder and hit enter, pretty simple. 

EDIT: Robhal reports that he has actually updated the extract-all script so you don't have to separately extract the over 4 GB paks, you can just use extract-all.bat. once and you're good. Make sure you're using the current version of quickbms.exe and the extract-all.bat in the link above, otherwise the old version will still miss the .paks that are over 4 GB.

ALSO, if you're going to play with your game unpacked, there are a few additional paks in other locations that you need to unpack and add to your game archive. If you want story mode to work, there's a seperate pack you need to unpack for that, under SteamApps/Common/StreetFighterV/Content/DLC/General. Unpack StreetFighterV_General.pak (it's 8gb, use quickbms_4gb again) and add that to your game files.

ALSO ALSO, midseason DLC (patches, costumes, characters) is stored in an entirely separate location from the main SFV files. While the main game files are located in your steam directory for SFV, patches and DLC are under Users/XXX (You)/AppData/Local/StreetFighterV/Saved/Download.

Example:
[Image: sf5_other_paks1.jpg]

You'll also need to extract this .pak and add it with all of the other unpacked files in the StreetFighterV/Content folder within your Steam directory if you want to play with your game unpacked. And you will need to do this every time the game goes through a minor patch/update.  If you ever find yourself asking "where's the new DLC character/costumes" they're usually in the AppData/Local .pak, FYI. 
(UNLESS it's a major game update, but again, I'll get into that later).

There's some more to explain involving the dlc.manifest and major/minor updates but I'll go over that in a separate section. But if you're looking for the files to physically work on, that's where they are.

@"robhal" has a thread on unpacking the game here if you want to learn more. Also shoutouts to @"FluffyQuack", who refined the current unpacking method, I believe.


Step 2.) Unpack .uasset files using UModel
Alright, so we're halfway to having actual assets you can work on. Head here and download the current version of umodel. Extract it to its own folder and open Umodel. 
(Most people recommend putting this folder in the Content/Chara folder within your SF5 game directory so it's easier for the app to find files but you can put it wherever). 


You should see a window that looks like this:
[Image: umodel1.jpg]
Few things to note here. Go ahead and check the "Override game detection" box here.  In the left column, check Unreal Engine 4, in the right column, select Unreal engine 4.7, so it looks like this:

Then go ahead and click the "..." button in the upper right and it's time to navigate to the filepaths of your desired characters. 

In SFV, all the models and textures live in the StreetFighterV/StreetFighterV/Content/Chara folder within your main SFV directory (after you've unpacked the game). All characters have a three letter code that represents them. (@"Cybuster" has an updated character code list here .) Within that, you want to go into the SkelMesh folder, and each number there represents each costume that character has. 

So if I wanted, access to the files for, I dunno, let's say Hot Ryu, I would hit the "..." button on Umodel and navigate to Content/Chara/RYU/SkelMesh/03: 

Protip: Umodel will crash/not find anything if you try to link to specific files from this first finder window, so don't do that. Instead you have to select the folder that has the files you want, then click ok, then a second window will pop up, and you can select what you want and go from there. So rather than select Hot Ryu's mesh directly, I've linked to the folder that contains everything (RYU/SkelMesh/03) in the screenshot above.

Then when you hit ok this second window should appear:
[Image: umodel4.jpg]
And now we're in business. You can go to the texture folder and pick and choose specific textures you want. But the easiest way to handle this is to go to the "mesh" folder and double click the main mesh file (In this case RYU_03.uasset). And voila:

[Image: umodel5.jpg]
Hot Ryu appears. Click on the tools tab up top and hit "Export Current Object" and Umodel should spit out a mesh file in as a .psk, all of the textures in .tga format (if this messes up you can go into the textures folder and export them one by one), and material files in .mat format (for 3DS Max). 

The last problem however, is that the .psk format isn't recognized by Blender. We need an FBX file for the mesh, which is accepted by both Unreal Engine and Blender (my 3d program of choice).

So you have two options here. If you have 3DS Max, you can use the ActorX Importer script to import the .psk model and then export it out of 3DS Max as an FBX. 
Much easier, however, is to use @"BrutalAce" 's Character Modding Resource Packs, in which he was generous enough to output the models for you (textures not included, you can get them yourself via Umodel).

If there's a model that hasn't been uploaded to the resource pack yet, you'll either need to wait or use 3DS Max. And before you ask, yes, it has to be 3DS Max, I don't know of another way to deal with .psk files. (I looked into a Blender plugin a long time ago, it was janky. If someone got it working let me know). So either "acquire" 3DS Max (fill in the blanks folks) or use the models from the resource pack and you should finally have the proper assets to start work on an actual mod. 

Shoutouts to @"TerryXX" 's original modding tutorial, which is still the basis for the modern SF5 workflow, as far as I'm aware.

So let's continue.

I'll just sort of start a new mod and show my work from there.
FYI this isn't going to be like a "How To Blender" tutorial (Would take too long and I'm probably not qualified to teach that anyway) but I will highlight some necessary steps so you at least have a roadmap.

Soooo step one is to find clothes/assets for your mod. Fortunately for us there's a pretty vibrant community of people uploading game models on Deviantart in XNALARA/XPS format, and you can use a blender plugin to just bring them in, which is nice. Also if you bring them in off the XPS plugin the bones will work and you can pose everything to fit your character as you set up, which is also nice.

So here we have Ryu's C1 model. Make sure when you import it you scale down to .39 before you start! (Technically 0.3937007874 is the exact number)
I've removed the top of his GI and thrown a T-Shirt on him I acquired via XPS, (this one, if you'd like to follow along) and I've resized and thrown onto Ryu as fast as possible (It's for tutorial purposes, so not that concerned with how it looks).
[Image: Ryu-in-a-shirt.jpg]

So there are three things we've gotta do:
1.) Transfer weights from Ryu to the shirt so the shirt moves correctly
2.) Merge the shirt with Ryu's mesh
3.) Redo UV Maps and bake new ones in the SF5 format.

Now when I say weights, these values are painted on to the character and are connected to the bones of that character's skeleton, so that the pieces move along with the skeleton (w/o weights the clothes will just float in space.) 

So select Ryu, then shift-click the shirt, then go to weights mode within blender and hit select Weights -> Transfer weights.
This will bring up a drop down menu for Transfer Weights on the lower left column of blender.

[Image: Transfer-weights1.jpg]

For settings, make sure vertex mapping is set to "Nearest Vertex", then you're going to have to change Source Layer Selection to "By Name" And Destination Layers Matching to "All Layers" and that should transfer all of Ryu's weights to the shirt so it moves with the character.

[Image: transfer-weights3.jpg]

If you did it right you should see a bunch of new groups populate the vertex groups data tab, and you should see weights on the shirt (different colors painted on) as you 
scroll through the groups.
[Image: weights-example.jpg]

Next we need to merge the shirt with Ryu's mesh. It's easy but there are some steps we have to follow to make sure it works properly.

For one, all characters have a UV Map that contains the information about how each texture is supposed to fit onto it's corresponding mesh. I'm not going to get super detailed here, but what you need to know is that for SF5 the UV layer MUST be named "UVChannel_1" or it will not work. Models from other games usually have the UV map labelled "UV1" or "UVMap" and this will mess everything up when you merge the meshes since SF5 doesn't support multiple UVMap Layers.

So you'll need to go to the data tab (upside down triangle) for the shirt and under UV Maps, rename it from "UV1" to "UVChannel_1". 
[Image: data-tab-rename-UVChannel.jpg]

Now this should scramble the graphics of the shirt because you've changed the name of the UVChannel. No problem.
You'll need to go to the textures tab of each material of the shirt, scroll down to the mapping tab, and you should see a box that's red with the name of the old UVMap name.
[Image: broken-uv.jpg]
Click it, and change the name to UVChannel_1, this should unscramble the textures. Rinse and repeat for all textures attached to the shirt's materials. 

With THAT taken care of, you can merge the shirt with Ryu's mesh. Click the shirt first, then shift click Ryu, then go to the Object tab and select "join". 

[Image: Ryu-join-shirt.jpg]

If you've done everything right up to this point, the shirt should merge with Ryu's mesh. You'll see new material groups pop up for it in Ryu's material menu, and when you pose the character, the shirt should (at least roughly) move with Ryu.

[Image: ryu-skeleton-pose.jpg]

Still with me?
That was the easy part, next up is making new UVMaps and Baking new textures. 

So next you'll need to make new UVMaps and Textures. In SF5 each character is made up of material groups, and each group usually consists of 5 textures: a COLOR texture (aka Diffuse map) , a NORMAL map, an SRMA (controls specular lighting/reflection) , a MASK file (controls costume colors along with the CustomizeSetting file), and an SSS texture (a red overlay over the skin used to show veins under the skin). BrutalAce has the more detailed guide on textures HERE if you want to know more. Essentially you need to make sure all of your character's parts fit onto ONE UV map and then you create new textures from there.

(Edit: I also have a brief writeup on what the textures do HERE , if you want)

(Sidebar: You actually can trick the game into letting you use multiple sets of textures using a Hex editor, but I'm going to teach the basic way first and cover more advanced tricks later).

From the Data tab in Blender (upside down triangle) if you scroll down far enough you should see a tab that says "UV Maps". Hit the "+" to make a new duplicate of your current UV map like so.  Make sure you have the SECOND UV map highlighted in blue while you're editing but make sure the Camera button on the right stays on the FIRST UV Map.

[Image: Ryu-Tutorial-UVs.jpg]

Now as I start on the UVs, first I separate the eyelens material from the rest of the mesh (it's translucent, you're never going to edit or change it).
Then I'm going to first highlight all of the UVs from the shirt using the material groups from the shirt. (You can go to the materials tab and select whole material groups in Edit Mode, which will also highlight all of the UVs for that group). Then I'll move them all off to the side to see what I'm working with like so:
[Image: ryu-tutorial-uvs-2.jpg]


Since I've deleted Ryu's normal top (to replace it with the T-Shirt), there's now a hole in the UV Map in the Upper Right where I can put the shirt. So I'm just going to
scale down the shirt UVs and fit them into the empty space while making sure nothing overlaps.

[Image: ryu-tutorial-uvs-3.jpg]

(Sidebar: If you scale objects down too small when you're making your new UV map, you will lose some detail in the texture. The smaller you make it, the worse it will look, so try to keep the stuff you're scaling down as big as you can while making sure nothing overlaps).

Now we can create new textures using the bake function within blender.
First make a new texture out of the UV editor by hitting the "+ New" button.


How big should my new baked textures be? In game all of character textures are 2048 x 2048, EXCEPT the normal maps, which normally run 4096 x 4096. Bigger textures will look better but take up a lot more space. In general I typically stick to 2048 x 2048. (You wanna push it to 4k, that's on you).

Head to the render tab (Camera) and scroll down to the "Bake" tab.
Some simple settings from my end. Make sure the file type is set to TGA (SF5's textures are all TGAs) "Bake mode", set to textures.
[Image: ryu-tutorial-uvs-4.jpg]

You'll have to go to the materials tab and make sure only the specific texture type you want is active when you're baking, uncheck the others. (For this first one, I only want the diffuse/color maps). Also if it's a material that is going to use alpha (hair/eybrows, or eyelashes usually) make sure you've set up transparency correctly or the alpha won't bake correctly (make sure alpha is activated on the texture, and check transparency on the material as well).

[Image: ryu-tutorial-uvs-5.jpg]

Once you're ready (make sure your UV Maps tab is setup correctly, and also that your blank texture is selected in the UV Editor), select the whole mesh, then click the bake button.

You should get something like this:

[Image: ryu-tutorial-uvs-6.jpg]

Success! Go ahead and save your baked image from the UV Editor (Image > Save as image), then you'll have to bake another set of textures for the Normals, Mask, SRMA, and SSS.

(ProTip: One trick I've found helpful: Right before you're ready to bake textures, save a new copy of your project, then join all of the material groups that share the same texture groups before you bake. That way you will only have to adjust material settings a couple of times as opposed to 10 or 20. Revert back to the pre-bake project once your textures are done).

The shirt is obviously not going to have a MASK, SRMA, or SSS since it's not from SF5,  so just use the diffuse for the shirt and you'll have to edit the the textures in Photoshop or whatever you prefer. (see BrutalAce's tutorial on texture setup for more there).

Once you're done baking textures, make sure you delete the original UVMap and rename your new map with the baked textures to UVChannel_1 (since that's the name for UVMaps used by the game).

Lastly we need to assign the shirt to one of Ryu's materials from the game (you can't give a character more materials than they started with originally).
Since I already deleted his black belt, I'll assign the shirt to his belt material for now.

[Image: Ryu-Tutorial-UVs-7.jpg]

Finally, time to export your mesh and get out of Blender!
Go to File > Export >FBX.
Settings:
[Image: Ryu-Tutorial-UVs-8.jpg]

Make SURE "Add Leaf Bones" is UNCHECKED or you will have problems. 
Also, if you're using a newer FBX exporter, you can leave Scale at "1". If you've followed Ace's tutorial on how to fix the character select screen glitch and you're using the old "FBX 7.4 Binary" exporter (which I'll link to, HERE: ) , you need to up scale to "100".

If you made it this far... thanks for sticking around, I'm impressed. 
Next: Unreal Engine



-EXPORTING FILES THROUGH UNREAL ENGINE-

If you've gotten this far and have your mesh/textures set up correctly, congratulations, you've finished the hard part.

"But all of the SF5 files are in the .uasset format, how do I make my files work in the game?"
 
Luckily .uasset files are generated by Unreal Engine which is free to use. So if you setup your files with the same names/locations as the ones in SF5, and then export from Unreal Engine with the correct format, you can actually override those files and trick the game into thinking they're the correct files! 

Let's get started. Head here if you haven't already, and download Unreal Engine. It will probably auto-download the current version however, which is a problem, because you CANNOT use the latest version of Unreal with SF5.  THIS IS IMPORTANT! You MUST use the exact version of Unreal Engine that the game uses when you export your files, or they WILL NOT WORK NO MATTER WHAT!
And that version is Unreal Engine Version 4.7.6. 

Once you've downloaded the initial version of Unreal Engine, open the Epic Games client and go down to the Unreal Engine tab. Then from there go to the "Library" tab and you should see an ENGINE VERSIONS box with a "+" sign next to it.  Click that, and you should see a grey Unreal Engine box appear with the version number and a drop down. Select the version you need (4.7.6), then hit install. 

[Image: Unreal-Engine-version-select.png]


(In the picture shown I can't select 4.7.6 but that's because it's already installed for me. Do not use 4.6.1.) 

Once you have UE 4.7.6, launch it and create a blank project (turn off Starter content, you don't need it). It should look something like this.

[Image: UE-BASE-PROJECT-SNIP.jpg]


Don't worry about the checkerboard in the middle or any of the tabs that appear, we only care about the stuff in the lower left in the "Content Browser" tab. You should see a folder labelled "Content."

If you'll recall, when I started this tutorial forever ago, step one was to unpack the game files. These will give you the overall file structure for the game. Now your Unreal Project needs to be setup the exact same way as the game files. For Ryu's C1, his files are located under Content > Chara > RYU > SkelMesh> 01.

So within the Content folder, you know need to make all those subfolders, like so.

You will also need to make the following folder: Content > Chara > CMN > Skeleton.  More on that later.
Within the SkelMesh >01 folder you will also need to make folders for "Material" "Mesh" and "Texture" . When you're done it should look like this:

[Image: unreal-engine-setup.jpg]

(Sidebar: Some characters, mostly the season 2 ones, will have their texture folder labelled "Textures" plural instead of "Texture". Make sure to check the folder names from the actual game files before you build your folders in Unreal.)

From there head to the "Mesh" folder and drag in the FBX we made earlier:

Once it populates you should have the mesh itself, a bunch of circles (these are the materials), any textures attached to the mesh, a file with physics asset at the end of it, and a file with the labelled Skeleton at the end..  (Seen here).

[Image: unreal-things-2.jpg]

Take the file labelled Skeleton, rename it "CMN_Skeleton", then move it to the Content > Chara > CMN > Skeleton folder. You will do this for all mods regardless of which character you're working on. 

Then move your Materials to the Material folder and the textures to the Texture folder. 

Use your unpacked game files to help you rename the files. For example, when we look at the unpacked game files, the mesh file under RYU's SkelMesh > 01 > Mesh folder is labelled "RYU_01" so we're going to name the mesh "RYU_01", and the physicsasset file "RYU_01_PhysicsAsset". For the textures we also need to follow the naming convention from the game files so "CT_RYU_01_COLOR",  "CT_RYU_01_MASK", and so on. Note that naming conventions WILL change from costume to costume, so be sure to check your game files for the correct naming convention. You can add any texture files you've had to edit via photoshop by just dragging them into the content browser. When you're done it should look like this. 

[Image: unreal-things-3-textures.jpg]

Next we'll need to deal with the material files. Now this part is important: SF5 uses material instances instead of material groups. Think of them as shortcuts that link to bundles of textures along with lightning/shader settings. 

You're not allowed to make your own, but you can link to the pre-existing material instances within the game. To make those material instances, highlight all of your materials, right click, and select "Create Material Instance"

[Image: unreal-things-4-material-instance.jpg]

This should create duplicates of all of your materials, with the word "_Inst" at th end of each material. 

Now you're going to delete the original material groups and then keep all of the Material Instances (if you hover over them in Unreal they will be listed as "material instances". But then delete the _Inst at the end. 

(Sidebar: Because I'm using BrutalAce's Modding Resource pack, my base Ryu model used the old character code for RYU (ABD). The devs later changed this material code from ABD to RYU, so I also need to edit all of my materials to start with CM_RYU instead of CM_ABD). 

When you're done your instances will look like this.
[Image: unreal-things-5-material-instances-2.jpg]


Now we're going to go to the Mesh folder and double click on RYU_01. Since we made material instances and deleted his original materials, we need to reassign the materials to the mesh. 

If you used BrutalAce's modding resource pack, or if you exported your FBX from 3DSMax, the material order that appeared in Blender should (usually) be correct, so select each material group from the tabs and select them in the same order as they appear in Blender from top to bottom (like so). 

[Image: unreal-things-6-material-setup.jpg]

BrutalAce has covered texture setup better than I have, so I'll leave the info for that here .

Once you're got all that covered, we're going to go to the File tab within Unreal Engine (make sure you've saved everything so it takes) and hit File > Cook Content For Windows. 

[Image: unreal-things-7-cook-files.jpg]

Once you click "Cook Content for Windows" Unreal will export all of your files as .uasset files. At which point you're almost done, you just have to copy them over to the game and you're good!!

Almost finished!

(Since I've hit the photo limit for one post I had to make a new one. Final part HERE:  )
@"sleepy_scrub"
If you open the "extract-all.bat" file with Notepad, you will see that I had modified it to use the "quickbms_4gb_files" by default already. But indeed what you write above (telling people to use the "quickbms_4gb_files" to extract the pak0 and pak53, just in case they want to extract them individually) is a very good advise.
@"robhal"
That's awesome, I didn't know that.
That'll save people some time and annoyance for sure, thanks for that. I'll update the guide.
@"sleepy_scrub" Any idea on when you'll add more to this? I've gotten as far as extracting the mesh/textures, imported the psk to blender using the plugin, made a small modification and exported my changes to an fbx file. I got everthing loaded in ue4 but none of the tutorials I've seen show how to recreate the uasset file again. Between the videos from uncle festor and TerryXX tutorial I'm (hopefully) almost there.
@"thundr51"

I'll add more when I have time, though Unreal is one of the last steps.
Work's picking up again for me, I don't have a lot of time anymore, sadly.

I always recommend UncleFestor's first tutorial, he talks about Unreal at around 12:00 and that's what I used to figure it out.
https://youtu.be/yN9upoq5j1U?list=PLdx2O...noPAKw0VbS
His voice is a little low in this first one, but that's how I learned.

I know there are other tutorials on ModderBase site too, I know FaithG has one on Unreal, and I think EcchiGamer has one too.
Updating the tutorial again, check the main thread and let me know if I fucked anything up.
thank you for the tutorial,I am studying to make my own mods
still waiting for the update
Still waiting for the update again
@"NinjaCat13"

There are quality video tutorials on the site already ( @"UncleFestor" 's videos were how I learned):
http://modderbase.com/showthread.php?tid=97
http://modderbase.com/showthread.php?tid=356

If you're willing to wait this long, you can probably sit through the video tutorials.

But you are right to keep me honest, I will keep working on the TLDR tutorial. 
(Or perhaps I've updated it already...?  Huh )
(09-23-2020, 07:22 AM)sleepy_scrub Wrote: [ -> ]@"NinjaCat13"

There are quality video tutorials on the site already ( @"UncleFestor" 's videos were how I learned):
http://modderbase.com/showthread.php?tid=97
http://modderbase.com/showthread.php?tid=356

If you're willing to wait this long, you can probably sit through the video tutorials.

But you are right to keep me honest, I will keep working on the TLDR tutorial. 
(Or perhaps I've updated it already...?  Huh )


In case this serves to cheer you up (just if you want to finish it one day), I think your tutorial is the best in the Street Fighter V community about how modding works, along with Ecchi's tutorial. It's straightforward and easy to understand, even without being completed. You explain a lot of things that are missed in other tutorials. There are many useful guides, but yours seems like the best starting point

When I have been asked how to do one thing or another, I always recommend this.
@"Leonaura"
Wow, thank you. That's very kind.
Alright so you have your cooked .Uasset files.
How to get your mod into the game though?

There are a few ways. 

If you're playing with your game totally unpacked, you can just overwrite the necessary files outright by copying them from your Unreal Project.

Most people don't do it that way anymore though, so I'll show you the other two ways instead. 

If you're going to be using PMM as your main mod manager, you need u4pak.exe Download here: 
Extract it to a folder. (Note that there've been reports of antivirus programs tagging it but it's not a virus, whitelist it if necessary). 


Within that folder, you're going  to make a folder called StreetFighterV. 
From here we need to copy the exact folder structure of the costume we're trying to mod (just like we did in our Unreal Project).
For Ryu's C1, That means Content > Chara > RYU > SkelMesh > 01 > Material, Mesh, Texture folders. 
(Note that my MODFOLDERS folder here is my u4pak folder, FYI).
[Image: u4pak-mod-structure.jpg]

Now, this is important: Open your Unreal Project within explorer, we're going to copy our cooked files over. But DO NOT immediately go to your Content > Chara folder. 
Within Unreal Engine, cooked/exported files automatically go to a SAVED> COOKED folder within your project from the root level. 

So the actual file locations of your cooked files will look like this:

[Image: unreal-layout-2-JPG.jpg]


If you do NOT use the cooked files, your game will auto-crash when you highlight the character, FYI. 

From here we're going to navigate to Chara> RYU> SkelMesh> 01, and we're going to copy over the Mesh (RYU_01) and Textures to their matching folders over in your U4pak > StreetFighterV folder.

-DO NOT copy over the materials from your Unreal Project (or your game will crash) 
-DO NOT copy over the CMN > Skeleton 
-DO NOT copy over the RYU_01 Physicsasset (or your character will dissolve into a mud puddle as soon as the game boots). 

Once we've copied over the files, navigate back to the root of your U4pak folder, go the address bar, type in "cmd" and hit enter. Command window should pop up.

From there you should type "u4pak.exe   pack <NAME OF MOD>.pak   StreetFighterV" and hit enter.

[Image: u4pak-exe-command-prompt.jpg]

If you did it right, a .pak should appear in your folder! Use PMM Mod Manager to install.


If you'd rather use the FluffyQuack mod manager, the mod install method is only slightly different. Download the modmanager here . Extract it to a folder.
From there, navigate to Modmanager> Games > SF5> Mods. 

You need to make an extra folder here w/the name of your Mod (I'm calling this Ryu_Tapout because of the shirt), then copy over all of the same folders/files that we made from the .pak folder. 

[Image: Fmm-Folder-Layout.jpg]


Now open modmanager.exe and select SFV. 
It should autodetect anything you've set up in the mods folder once it read the game archives for the first time. 
Click on your mod (it'll show up in the menu with a checkmark), then launch your game.

If all went well, voilia! Ryu with a rigged shirt! 
[Image: 20210329004448-1.jpg]

And that CONCLUDES, my MUCH too long modding basics tutorial, finally.
This is just the basics, but this should allow you to get SOMETHING up and running in game, for a start. 
I apologize for how long it took me to finish (I was nervous about messing it up). 
Hopefully this helps you in your modding journey in some way.
good day 

new here, just wanted to ask if the assets work with unreal engine bones ? to use in the engine as a 3d asset