← Back to blog

VberAI Bitmap Font Generator: Upload Glyphs or Split Sprite Sheets to BMFont

VberAI Studio bitmap font generator: upload glyph images or sprite sheets with auto-split, export AngelCode BMFont (.fnt + PNG), edit on canvas, import to Unity / Godot / Cocos.

Published
  • vberai
  • ai-studio
  • bitmap-font
  • bmfont
  • fnt
  • angelcode
  • sprite-sheet
  • glyph
  • game-ui
  • unity
  • godot
  • cocos
  • tutorial
VberAI Bitmap Font Generator: Upload Glyphs or Split Sprite Sheets to BMFont

VberAI Studio (short: AI Studio, ≠ Google AI Studio) includes a bitmap font generator: generate from a charset on the panel, upload glyph images, or upload a sprite sheet and auto-split into a game font atlas with metrics. Results stay on the same game canvas for pixelation, matting, or export. The interchange format across engines is AngelCode BMFont .fnt + PNG (export options follow the panel).

Start here: AI Studio. Glossary: bitmap font.

This is the game bitmap font / BMFont workflow: fixed charset and style, with .fnt metrics into Unity / Godot / Cocos.

Why games still need bitmap fonts

Dynamic TTF / OTF is right for long copy and arbitrary sizes. HUD, scores, coin counters, pixel titles, and outlined digits usually need something else: a locked size, style baked into the texture, no blur on scale, and predictable engine load.

Three common detours:

  1. Force a dynamic font — outlines shatter when scaled up; pixel type goes muddy when scaled down; bilinear filtering softens cell edges.
  2. Hand-drawn per-glyph PNGs with no metrics — the engine does not know width, height, baseline, or advance, so you are compositing loose sprites.
  3. Desktop or online BMFont, then download — you leave with an atlas and a .fnt, then open other tools to clean edges, pixelate, and import into Unity / Godot / Cocos.

AI Studio keeps generation on an editable game workbench: the font is an asset, not a zip that ends the job.

Standalone BMFont toolVberAI bitmap font generator
EntryAnother desktop app or siteSame AI Studio canvas
InputMostly rasterize from TTF / system fontsPanel generate, upload glyphs, upload sprite sheet + auto-split
OutputUsually a .fnt + atlas downloadAtlas lands on the canvas for further edit
LookSource TTF plus the tool’s effectsPanel style, or reuse uploaded glyphs / sprite art
AfterwardMostly “import into the engine”Finish on canvas, then ship to engine

Three ways to feed the generator

Panel labels follow the product. Common paths:

PathWhen to use it
Generate from charsetNo art yet—need HUD digits, pixel type, or stylized numbers
Upload glyph imagesArtists already drew per-glyph PNGs; you need .fnt width, height, advance
Upload sprite sheet + auto-splitA full 0123456789 strip, glyph grid, or digit sprite sheet to slice and metric

Sprite-sheet splitting is similar to in-place slice / layer split, but the output is a BMFont atlas + .fnt, not a UI Prefab.

What a bitmap font / BMFont is

A shippable definition:

  1. Atlas — rasterize the glyphs you need into one (or a few) PNG sheets.
  2. Metrics file — usually AngelCode BMFont .fnt: UV, width/height, xoffset / yoffset, xadvance per character.
  3. Runtime — the engine samples the atlas to assemble a Label, instead of tessellating vector outlines on the fly.

It covers fixed-size, fixed-style game text. It is not a TextMesh Pro SDF body font, and it is not a full CJK dynamic font.

Bitmap font (BMFont)Dynamic TTFSDF / MSDF
LookStyle baked into the texture; pixels can lockVector rasterized at each sizeScales relatively clean
Best forHUD, scores, pixel titles, stylized digitsLong copy, chat, settingsUI body that must scale
CostNew size / charset means a new atlasOutlines and pixel look are hard to controlPixel-grid lock is weaker than a true bitmap

When to use it — and when not to

Use it for: health numbers, stage scores, coin / gem counters, skill cooldowns, pixel titles, outlined or metallic number strips. Small charset, fixed size.

Skip it for: dialogue, mail, chat, settings copy; UI body that must scale freely; a full Han / kana / Hangul vocabulary. A complete CJK set explodes atlas size — keep dynamic fonts or SDF for that.

How to generate it in AI Studio

Button labels follow the current panel. The path is four steps.

1. Open the bitmap font generator

On the AI Studio canvas, open the bitmap font generator.

Bitmap font generator panel

2. Pick an input path, then lock charset and size

Choose panel generate, upload glyph images, or upload a sprite sheet and auto-split (per the panel). Either way, list the characters that will actually appear in-game.

