Asset Types

The table below describes some of the most common source asset types supported by the Asset Pipeline in Open 3D Engine (O3DE) and lists the product assets generated by Asset Processor for each source asset type. The table also lists which builders process specific source asset types, and the location of the builders in the source code. Builders can be located in the O3DE engine code, Gems, or project code.

Some source assets are simply copied to the Asset Cache, so the product asset type is identical to the source asset type.

Asset Builders

Source AssetBuilderBuilder LocationDescriptionProduct Assets
.animgraphAnimGraphBuilderWorkerEMotionFX Gem Animation graphs define animation behavior for characters..animgraph
.attimage, .azasset, .azbufferAny Asset BuilderAtom Gem -Same as the source asset, .attimage generates an .attimage product asset.
.texatlasAtlas Worker BuilderTexture Atlas Gem Texture atlases are used to reduce draw calls in user interfaces..texatlasidx and .streamingimage
.bmp, .dds, .exr, .gif, .jpeg, .jpg, .png, .tga, .tiff, .tifAtom Image BuilderAtom Gem Processes images for use in O3DE, primarily for use as Textures.Product assets generated depend on settings, but will generally include .imagemipchain and .streamingimage.
.materialtype, .materialAtom Material BuilderAtom Gem Materials contain properties to define how objects are rendered..materialtype outputs .material and .azmaterialtype products. .material outputs .azmaterial products.
.resourcepoolAtom Resource Pool Asset BuilderAtom Gem -.pool or .streamingimagepool
.benchmarksettings, .benchmarkBenchmark Asset Worker BuilderLmbrCentral Gem --
.blastBlast Scene BuilderBlast Gem -.blast, .assetinfo.generated
.cfgCFG Builder WorkerLmbrCentral Gem -.cfg
.emfxworkspaceEmfxWorkspaceBuilderDescriptorLmbrCentral Gem -.emfxworkspace
.fontfamily, .fontFontBuilderWorkerLmbrCentral Gem Fonts are used to render text.Same as the source asset, .font generates a .font product asset.
.tfxHairAssetBuilderAtomTressFX Gem TressFX provides realistic hair and fur simulation..tfxhair
.luaLua Worker BuilderLmbrCentral Gem Lua is a scripting language that can be used to author logic for your project..luac
.mockMock BuilderAutomated Testing Project This builder assists in automated testing, run with the AutomatedTesting project. It’s a useful example for teams that wish to author builders in Python for custom asset types in their own project..mock_asset
.motionsetMotionSetBuilderWorkerEmotionFX Gem A motion set contains a list of motions..motionset
.passPass Asset BuilderAtom Gem Passes are logical groupings of render work with a defined input and output..pass
.precompiledshaderPrecompiled Shader BuilderAtom Gem -.azshader
.prefabPrefab BuilderPrefab Gem Prefabs are a foundational element for building an O3DE project, a prefab is a collection of entities..spawnable
.tsQt Translation File BuilderLmbrCentral Gem Qt translation files. Qt is only enabled in Editor tools, so these can be useful for translating tools, but not projects, to different languages..qm
.fbx, .glb, gltf, stlScene BuilderSceneProcessing Gem Scene files are used to define 3D content, such as meshes and animations..motion, .procprefab, .azmaterial, .azbuffer, .azlod, .azmodel, .blast_chunks, .pxmesh, .skinmeta, .actor
.xmlschemaSchemaBuilderWorkerLmbrCentral Gem XML Schema files assist with finding product dependencies in XML files. The XML Schema Editing tool in O3DE Editor can define patterns to match XML format files, and patterns search for product dependencies in those files..xmlschema
.scriptcanvasScript Canvas BuilderScriptCanvas Gem Script Canvas is a general purpose, visual scripting environment for O3DE..luac, .scriptcanvas_compiled, .scriptcanvas_fn_compiled
.scripteventsScript Events BuilderScriptEvents Gem Script Events allow scripts to communicate with each other..scriptevents
.seedSeedBuilderDescriptorLmbrCentral Gem Seed asset lists are used in the asset bundling process, which is how content is packaged up for distributing projects to end users..seed
engine.jsonSettings Registry BuilderAsset Processor -engine.json, .setreg
.shaderShader Asset BuilderAtom Gem Shaders are used by the rendering system to determine how 3D geometry is rendered..json, .azslin, .azshadervariant, .hlsl
.shadervariantlistShader Variant Asset BuilderAtom Gem Shader variants are shader constants that are only used in conditional statements that can be statically optimized..azshadervarianttree, .azshadervariant
.uicanvasUI Canvas BuilderLyShine Gem UI Canvas files define two dimensional visual elements for your project, usually used for user interfaces..uicanvas
.ent, .vegdescriptorlist, and anything matching the regular expression:(?!.*libs\/gameaudio\/).*\.xmlXmlBuilderWorkerLmbrCentral Gem XML files are copied directly to the cache as product assets. The XML Builder provides an entry point for scanning XML files for product dependencies, used during Asset Bundling, for packaging up content when distributing projects to end users..xml

Copy Jobs

A copy job is used for assets that have no additional processing requirements, they copy the source asset directly to the asset cache. In these cases, the product asset is identical to the source asset. Copy jobs are defined via the settings registry, the engine’s default copy jobs can be found in AssetProcessorPlatformConfig.setreg .