Unreal Tournament Skeletal System Exporter

written by Mete Ciragan, chUmbaLum sOft


This tutorials explains you, how to export your model to the new Unreal Tournament Skeletal System, the .PSK files. These kind of models can share animations. So basically you attach your model to default skeletons. Before you start, you need the following:

See http://www.epicknights.com/ for more information about UT PSK.

Also be sure to add the following line to you your Unrealtournament.ini:


Add it below your other EditPackages statements. ucc.exe will know the class SkeletalPlayer now. But more about that later.

Project Setup

Create your directory structure directly in your Unreal Tournament directory. Create a directory named after your new package (i.e. 'CSPack'), which must contain the three subdirectories 'Classes', 'Models', 'Textures'. Save all your models (i.e. *.MS3D) into the './Models' directory and all your textures into the './Textures' directory.

Starting with the Skeleton

The best thing is, to start with one of the Unreal Tournament default skeletons:

Attaching the Model to the Skeleton

Then create or import your model. When your model is complete, then attach all vertices to a joint (bone). You can press the SelUnAssigned button to select vertices, which are not assigned to a bone yet. The exporter will check this for you, so if you oversee some vertices, then the exporter will tell you.


You can have up to 4 materials and they are named like that:

You need at least 1 material. The texture filename naming conventions is as follows. It starts with a 4 character prefix (i.e. 'MyMo', which is a short version of 'My Model'. I used 'Arct' for the 'Arctic' model and 'CaAr' for the 'Cate Archer' model). The texture for 'Skin00' has to be 'MyMo1.pcx', which is an 8-bit .PCX. I'm not sure, if 24-bit work too. The texture for 'Skin01' has to be 'MyMo2.pcx' and so on.

Team Skins

If you want to support team skins, then you should support all 4 team colors (red, blue, green, gold). The texture filename naming convention for team skins are almost the same as for default skins, but you have to add a 't_' to the skin.

Let's assume your model has 2 materials (Skin00 and Skin01), and you want to support team skins, then you will need those textures:

Please note, that in MilkShape 3D, you just have the 2 materials Skin00 and Skin01, which have the MyMo1.pcx and MyMo2.pcx.

Face Skin

Now you might wonder what the MyMo3Face.pcx is good for? Well, this is 64x64 texture, which is used as a face skin or also known as a talk skin, which you see, when you or the bot says something.


After you've saved your work, it is time to export your model. So goto the MilkShape 3D menu and choose 'File->Export->Unreal Engine Skeletal Mesh PSK...'. This will show you the following dialog:

Then press the 'Ok' button and MilkShape 3D will export your model, generate the necessary .UC scripts and also the .INT files. Finally, a message box will pop up, which tells you your last steps to bring your model into the game. The .UC scripts are placed into the './Classes' subdirectory and the .INT files are placed into the 'UT\System' directory.

First open UnrealTournament.ini in a texteditor (i.e. Notepad) and add the line 'EditPackages=MyPackageName' after the other EditPackages statements.

Then delete your 'MyPackage.u', if it is already there from a previous build. This will make 'ucc make' to rebuild your model again.

Then run 'ucc make', which will print something like that:

Your last step is to create a 'MyMeshNameSkins.utx with UnrealED.

Creating a Texture Package

Start UnrealEd.exe and open the Textures Browser. You can open it with the following toolbar button:

In the Textures Browser do 'File->Import...', choose all your .PCX textures from the './Textures' subdirectory and edit the dialog as follows:

Click 'Ok' for all your textures. Note, that the package name has to be MyMeshNameSkins (with the trailing 'Skins'). Then set the Quality.LODSet to LODSET_Skin for each of your texture. Except your face skin can go with LODSET_None.

Then save it to 'UT\Textures\MyMeshNameSkins.utx' or here in that tutorial 'ArcticSkins.utx'.

Playing UT

Now start UT and choose your new model in the Player Setup. You can also choose this new class as a bot.

That was pretty easy, wasn't it? All can I can say now is: Enjoy and have fun!

- Mete