HUD sets often need only 0123456789, +$%/.,, and a few Latin letters. Missing glyphs become blanks or tofu at runtime; extra glyphs bloat the atlas.

Set size to the final HUD pixel size — do not design large and scale down. Scaling a bitmap font scales the texture. After a sprite-sheet split, check cell padding and advance so digits do not collide.

3. Generate and preview the atlas

Check baselines, whether outlines eat into neighbors, dirty glow on semi-transparent edges, and wasted empty space. For a pixel look, chain image pixelate on the same canvas; for a clean alpha, chain matting.

4. Export, then into the engine

Export options follow the panel. For Unity / Godot / Cocos Creator, confirm you have:

  • One (or a set of) PNG atlas sheets
  • A .fnt file (AngelCode BMFont text or binary; engine docs key off .fnt)

Filenames, page indices, and the texture references inside .fnt must match — otherwise the engine may accept the font and still show magenta or empty glyphs.

Import into Unity / Godot / Cocos

These are acceptance checklists, not full editor tours. After import, render 0123456789SCORE and inspect alignment, tracking, and alpha edges.

BMFont score display in engine

Unity

  • Set the atlas Filter Mode to Point to lock pixel edges; bilinear filtering blurs them.
  • Legacy UGUI: Custom Font + a material that uses the atlas, then assign it to Text.
  • TextMesh Pro: build a bitmap font asset in Font Asset Creator, or import the BMFont pair (follow your TMP version).
  • Usual rework: empty material slot, or .fnt texture name ≠ imported texture name.

Godot 4

Godot supports BMFont (.fnt). Keep .fnt and PNG in the same folder, import, and assign to a Label (or RichTextLabel) font slot. A PNG alone has no glyph rectangles.

Cocos Creator

A Cocos bitmap font is .fnt + .png: the .fnt indexes each character thumbnail. Put both in the asset folder and set the Label font type to bitmap font (menu names follow the 3.x panel). Do not mix this up with LabelAtlas (fixed-cell number strips) — LabelAtlas does not carry full BMFont metrics.

Rework checklist

  • Missing glyphs — extend the charset and regenerate; do not mix in a second TTF inside the engine.
  • Uneven baseline — 1 vs 0, commas, and decimal points show it first.
  • Tracking too tight / too loose — edit xadvance in .fnt or retune spacing in the generator.
  • Dirty outlines — glow overlapping neighbors; leave 1–2 px padding in the atlas.
  • Blur when scaled — do not treat a bitmap as a vector; use SDF / MSDF or a dynamic font if you must scale.
  • Atlas too large — cut the charset, or split a “digits” set from a “title” set.

Who this is for

Indie devs and small teams shipping HUD scores, pixel titles, and stylized digits—small charset, fixed size, need .fnt + PNG in the build, and tired of bouncing between a desktop BMFont tool and the engine.

Boundaries

  • The first atlas is rarely a shippable final; trademark glyphs, missing locales, and extra resolutions still need a human pass.
  • Compression, packing, font materials, and filter mode land in the engine project.
  • Panel copy, inputs (source font / style reference), and export format follow current AI Studio.
  • VberAI Studio ≠ Google AI Studio; see the comparison.

Wrap-up

You do not need “one more online BMFont.” You need stylized digits and pixel type that ship as game assets with metrics. Generate → preview the atlas → clean edges or pixelate on canvas → .fnt + PNG into Unity / Godot / Cocos — all in AI Studio.

FAQ

What is a bitmap font / BMFont?
A bitmap font paints glyphs into a PNG atlas and uses a metrics file so the engine knows how to slice each character. AngelCode BMFont (.fnt + PNG) is the interchange pair Unity, Godot, and Cocos all understand.

Can VberAI generate game bitmap fonts?
Yes. Use the bitmap font generator on the AI Studio canvas—generate from a charset, upload glyphs or a sprite sheet, and keep editing or exporting on the same canvas (per the product panel).

Can I upload glyph images or a sprite sheet?
Yes. Upload glyph images (per-character PNGs, etc.) into the font. Or upload a sprite sheet and auto-split (digit strips, glyph grids) to emit BMFont .fnt + atlas (per the panel).

Bitmap vs dynamic TTF vs SDF?
Fixed-size HUD, pixel titles, and stylized digits → bitmap. Long copy and UI that must scale → dynamic TTF or SDF / MSDF.

What matters on Unity import?
Point filtering on the atlas; Custom Font or TMP bitmap can both consume a BMFont pair, but texture names must match .fnt and the material slot cannot be empty.

Can I bake a full Chinese atlas?
Not practically. A complete CJK set blows up the atlas. Leave bitmap fonts for digits, Latin letters, and a few title glyphs; keep body copy on a dynamic font.

More guides you might like