
SwfMesh
A native SWF player for Unity and Godot.
SwfMesh faithfully renders SWF vector graphics as tessellated native meshes and plays timeline animation directly in your engine, in 3D or in 2D.
Make a SWF. Import it. Drop it into scene. That's it.
No asset piles. No intermediate formats. No conversion pipeline. Just SWF.
Get SwfMesh#
SwfMesh is a one-time per engine paid product.
SwfMesh is in closed beta and is not yet on sale. Access is invite-only for now and arranged by email.
→ Email hello@swfmesh.com for beta access. Tell us which engine you use and roughly what you are building - it helps us prioritise.
Nintendo Switch binaries are distributed separately, under NDA - see Platforms.
Why SwfMesh?#
Most SWF tools don't actually play your SWF. They force you to convert it into some splintered bullshit. You're left juggling garbage.
SwfMesh respects you and your swf.
Inspired by Scaleform and Ruffle, your SWF remains the source of truth. SwfMesh parses and plays it directly, generating the geometry it needs at runtime.
That means you can keep authoring in the tools you already know while using your SWF content as a native part of your game.
Features#
- Native tessellated mesh rendering, in 3D and 2D
- SWF timeline playback
- Runtime mesh generation
- Material & color overrides - including per-fill-colour targeting
- Scene lighting
- Scripting API - the same surface in C# and GDScript
- Hit boxes - box, circle & capsule, authored in Flash
- MovieClip library - many animations out of one file
Supported SWF Features#
Graphics#
- ✅ Fills
- ✅ Bitmaps
- ✅ Gradients
- ✅ Lines & line styles
- 🚧 Masks - fully nested in Unity; in Godot an inner mask falls back to the outer one
Animation#
- ✅ Classic tweens
- ✅ Motion tweens
- ✅ Easing
- 🚧 Morph tweens - playing, but not yet Flash-accurate
Audio#
- ✅ Event sounds
- ✅ Streaming sounds
- ✅ Sound envelopes
MovieClips & Scripts#
- ✅ Library-exported MovieClips
- ✅ Nested clip access, at any depth
- ✅ Frame scripts (baked at import, no runtime VM)
Color & Blending#
- ✅ Tints
- ✅ Color transforms
- 🚧 Blend modes (multiply, add and subtract; the rest are not yet supported)
Not Yet Supported#
- ❌ Text
- ❌ Filters
- ❌ 9-slicing
Engines & platforms#
| Platform | Unity | Godot |
|---|---|---|
| Windows (64-bit) | ✅ | ✅ |
| Nintendo Switch | ✅ * | ❌ |
| macOS | ❌ | ❌ |
| Linux | ❌ | ❌ |
| iOS / Android | ❌ | ❌ |
| Web | ❌ | ❌ |
Unity 2022.3 or newer · Godot 4.6 or newer. Full requirements are in Getting Started.
* Nintendo Switch support is available for Unity on request, under NDA - the standard packages ship no console binaries. See Platforms.
Getting Started#
Drag a .swf into your project, drop a player onto an object, and assign the imported asset. That is the whole loop - a SwfPlayer component in Unity, a SwfNode3D or SwfNode2D in Godot.
→ Getting Started - install and first animation, both engines.
Documentation#
Start here
- Getting Started - install, first animation, first script
Documentation
- Supported Features - what of the SWF format renders, per engine
- Plugin Features: - materials, lighting, colliders, draw order, baking
- Hit Boxes - Flash-authored regions as engine-native colliders
- Scripting API - AS3 style C# and GDScript API
- MovieClip Library - one SWF library containing Exported MovieClips
Reference
- Platforms - engine and platform support
- Limitations - caveats within what is supported
- Licensing - licence terms and third-party components
License#
SwfMesh is a paid, per-engine commercial product. See Licensing.
Contact#
Beta access - hello@swfmesh.com. SwfMesh is in closed beta; tell us which engine you use and what you are building.
Support and bug reports - hello@swfmesh.com. Include your
engine and SwfMesh version, and attach a .swf that reproduces the problem where you
can. SWF files vary enormously, and a bug in one is usually about the specific tags that
file uses - a description of the content works when you cannot share the file.
Feature and platform requests - hello@swfmesh.com. If a build target you need is not listed above, ask; see Platforms.
Web - swfmesh.com