Assets
Names can change. Ids do not.
Every asset the game can reference has a GUID in Project/assets.json. Components store that id, never a path. Rename or move the file and the scene still finds it. Lookup is case-insensitive, and backslashes are treated as slashes.
The registry maps each GUID to a stored path and a type name. Scene entries can also say Start (the one start scene) and InBuild (ships). The registry itself ships with the build, so lookups work in the player. .cs and .json files are project content and are not assets.
Where files go
| Path | Holds |
|---|---|
Name.weproj | Project manifest. The name only. Not an asset. |
Assets/ | Images, sprites, palettes, animation, sounds, tile sets, maps, sequences. Subfolders are yours. |
Fonts/ | .wfnt bitmap fonts. Registering a font from elsewhere imports it here. |
Prefabs/ | .wpb saved object subtrees. |
Scenes/ | .wscene files. These are assets. Subfolders are allowed. |
Shaders/ | .glsl you write, and the .wfx the editor imports. Only the .wfx gets a GUID. |
Scripts/ | Your components. Not assets. |
Project/ | assets.json, game.json, collision.json, audio.json, and editor build plans. |
UserSettings/ | One person’s editor state. Never shared, never shipped. |
Formats
| Extension | What it is |
|---|---|
.wei | Indexed image. |
.wep | Palette. Swap one onto a sprite, a font, or a whole character. |
.wspr | Sprite: an image GUID, a rectangle, an optional palette, a pivot. |
.wanim | Sprite animation clip. |
.wso | Sound. The editor imports .wav, .ogg, and .mp3 into this. Games only see .wso. |
.wfnt | Bitmap font: atlas, metrics, kerning, and an embedded palette. |
.wts / .wtm | Tile set and tile map. |
.wseq | Sequence: a keyframed animation or cutscene. See Cameras and builds. |
.wpb | Prefab. |
.wscene | Scene. |
.wfx | Imported GPU post effect. |
WeTools
WeTools is the art pipeline. It converts PNGs to .wei and .wep, edits palettes (swatches, pick, match color order, palette editor), batch-converts a folder, and builds fonts. Font export rasterizes an outline font, bakes outline, shadow, gradient, and bevel, packs a tight atlas, and writes a binary .wfnt. Palette index 0 is empty; the other roles are fill, outline, shadow, highlight, and shade. Selecting a .wfnt in the Project panel shows metrics, the atlas, and those swatches.
In a component, expose a string for an asset GUID, or a Sound / Sequence field. Drag the file onto it from the Project panel. Spawn prefabs by that same GUID.