Assets
Bring art, audio, fonts and 3D models into a project, keep them organized, and know which editor owns each one.
Every game is made of assets — sprites, backgrounds, spritesheets, tilesets, sound effects, music, fonts, and for 3D games, models. The Assets Manager is where they live.
It is deliberately an inventory: it answers "what do I have, and where is it." Creating and editing happen in the per-type editors — one per asset type, each owning its type end to end. See Tools.
The Assets Manager
A two-pane file browser: the folder tree on the left, the contents on the right. Along the top:
- Search — filename substring. Names are sanitised on upload (
My Cat→my_cat), so search the sanitised form. - Type filter — images, audio, fonts, 3D models.
- View — flat or tree, with an option to group by pack.
- + Add — upload from device, browse the store, or generate.
Click an asset to open its detail view: preview, metadata, and the actions that apply to it — rename, move, download, delete, or open it in the editor that owns it. A 3D model gets a real interactive preview you can orbit.
Getting assets in
Upload from your device
Drag files onto the page, or + Add → Upload. Accepted:
| Type | Formats | Per-file limit |
|---|---|---|
| Images | PNG, JPG, WebP | 10 MB |
| Audio | MP3, OGG, WAV | 5 MB |
| Fonts | TTF, OTF, WOFF, WOFF2 | 2 MB |
| 3D models | GLB, GLTF | 10 MB |
Drop a .zip or a whole folder and you get the pack importer instead,
which walks the files in and keeps their structure. The importer can
optionally run a vision pass that guesses which files are sprite sheets,
tilesets or 9-slice art — useful, imperfect, and off by default for asset
packs.
Filenames are sanitised server-side (lowercase, ASCII, underscores) and the success toast shows the canonical name — that name is the handle you use in chat.
From the Asset Store
Free ready-made packs, curated and user-published. See Asset Store.
Generate it
See AI image generation and Sound and music.
Storage
Two limits, for different reasons:
- 50 MB per game — bounds a single project.
- 1 GB per account, free — bounds everything you own together.
Store and library picks are referenced, not copied into your account, so they don't count. Your uploads and everything you generate do.
If you run out, you can buy permanent extra capacity with credits: +2 GB for 500 credits, or +10 GB for 1200. It's a one-time purchase, not a subscription — see Plans and credits.
Which editor owns what
| Asset | Opens in | What you can do |
|---|---|---|
| A single image | Image Editor | Resize, crop, transparent background, hitbox, named regions + 9-slice, atlas packing |
| Small pixel art | Pixel Artist | Draw by hand — layers, frames, onion skin, selections (up to 256×256). See Pixel Artist |
| A spritesheet | Spritesheet Editor | Frame order, per-frame timing, FPS, animation tags, playback |
| A sound or track | SFX / Music Editor | Generate, trim, set volume |
| A 3D model | Model Editor | Recolor materials, move parts, add sockets, apply standard animations |
| A tileset | Tileset Editor | Cell grid, autotile rules, per-tile collision, animated tiles |
The agent opens the right one for you when it matters:
Open the coin sprite — I want to shrink its hitbox.Hitboxes, regions and atlases
Three things that live in the Image Editor and are worth knowing by name:
- Hitbox — the invisible rectangle a sprite actually collides with. It can be smaller than the art (usually should be), and it can differ per frame of a sheet.
- Regions — carving one image into several named sub-frames. A sheet of UI buttons becomes an atlas where each button has a name, and each region can be marked as a stretchable 9-slice. There's an Auto button that measures the 9-slice insets for you.
- Atlas packing — the reverse: combining many separate images into one texture plus a named frame table, so the game loads them in one request and draws them in one batch. Select images in the Assets Manager and choose Pack into atlas.
Frames in a packed atlas are referenced by name in game code. Adding or repacking never breaks anything, because names are stable even though the rectangles move. Renaming a frame does break code that loads the old name — change both. And a packed atlas is a copy: editing the original image afterwards does not change the atlas; replace the frame instead.
Fonts
Two ways, and you never touch CSS or font loading.
Upload your own — a .ttf, .otf, .woff or .woff2, like any other
asset. Then name it:
Use Kenney Space.ttf for the title text.Or name a Google Font — nothing to upload:
Make the title use Bangers, that chunky comic font.The agent wires it up and the game loads it before it starts. A Google Font needs a connection at play time, so prefer an uploaded file if your players might be offline.
If your game shows Chinese, Japanese, Korean, Thai or Arabic text, the font is not a style choice — the default font has no glyphs for those scripts and you get empty boxes. See Languages.
Folders and packs
The tree view has folders; Move puts an asset in one, and the agent
uses them too (characters/, tiles/, sfx/). Renaming a folder
rewrites the path prefix for everything inside it; deleting one cascades.
Assets that came in together keep a pack label, so you can group the view by where things came from — imported packs at the top, your own uploads below.
Saying what an asset is
Click an asset and the panel has Description & tags. These are the only things umicat's search matches on — a filename is not one of them — so an asset with neither can be found by nobody, including you, next month, in a folder of a few thousand files.
Nothing fills them in for you. Write a description the way someone searching
would say it ("red wooden crate, front-facing"), and six to ten tags covering
subject, kind and look. Art style is a tag too; there is no separate field.
Tags are lowercase and hyphenated — pixel art and pixel-art are two
different tags, so the field cleans what you type as you type it.
The filter chip counts what is left. When assets are missing both, the
toolbar shows N undescribed; click it to see only those, and the number
drops as you go. It disappears when there are none.
Your assistant can do this for you — it can see the files, so it writes what is actually in them rather than guessing from names. You keep the edit button either way. See Art you made yourself.
A 3D model needs a picture first. A .glb shows as a file icon until
something renders a preview for it, and then that render appears in both the
grid and the list. Descriptions and tags only become public when the pack
containing them is published — and only for the files that were in it at the
time.
Using an asset in the game
Three routes, in rough order of how often you'll want them:
- Say its name in chat. The agent reads the asset's metadata and wires
the entity correctly.
Use cat.png as the player sprite, walk speed 200. - Drag it onto the canvas in the editor's Assets tab — it becomes a sprite entity where you dropped it. See The editor.
- Insert it into chat from the asset detail view, which prefills a sentence naming the file so you only have to type the intent.