Teardown

Teardown

54 ratings
How To Create Custom Teardown Playermodels
By AlkeralexExists and 1 collaborators
So as of October 10, 2024, Teardown released an update adding characters / playermodels, and many people including myself decided to create one. One issue: Nobody explained how.

Until now that is, because I'm making this using my admitedly limited knowledge on Teardown modding to guide you through the process of creating a custom character.
2
3
   
Award
Favorite
Favorited
Unfavorite
INTRO & GUIDE RUNDOWN
This guide contains everything you need to create playermodels. Here's a basic rundown if you have prior experience with Teardown modding, Magicavoxel, etc.
  • Create local copy of .vox & .xml w/ Merlin mod OR .vox & .xml of a default character within Local TD Files
  • Open .vox in Magicavoxel
  • Edit or create your own model
  • Open .xml in Teardown editor & adjust bones, joints, etc
  • Test in-game
  • Publish (congrats dude)

For those with no background experience, this guide is intended to be as comprehensible as possible and go over file setup, Magicavoxel modeling, editting bones/jigglebones, error correcting .xml files and everything you need to know to make playermodels. (If anything in this guide is missing or wrong, let us know in the guide comments and we'll fix it.)

Finally, here's a vid that you can user if you need a more visual guide, though we strongly recommened you use it in tandem with the presented guide. Ok cool, let's get started.

THIS GONNA BE CRAZY!!!!111one one one
File Setup
There's a couple things you'll need when creating the playermodel:
  • Teardown. (If you don't own the game why are you here)
  • Magicavoxel[ephtracy.github.io] (Used for models/assets)
Magicavoxel is completely free, and will be used for making the playermodel in the first place. You can get it from the link above, after which you just unzip the file and launch the exe. You'll also want Teardown running for the built-in editor in the menu under Play -> Teardown Editor

Once they're installed, you'll need the .xml and .vox files to base your model off. There's a couple of methods to get these.

method 1
Using Merlin Base (Recomended)
Go into Teardown and head to Play -> Mod Manager. Under the "Built-in mods" section, click Merlin and make a local copy of it. The file will be saved under: Documents/Teardown/Mods. Go into the copied "Merlin Copy" folder and go into merlin and delete every folder except the one named "merlin".
The root folder, named Merlin Copy by default, now contains character.txt, info.txt, preview.png (This will be your mod icon on the Steam workshop), and a folder named "merlin", containing another folder named "merlin" holding the .vox, .xml and in-game character icon files.

In prefabx.xml, you can change the name of your .xml and .vox files, along with the file paths in your mod folder, by also changing them in prefab.xml and character.txt.

Example: My l4d2-nick.xml is in my root folder, "L4D2 Nick".
So in prefab.xml (opened in Notepad or Notepad++), I do CTRL+H and replace the original file path and name (MOD/data/merlin/merlin.xml my case) with my file path and .xml name. (MOD/l4d2-nick.xml)


I then do the same in character.txt. In my case, that's replacing Merlin/prefab/prefab.xml with MOD/nick/nick.xml and repeating this step with Merlin/merlin/model.vox.



method 2
Using Internal Characters
If you want to use a specific character for their idle animations, then you can directly extract the internal character files. First go into Documents -> Teardown -> mods and create a folder wtih any name. This will be the root folder. Inside, create a folder named characters and inside this, create folders named vox and prefab.

The .vox and .xml are located in the Teardown directory under data/vox/player and data/prefab/player respectively. Copy the .xml and .vox files of any character - for this guide, I'll be using Seabranch (player_chris_seabranch.vox / .xml) - and paste the .vox into {your mod}/characters/vox and the .xml into {your mod}/characters/prefab. (To the right are examples of my directories)

Finally, open your .xml file in Notepad/Notepad++. Press CTRLl+H and replace the original file path for your .xml with MOD/(your mod .xml path).
You MUST add MOD to the start rather than the first folder in your mod root folder.
Do the same with your .vox file as well.

EXAMPLE
player_chris_seabranch.xml is located in data/prefab/player/player_chris_seabranch.xml, so I'll replace that with "MOD/Characters/prefab/player_chris_seabranch.xml".
player_chris_seabranch.vox is located in data/vox/player/player_chris_seabranch.vox so I'll replace that with "MOD/Characters/vox/player_chris_seabranch".

If you rename your .vox and .xml files, you MUST do this with your renamed .xml, for example "MOD/Characters/prefab/ellis_leftfordead.xml" and "MOD/Characters/vox/ellis_leftfordead.vox".

Then in the root directory, create a character.txt, info.txt file, and a preview.jpg image. Keep in mind that you MUST add [noupload] to the end of the description in this file, or your workshop description WILL BE OVERRIDDEN WHEN UPDATING, so ensure you include it. You can use any image for preview.jpg for now, and this setup for the character.txt:
[Name of your playermodel]
description=Your mod's description[noupload]
preview=Path to preview.jpg
path=Path to .xml
anim_speed=0.8
height=1.95

and this for info.txt:
name = Name of playermodel
author = Your name
description = Description of playermodel

Originally posted by Alkeralex:
Here's an example of my character.txt:
[Ellis from l4d2]
description=ellis became real
preview=characters/ellis.jpg
path=characters/prefab/player_chris_seabranch.xml
anim_speed=0.8
height=1.95

and my info.txt:
name = Ellis
author = Alkeralex
description = kieth time
Note:The info.txt is used by Steam for the mod page's name and description when published. Since these can be edited after publishing, info.txt isn't as important.


Right, firstly, congrats, you got past the hard part, now we can get to the interesting part: the modeling :D
Editing the Model
Open Magicavoxel. I'll go over controls soon, but first, open your model by clicking the folder icon in the top right, and then finding your .vox file. You can also drag and drop the .vox file into the Magicavoxel window and click open project.
You should now see either the Merlin model or your chosen internal character. In my case, the character Chris Seabranch will appear on screen.

Now you can simply model your character, but keep a few things in mind. Firstly, the controls, listed below:
  • LMB selects objects (those floating cubes around the model), and double clicking brings object into editing mode. Editing controls are in the top left, to the right of the pallette.
  • Objects are named in the object tree to the right, and can be renamed by right clicking them in this object tree. Keep in mind multiple objects cannot have the same name in Magicavoxel or the Teardown editor.
  • RMB moves your view around, and MMB drags your view to different focal positions.
  • By default, the voxel brush in edit mode is Cube, but I recommend changing it to individual voxels, seen to the right.
  • You change the color of your brush by selecting colors in the palette on the left. Changing colors in the palette will change that color applied to the model.

The Palette & Materials
Teardown has a unique Magicavoxel pallette. Each row (excluding the miscellaneous black colors at the top) is a certain material in game.
This means that if you use a metal material for a shirt, then that shirt will appear reflective in-game, compared to using a grass texture.

To preview the materials in Magicavoxel, use Teardown's Magicavoxel Palette .vox file[www.teardowngame.com]. To import this palette into existing models, simply click and drag over the pallette colors to select all of them, then drag and drop the Teardown Pallette .vox file onto the pallette. Click the arrow top left of the palette to see each row annotated.

You can change colors on the palette by clicking the color and clicking Colors at the bottom of the palette.

Finally there's one more thing for creating your model.

Planning Objects
If you want to add any accessories to your playermodel, such as backpacks, hats, ears, holsters, tails, etc, then you must plan them out in Magicavoxel. Anytime you want an accessory, make a new object in Magicavoxel (Plus icon to the left), name it, change its scale to your desired size in the top-right, and then you can model it out and move it around using the movement gizmo.
For my model, I want Ellis to have his medkit, so I make an object, name it "medkit", and scale it down to give a better size to use. After which I can createh is medkit and place it onto his back.

Depending on your experience with art or general modeling, this may take between half an hour to an hour or so. Once you're happy with your model, save your .vox as is or press CTRL+S.


Now it's time to add joints and make the bones work (It's Boneworks time)

This image is very relevant to this guide trust me bro
Teardown Editor & Rigging
Now I know that rigging seems daunting but trust me, in this case it's a lot easier than it seems. So just follow the guide and I'll show you what to do.

Teardown Editor
To open the Teardown Editor, go to Play -> Teardown Editor. You can return to the menu via CTRL+Q. You'll see an empty scene with three windows, being (from top left, counter-clockwise) the Scene Explorer, Object Properties, and Content Explorer.

This guide will only cover what you need to know for playermodels, but if you're interested in the editor itself, you can watch the official Teardown modding tutorials.

Opening Your .xml
To be able to import your mod's .xml, you'll need to copy and paste the .xml into your mod's root folder, as the editor only recognizes this root folder. Within the editor on the top left, go to file -> import file. Select your .xml, and you should now see your model in the editor window.

The model will not have any accessories in it yet and the default bone joints may be messed up. Click parts of your model or torso/limb/head joints to adjust the positions if needed. Holding shift changes the move gizmo (arrows when selecting an object) to a rotate gizmo.

<-- The Move Gizmo

If you don't see any model or see the wrong one, then double check your .xml's listed paths, referencing previous sections. Whenever you save, you will need to copy and paste the .xml file in your root folder to the location of the original .xml in your mod to replace it to see .xml changes.

Creating Joints and Accessories
Remember when you named objects in Magicvoxel? This is what it's for. Click the thing you're gonna add an accessory to and in the Scene Explorer to the left, right click it and go New -> Vox. Select this new vox and name it anything.

While selecting the new vox, in the object properties below the Scene Explorer, click ... next to "file" and find your .vox file. Now below this, click ... next to "object" and every item name in the .vox file will be listed. Find your accessory and select it. Finally, adjust the size by changing "scale" in the object properties to 0.5 (half size), 2 (double size), etc.

Again, holding shift changes the move gizmo to a rotate gizmo. Move and rotate the accessory to your desired position. In the Scene Explorer, right click the object you're connecting the accessory to and click New -> Joint. By default, the joint is a ball joint. This can be changed by selecting the joint and going to object properties.

On "type", put in "ball" for a full 360 joint or "hinge" for a linear door-like hinge. Now move the joint to sit between the accessory and object you're connecting it to. The hinge joint can work in two different ways. Either as a flap (left image) or a handle (right image).

If the accessory isn't loading in or is randomly floating, then you'll want to paste "attachment unbreakable nocull noproxyshape" into the tags. This will tell the game to render the hinge and vox files rather than culling them, leading to floating parts.

You can delete everything from the model EXCEPT for the head, limbs, and torso. Also avoid changing the names of them.

Adjusting Joint Properties
In the Properties window of the selected joint, you can set the constraints of the joint. This will determine how much your accessory moves around relative to the joint location and is set by inputting two values with a space.

The values are determined by the angle in degrees, through a full 360 degrees. For angle referencing, an angle of 0 points directly downward.


For example, if you want a hinge joint to move freely on a 180 degrees axis, then you input "-180 180".


Saving & Moving
After you've conected all of your joints, you can make a backup copy of your original mod .xml, save your new .xml by pressing Control+S, and then move the newly edited .xml back into the original path; in my case, I'd move it back into Characters/prefab/player/player_ellis. Now you can finally test your character in-game by pressing CTRL+Q to return to the menu and opening the Characters menu; this refreshes in real-time, meaning any new changes you make in Magicavoxel will automatically update, so you don't need to restart Teardown every time.
Final Info & Preview.jpg
The character itself is now complete! These final two steps are for changing the character name, description, icon, etc.

Adding your preview.jpg
The preview.jpg image that you made in your MOD root folder earlier is the icon that'll be used in the Steam workshop. Set the image to a square ratio and name it "preview" in .jpg or .png format, and now it's ready.

The in-game character icon and name are determined by character.txt. For the icon, make sure the file path and name are listed in character.txt under preview. The name is whatever's in the beackets at the top.
For example, my in-game preview icon is ellis.jpg, so heres what my character.txt looks like:
[Ellis from l4d2]
description=ellis became real
preview=characters/ellis.jpg
path=characters/prefab/player_ellis.xml
anim_speed=0.8
height=1.95

Now that your mod is essentially finished, you can go back to your info.txt you made earlier and give any description and name you want. This will be the name and description shown in the game's mod manager, so it's not super important but still something you may want to do.
Publishing & Updating
You've made your first Teardown playermodel, congrats dude! :D Now all you need is to publish, and this is the easiest part because this feature is also built in. Noticing a trend? No? Too bad there is one.

Publishing
Go into your mod manager and select your mod, listed in the "Local Mods" portion. Then you just press the publish button in the bottom right. Seriously, that's it. Now go into the Steam workshop and into your posted files (seen in the image below) and you can view your mod.


From within the Steam workshop you can edit the title, description, and add in-game screenshots.

Updating
Updating your workshop addon is identical to the publishing process, the only difference being that the text should say "update" rather than "publish". Remember to have added [noupload] to the end of the description in the info.txt file, otherwise your description WILL BE OVERRIDDEN if you do not.
Common Issues
Quick way to help if you're having a skill issue like I (Alkeralex) first did, because no one gets good at ♥♥♥♥ immediately. I know I didn't, haha. If you have any questions, you can ask them AS ONE MESSAGE in this guides comments.



An entire level opens when I open the main.xml file in the editor when using Merlin method.
The Merlin prefab includes a level file, being main.xml, within it, and thus when you open it, you get a map instead of a playermodel. To fix this, you want to use justthe prefab.xml that's within merlin >>merlin >> prefab.xml.

Accessories keep falling off or not loading in.
When you put your new joints into place in the model, they need to be making full contact with both the accessory AND the main model. The best way to fix this is by moving the join around to try and make contact with as many voxels from both parts as possible, mostly through a bit of trial and error.

Also, for high-res models, there might be many joints present which can cause lag but only once there are literally hunderds of them present. For reference, merlin has roughly 14 or so joints if I remember correctly, so majority of playermodels (unless it's high res) shouldn't have to worry about this as a problem.

Hepl im gay.
Originally posted by Alkeralex:
me too.

The character isn't appearing in the character selection screen.
You either forgot character.txt or info.txt, or mispelled one of them. A common mistake I've made is creating characters.txt (plural, note the s) instead of character.txt (singular). You should also double check the directories within those files, since sometimes typos may happen there, too.

Parts of the torso, leg, etc. are slightly out of place from the Magicavoxel model.
Teardown's playermodel rig automatically adjusts parts of the voxel model to work with the rig, meaning that some parts of the model will be slightly moved from where they are in Magicavoxel. Easiest fix is to just move it into the spot you want from within the Teardown editor, then save the .xml.

Some of my accessories are randomly floating or are invisible.
In the tags for the accessory's joint, you need to paste attatchment, and within the tags for the acecssory model itself you need to paste attachment unbreakable nocull noproxyshape. Probably forgot to do that.

Saving the .xml in the editor doesn't update the character in-game.
You forgot to move the .xml from the root folder to where ever it's meant to be. For example, if I have example.xml located in ROOT >> xml >> example.xml, but forget to move the modified example.xml out of the root after using the in-game editor, then it won't update. You could also counteract this by just placing the .xml within the root folder, and setting it to that within the .xml file itself.

There are multiple playermodels present within the directory but only one appears in-game
Ensure that the info.txt and character.txt both properly reference all .xml files where needed (as mentioned previously in the guide) to be able to have those models present.

I lost my mod files and don't know to update the workshop submission.
In the base folders of your mod directory, add a text file called id.txt and within it paste the steam ID present in the link of your workshop post, which can be found after id= followed by a string of mumbers. If you're signed into your steam account and add this ID, it should update the mods from within the mod manager.
CONGRATS DUDE :D (Resources)
TITLE SAYS IT ALL: YOU DID IT! YYEEEEAAAAAAA :D

You can now enjoy your custom Teardown character that you've made, or see how other people might wanna use it for, or just have it for yourself. Do whatever, it's your mod, you've put in the work and you've finished it.

The last thing I'm going to mention is some resources you can use if you're having any issues with creating your mod:

I really hope that this guide helped you guys with creating your playermodels, and I'm excited to see the Teardown workshop expand in the number of playermodels available. :) - Alkeralex



Guide by Alkeralex and Mr McChicken, with help from members of the Teardown Discord server
139 Comments
AlkeralexExists  [author] 18 hours ago 
@Mr Eclipseo the issue was probably within the info.txt not referencing the character.txt correctly which is why characters with an S appeared without a model but removing the S sent the entire thing into the abyss.

I'm currently on vacation so I can't check files to see exactly what mightve happened but I'm glad you at least eventually figured it out, and happy the guide helped you out :)
Mr Eclipseo Aug 19 @ 10:28pm 
nvm, its loading now? i didn't change anything, and i can see it. i guess i just had to wait a day? well, i now know there are a few problems with the model, sooooo, back to modeling. thanks for the guide btw
Mr Eclipseo Aug 18 @ 7:31pm 
alright, i followed the guide, but im running into a problem. my character is invisible in the character select menu. i saw that my character.txt was called characters.txt, and i changed it to character.txt, but i no longer see it in the menu at all. if i add the s back, i once again see it, but they are invisible. other then them being invisible, i think everything else works fine
AlkeralexExists  [author] Aug 11 @ 2:33pm 
InAverage having an issue with accesories not connecting is moreso an issue with something within the teardown editor itself, i sometimes have issues with accessories because theyre a little jank to work with but im glad you figured it out, ill see if i can update the guide ot help with that issue
InAverage Aug 10 @ 4:37pm 
I fixed it, i don't know how. Might of been that I followed the video and pasted the xml in models and not the xml folder
InAverage Aug 10 @ 4:25pm 
Followed this tutorial and your video to exacts and I cannot get an accessory coming from the stomach with a hinge joint to load when in game. The parts are all tangent and visibly connected in the editor with the correct tags.
AlkeralexExists  [author] Aug 8 @ 1:23pm 
WIAT I DIDNT KNOW YOU COULD DOT AHT

mierda ok ill update the guide to include that, thanks for pointing it out, and very happy that it helped you, dude :D
LT2483 Aug 8 @ 10:28am 
Super useful guide, got me started on modding Teardown and I've already made and published two characters (and then more non-character mods too).

Something to add though, instead of going through that whole process when updating mods to the keep the workshop description intact, just add [noupload] to the end of the description in info.txt file. It won't appear in the menu or workshop description, and will prevent the workshop description from being overwritten when updating!
AlkeralexExists  [author] Jul 14 @ 5:49pm 
That's something that Im playing around with right now and may update this guide or make a second guide to making specifically high-res playermodels. If you remember adding objects for accessories within the Teardown .xml editor, you can adjust the scale of the object. Just bring teh scale down to .25, .1, or even 0.05. People will also use a LOT more extra parts and bones to attach many accessories at sucha small and detailed scale, but remember that the more joints you add, the harder the model will be to run and the more itll lag the game.
fangbaian Jul 14 @ 10:39am 
How do I make it more detailed? I keep seeing these avatars using voxels like a quarter the size! How do I do that?