glTF / GLB / OBJ & Images
Single model and image files import directly, with no options dialog: a model spawns into your current scene, and an image becomes a texture asset with a ready-made material. This page covers the supported formats and exactly what each produces.
Direct vs pack imports
Unlike an engine pack - which lands in the Library as prefabs and scenes - a lone model or image imports immediately and directly:
.glb/.gltf/.obj→ spawned into the live scene as GameObjects, as a single undoable action. The first imported root is selected so you can position it right away.- Image files → a texture asset plus an auto-created material preset in the Library.
There's no Import Dialog for these, because there's nothing to choose. Import a model from File ▸ Import Model…, the Asset Browser's + Import, or by dropping the file anywhere on the editor.
glTF and GLB
Both the binary .glb and the JSON .gltf are supported by the same parser. GLB's JSON and binary chunks are read; a plain .gltf reads its embedded or referenced buffers. What comes across:
- Meshes - positions, normals, UVs, and indices for each primitive.
- Node hierarchy - the full node tree with each node's translation/rotation/scale.
- Base colour - a material's
pbrMetallicRoughness.baseColorFactor(RGB) tints the mesh. Texture maps are not applied on direct glTF import - meshes carry the base colour, not the base-colour map. - Skeletal animation - this is glTF's standout: skins are resolved to a skeleton, each skin's animation channels become clips, and skinned nodes get an Animator that loops the first clip. glTF is the most complete skeletal-import path in Awaken.
Lights and cameras defined in a glTF are not imported (the direct-import node shape carries only geometry and skin).
OBJ
OBJ is a plain-text geometry format. Awaken parses vertex positions (v), normals (vn), texture coordinates (vt), and faces (f), triangulating polygons as a fan and resolving both positive and negative (relative) indices. If the file has no normals, they're computed from the face geometry. The result is a single mesh in a single node.
OBJ carries no material information (there is no .mtl parsing), so an imported OBJ mesh arrives a neutral grey - assign it a material afterwards.
Images → texture + material
Dropping an image decodes it to RGBA and creates two assets:
- A texture asset, named after the file.
- A material preset that references it, with a white tint (so the texture shows its true colours), metallic 0, and roughness 0.6.
Supported through the file picker: PNG, JPG/JPEG, WebP, BMP, GIF. TGA (Targa) is also decoded - truecolor 24/32-bit, uncompressed or RLE - when dropped in (it isn't in the file picker's accept list, so drag it onto the editor). Larger images are downscaled to the texture cap during decode; see Textures & Terrain.
📸 Screenshot - save as img/import-image-to-material.png
The Asset Browser right after dropping a PNG: the new texture asset and its auto-created material preset side by side.
A note on welding
Awaken welds imported geometry losslessly - recovering shared vertices from de-indexed source meshes - as part of engine-pack imports into the Library. Direct single-model imports (.glb/.gltf/.obj) spawn their geometry exactly as decoded, with no weld. When you save the project, the mesh format quantizes the geometry (positions, normals, and UVs) to shrink it on disk, but it does not re-weld. If you want the weld's memory and size savings up front, bring the models in as part of a pack - welding runs only on that import path.
Awaken-native files
The same import paths also accept Awaken's own asset files, which round-trip exactly:
.awakenmat- a saved material..awakenscript- a script asset (compiled on import)..awakenprefab- a prefab. If it references scripts or materials you don't have, Awaken prompts you to locate each missing dependency; dropping a prefab alongside its dependencies (or a whole folder) resolves them automatically.
See also
- Importing Assets - the pipeline and support matrix
- Textures & Terrain - decode options and the size cap
- Colliders, Skeletons, Lights & Cameras - skeletal detail
- Shader Editor - assigning materials to imported meshes
- Mesh Format - welding and quantized geometry