Supported Features
What SwfMesh does and does not render from a .swf. Where the two engines differ, the
difference is called out per row - everything else is shared, because both bindings sit
on one core.
This page answers one question: what of my SWF survives the trip? Plugin Features answers the other one - what you can do with it once it is in your engine.
Legend: ✅ supported · 🚧 partial or in progress · ❌ not supported
Graphics#
| Feature | Unity | Godot | Notes |
|---|---|---|---|
| Fills | ✅ | ✅ | |
| Bitmaps | ✅ | ✅ | |
| Bitmap fills | ✅ | ✅ | |
| Gradients | ✅ | ✅ | Linear and radial |
| Lines | ✅ | ✅ | |
| Variable-width lines | ✅ | ✅ | |
| Dashed lines | ✅ | ✅ | |
| Brush lines | ✅ | ✅ | |
| Masks | ✅ | 🚧 | Nested masks - a mask inside a mask - are fully supported in Unity. In Godot the inner mask falls back to the outer one. |
Godot's SwfNode2D additionally supports alpha masking, where the mask's alpha
modulates the content (soft and gradient masks). The 3D stencil path cannot express
this and uses coverage masking, which is what Flash does.
Animation#
| Feature | Unity | Godot | Notes |
|---|---|---|---|
| Classic tweens | ✅ | ✅ | |
| Motion tweens | ✅ | ✅ | |
| Easing | ✅ | ✅ | |
| Morph tweens | 🚧 | 🚧 | Playing, but not yet Flash-accurate |
Audio#
| Feature | Unity | Godot | Notes |
|---|---|---|---|
| Event sounds | ✅ | ✅ | |
| Streaming sounds | ✅ | ✅ | Timeline-synced |
| Sound envelopes | ✅ | ✅ | Per-channel volume envelopes |
Audio routing: more info in Plugin Features.
MovieClips & Scripts#
| Feature | Unity | Godot | Notes |
|---|---|---|---|
| Library-exported MovieClips | ✅ | ✅ | Any exported symbol can be the root timeline - see MovieClip Library |
| Nested clip access | ✅ | ✅ | By instance name, at any depth |
| Frame scripts | ✅ | ✅ | See below |
Supported frame-script actions are stop, play, gotoAndStop, gotoAndPlay, custom
events, and completion callbacks - on the root timeline and on nested clips, read from
either AS2 or AS3. Scripts are extracted at import and baked to data, so there is no
runtime VM and nothing is interpreted at play time. Custom event dispatch must be
authored in AS3.
Driving all of this from your own code is in Scripting API.
Color & Blending#
| Feature | Unity | Godot | Notes |
|---|---|---|---|
| Tints | ✅ | ✅ | |
| Color transforms | ✅ | ✅ | Multiply and add, composed down the display list |
| Multiply blend | ✅ | ✅ | |
| Add blend | ✅ | ✅ | |
| Subtract blend | ✅ | ✅ | |
| Other blend modes | ❌ | ❌ |
Not yet supported#
| Feature | Notes |
|---|---|
| ❌ Text | Static and dynamic text fields, and embedded fonts |
| ❌ Filters | Blur, drop shadow, glow, bevel, and the rest |
| ❌ 9-slicing | Scale-9 grid on symbols |
See also#
- Plugin Features - what the plugin adds on top: materials, lighting, colliders, draw order, baking
- Limitations - behavioural caveats within the features that are supported
- MovieClip Library - one SWF, many clips
- Platforms - engine and platform support