WSO Specification

From TS3wiki

The WSO format is a simple file format for importing/exporting Sims 3 meshes to and from workshop. Version 4 is the latest file version.


  • Normals and UV-coords are per face, not per vertex.
  • Bone assignment is a 4 byte integer, one byte per bone, -1 is unassigned.
  • Bone weight is floats from 0-100.0 sum of all bones should be 100.0.
  • Vertex ID are used for BGEO and recalculated on import.
  • TagVal´s are the color value for BGEO and unknown for MLOD.
  • When importing a WSO file the number of meshes (groups) must match the number of groups in the project.


 int fileversion (currently 4)
 int number of meshes (groups) in file
 - foreach mesh
   int number of vertices in mesh
   - foreach vertex
       float position x
       float position y
       float position z
       int vertex ID
       int tagval
       int bone assigments - 4 bytes
       float bone weight for bone 1 (0.0 - 100.0)
       float bone weight for bone 2 (0.0 - 100.0)
       float bone weight for bone 3 (0.0 - 100.0)
       float bone weight for bone 4 (0.0 - 100.0)
   int number of faces
   - foreach face
       short vertex index
       float normal x
       float normal y
       float normal z
       float uv map x
       float uv map y
   int number of geostates (not used, always 0)
   byte strlen
   char[strlen] name of group/mesh
 // end for each mesh
 int number of bones
 - foreach bone
     byte strlen
     char[strlen] name of bone
     (following section is not currently used by workshop)
     float bone position x
     float bone position y
     float bone position z
     float bone rotation x
     float bone rotation y
     float bone rotation z
Personal tools
TSR Workshop
Powered by MediaWiki