Exporting SWTOR models to VRChat - SWTOR-Slicers/WikiPedia GitHub Wiki

By ManningSquared

Introduction

Warning: This is an incomplete version of the tutorial, and only covers the blender section in full detail. I have added some of my tips for Unity at the very bottom, but for now, I am not going to cover the entire process. It is likely that in the future I will update this tutorial to cover the Unity section entirely.

Because I spent some two or three days converting my SWTOR Character Model into a usable state on VRChat, and because from what I have heard from some of the Contributors on the SWTOR Slicers Discord, the demand for a tutorial regarding SWTOR > VRC Avatar is large, I have decided to spread my knowledge unto you all.

Now, before I begin I wish to state clearly to you all that I am NOT very good with Blender, Unity, or VRChat generally. I am simply making this because no one else has, and I think it would be a net good on the SWTOR-loving VRChat community. I will explain some of the basic issues I ran into, and how to fix them, but please do not come to me with any of your issues – i’m likely less skilled than you are.

I hope in the future that as I become more adept with these tools that I can update this, or that someone else who is much smarter than I can make their own, more superior tutorial.

Thanks, ManningSquared

Required previous reading

First, before any of this starts, you will need to follow the tutorials below, in order. This is the tutorial on how to rip out the character models from SWTOR and place them in a basic state for posing in blender.

  1. Installing Slicers GUI and extracting SWTOR's game assets
  2. Using TORCommunity's Character Designer
  3. Gathering the character's assets with the Slicer GUI tool
  4. Using Blender and the SWTOR importer add on to auto assemble the model
  5. Binding a character to a posing skeleton

A few tips before we start as well:

  • Attempt to keep your files organized, folders and subfolders are there for a reason. Take time to update them as you deepen your understanding.
  • Save often. The more you save, the less work you have to do in the future. Just – try not to save until you are 100% sure what you’re doing is not going to hurt you in the long run.

Section I: Blender Plugins

Before we begin working, I want us to assemble everything that is required of us for the task ahead. Think of this as the prep stage – packing before a camping trip.

First, you will download the following addons, the general purposes of which I have noted alongside. Thanks to all the creators who made these.

When you download these, they will come out as .zip files. DO NOT UNZIP THEM.

In Blender, go to Edit > Preferences

Next, go down to Add-ons and click install at the top right.

Then, navigate to where you installed the Cats addon .zip file, and select it. Afterwards, click, “Install Add-on” at the bottom right. Do the same for the material combiner addon.

Section II: Unity & Unity Plugins

More of our preparation phase.

To put our avatar into VRChat, we will have to use Unity, the game creation engine. I highly recommend you use Unity Hub to manage your projects and such, it makes everything 10x easier on you.

VRChat requires you are on a significantly older version of Unity than the most up-to-date. As of writing, this version is Unity 2019.4.31f1. That might have changed, if you are viewing this into the future, it might have changed. Find the current version here.

Ensure that you choose the AVATAR SDK when you choose the SDK from this link. You will have to login to a VRC Account to download the SDK, to my knowledge.

Once you have unity hub installed, and the SDK downloaded, here’s what you do:

  1. Open up Unity Hub

  2. Click “Installs” on the left side

  3. Visit the Unity Download Archive and find the correct Unity version.

  4. Click the green “Unity Hub” download button. It should look like this:

  5. Your browser might ask you if you’d like to let the website open Unity Hub. Select YES.

  6. From there, simply click install in Unity Hub.

  7. After installation, you can exit unity for the time being.

Section III: Back to Blender & Baking Setup

Reminder, you will need to follow the amazing tutorials that I linked near the very start of this tutorial to get to this point.

You should have a character bound to a posing skeleton, and your screen should generally look like this.

Now, before we begin, i’d recommend saving a backup. This is good to keep long-term, especially if you are trying to do a quest avatar, as you’ll likely need to do some fiddling regarding optimization. Do this by going to File > Save As.

Let’s get started, finally.

First, you are going to want to disable the ability to see bones, and enable the ability to see statistics. You do that by going to the top right of the viewport your character is in, and clicking the arrow next to the two circles as you see below.

This is not required, but will help you heavily with optimization and the ability to actually see your character.

Now, you will want to click the little arrow which borders the area where your skeleton and meshes are, as seen in the image below.

Then click “CATS” towards the bottom. This will be one of our best buddies in optimizing our character for use in VRChat.

     

First, to prepare for something we’re going to do in the future, we’re going to merge all of the various bits and pieces of the character (for me there’s about 15) and then re-separate them into pieces by material. So for example, you’re going to have a single mesh for your boots, instead of three separate ones.

First, you want to make sure your entire character is selected like so:

