STF - Squirrel Transfer Format

A modular file-format for 3D assets Intended for (not only) games-development use-cases.

Warning

Please note, STF is a work in progress and likely to change.


Install STF support for:

Blender

Version 4.5+

Installation

User Guide

Unity

Version 2022.3+

Installation

User Guide

Godot

Version 4.6+

Installation

User Guide

Try to import this example model!

Relevant future implementation targets include: 3dsMax, Unreal Engine, Maya, Bevy, BabylonJs, …

Advantages

  • Artist Friendly
    Import & export is quick and you don’t have to fiddle with unnecessary settings to avoid breakage.
    All information in STF and it’s core-resources is normalized and doesn’t require any knowledge about the file by the user.

  • Versatile
    STF stores original information as well as baked results. I.e. STF contains the original topology of meshes, including n-gons, but also the triangulation.
    This allows for STF files to be used for further editing and for import into game-engine editors.
    Despite that, file-sizes remain similar and are sometimes even lower compared to other formats.

  • Easy to Develop
    STF’s modular nature enables high encapsulation in the source-code and easy collaboration in the development of STF implementations. A functioning implementation that handles some core resource-types can be usually developed in a day or two.
    Third parties can easily develop and distribute custom (perhaps application specific) resources.

Concept

STF by itself is merely a shell format. Its implementations provide a framework to parse and serialize arbitrary resources.

Resources are stored as Json-objects, and can represent anything, from nodes in a scene hierarchy, meshes, textures, animations, …
Resources are referenced by a unique ID.
They and have a type, by which the appropriate piece of code, the resources’ handler, is selected for import / export.

A few resources, including but not limited to stf.prefab, stf.mesh, stf.material or stf.image, are provided by default.

It should be possible to extend any STF implementation with custom resource-handlers, if at all possible.

See also

Read the STF Format Reference

Learn how STF compares to other 3d file-formats: Comparisons

Anatomy of an STF file Description of the layout of an STF file. You can this information in the STF Format Reference!