bevy_fontmesh
A simple and focused Bevy plugin for generating 3D text meshes from fonts. Powered by fontmesh.
What it does
Turns TrueType fonts into 3D meshes. You can control the extrusion depth, anchor points, and subdivision quality. Also supports per-character entities if you want to style or animate individual glyphs.
The plugin just generates the meshes - Bevy handles everything else (materials, lighting, rendering).
Quick Start
[]
= "0.18"
= "0.3.0"
use *;
use *;
For custom materials, add the plugin for each material type you need:
app.add_plugins
For detailed API documentation and more examples, see docs.rs/bevy_fontmesh.
Examples
Limitations
- No kerning: Character spacing uses advance widths only. Kerning pairs from the font are not applied.
- Font parsing: The font is re-parsed from bytes on each mesh generation. For static text this is fine; if you spawn many text entities at startup, consider reusing
FontMeshhandles so the asset loader runs once. - No CFF/PostScript outlines: OpenType fonts with CFF outlines are not supported (ttf-parser limitation).
Why another text plugin?
I wanted something simple that just generates meshes and lets Bevy do the rest. No fancy features, no complex API - just font → mesh.
Supported Formats
- TrueType (
.ttf) - fully supported - OpenType (
.otf) with TrueType outlines - supported - OpenType with CFF/PostScript outlines - not supported (ttf-parser limitation)
Bevy Version Compatibility
| bevy_fontmesh | Bevy |
|---|---|
| 0.1 | 0.17 |
| 0.2 | 0.18 |
| 0.3 | 0.18 |
License
Licensed under either of MIT or Apache-2.0 at your option.