Then, go to CATS, and select “Model Options” (I’d recommend dragging out the window by clicking and holding on the edge, and dragging it to the left – simply makes it easier to see what you’re clicking.

Then you’ll want to find the “Join Meshes” section, and click “All.” Next, find the “Separate by:” section, and click “Materials”

Next, you’ll want to check your collection and ensure it looks something like this, with numbers before each of the parts, noting that generally for every piece of clothing or equipment there is only one mesh (orange/yellow triangles)

There should be separate meshes for the eyes (labeled “02 headeye” in mine) and the head (labeled 01 headskinB in mine)

Section IV: Baking & Optimization

So, now that we’ve separated the materials, it is time to take the materials and convert them into a flat image, for our uses. To do this, follow this amazing tutorial. Reminder: Keep your stuff organized and named correctly! This will help tremendously.

After you have converted each mesh’s material into an image, it is now time to further optimize our model, because VRChat’s SDK is awfully picky about it’s optimization.

Before you continue, ensure you have one saved material image for each and every one of your model’s meshes!

First, click the “Shading” tab on the top of the screen, just as you did to bake the images.

Then, click one of the meshes on the top right

Next, move towards the bottom right and click the little “Circus Ball” (Material Properties) looking icon. It should look like this:

Then you’ll do the following things in order:

  1. Click the button that says “SWTOR:Garment Shader” in the “Surface” tab.
  2. Click “Principled BSDF”
  3. Click the yellow dot next to “Base Color”
  4. Click “Image Texture”
  5. Click “Open”

Find and select the image texture for that specific part.

Optional: Mess with the various settings below, specifically the “Specular” setting, which i’d turn down low – it does not work as well for avatars in my experience, within Unity at least. Click back and forth between the “Layout” and “Shading” tabs to get the look you want, but remember that looks in the blender viewer basically never line up with looks in unity, as far as things such as the shine of boots and whatnot.

Repeat this for all of your meshes.

Now, go back to the “Layout” tab on the top of your screen, and return to CATS

Do the following things in order, oncemore:

Select your entire model oncemore.

  1. Click “Fix Model” on the top of CATS. (If an error comes up, click off of the box to remove it)
  2. Click “Optimization” then the “Atlas” tab within.
  3. Click “Generate Material List” and ensure that all options are selected with the checkbox.
  4. Click “Save Atlas to” and save it in the same folder with your materials. Name it something memorable like “Atlas for SWTOR (Character Name)”

  1. A few more steps to follow, for optimization, are below:
  2. Go to “Model Options”, then click the “Show More Options” tab at the bottom of that section.
  3. Go to the “Delete” Section and click “Zero Weight Bones” as well as “Constraints”
  4. Then go down to the “Decimation” tab in CATS, and open it.
  5. In the “Decimation” tab, you’ll select “Smart” and then “Quest”
  6. Click “Quick Decimation”

(Note: You will have to fiddle with this. Normally, with only 5000 tris, a SWTOR model will look weird, and have random spots where things disappear and such. Do CTRL+Z to undo your last action, and up the amount of Tris to around 7500 for Quest compatibility, which should be enough, but for some complicated models you might have to go higher! Fiddle until you’re happy with the results.)

(Note 2: Sometimes instead of the “Decimation” tab people will use the “Bake” tab, but I haven’t fiddled with it too much, so I have decided to leave it out, though will possibly add it in the future. If you have backup saves made, feel free to try it out!)

Now your character should be ready for upload to Unity! Ensure you save once you are happy with your character’s look and whatnot, both as a .blend and FBX as I explain below.

Alright, now finally to export our saved character. First, to save where you’re at in Blender, go to File > Save As and save your character somewhere safe.

Next, go to File > Export > FBX Ensure your settings on the right are the same as the ones to the right here, most importantly scaling your character up to 10x and applying scalings to FBX All – all models that are ripped are about 10x smaller than they should be, so account for that! If you like tall characters, try maybe 10.1 to 10.5 (which is VERY tall)

Section V: Unity

For now, I have decided to point to a more regular tutorial for uploading VRChat Avatars in unity, but in the future I might make a more complete and tailored tutorial for this exact purpose.

(1506) VRChat Avatar 3.0 Tutorial - Uploading a Basic Avatar (2022) - YouTube is a great tutorial.

Things to keep in mind that are specific for our uses:

  1. To make the fingers work correctly, you will have to change the bones for the tips of each finger (named “Distal) to be the ones with “_end” at the end of the bone name. For example, the right index distal should be “RightIndexFinger2_end” instead of the “RightIndexFinger2” which it automatically assigns.

  2. I would recommend disabling the jaw if you have any issues. I personally do not know how to set up jaw bones and such. You can likely make it work if you do some finagling.

  3. The bones of the back/spine are a bit unusual in the hierarchy. I’ve found this to work well:

  4. Ensure you enforce t-pose when assigning bones by going to Pose > Reset then Pose > Enforce T-Pose. I recommend doing this after you assign the bones as in 1, 2 and 3.

  5. You will have to likely drag in the atlas image that you made into the assets folder and then drag it onto your character, if it’s gray (which it should be) Remember: Drag it into assets folder first, then your character, not directly from your computer’s file explorer to the character.

  6. Wondering why your character is shiny? It’s likely your shaders. I recommend Arktoon Shaders if you’re not doing a quest avatar. If you’re doing quest, use Standard Lite under VRChat’s Mobile shaders. Poyomi shaders are great, though i’ve found some of their lighting can look very weird in some instances with SWTOR characters. You import this like you would any unity package.