Skip to main content
Glama
jonit-dev
by jonit-dev

Import an owned Fab Unreal asset

fab_import_asset
Idempotent

Download an Unreal asset the signed-in Fab account already owns and convert it to source GLBs in one step. Uses the FabCLI session the user established themselves; it never logs in, claims, or purchases anything.

Instructions

Download an Unreal asset the signed-in Fab account already owns and convert it to source GLBs in one step. Uses the FabCLI session the user established themselves; it never logs in, claims, or purchases anything.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
engineNoUnreal engine selector, for example UE_4.21. Required when the listing publishes several artifacts.
packagesNoImport only these package names, for example ["SM_Rock", "DemoMap"]. Omit to convert every supported mesh and level in the pack; a large marketplace pack is many gigabytes of GLBs.
platformNoPlatform build to download when the artifact publishes several, for example Windows.
outputDirYesDirectory the source GLBs are written to, normally <game>/assets/fab/<listing-id>. It must not already hold a different import; this tool never overwrites one.
acceptFabEulaYesRequired acknowledgement that the user accepts the Fab EULA for the listing they already own.
listingIdOrUrlYes
maxTextureSizeNoOptional longest edge for embedded textures. Leave unset to keep Unreal's own resolution and let the ThreeNative asset compiler cap it.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
audioYes
fontsYes
countsYes
failedYes
modelsYes
reusedYes
scenesYes
licenseNo
skippedYes
spritesYes
cubemapsYes
texturesYes
warningsYes
flipbooksYes
materialsYes
outputDirYes
dataAssetsYes
durationMsYes
reportPathYes
bitmapFontsYes
textureStacksYes
materialAssetsYes
materialCoverageYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.1

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a non-read-only, idempotent, non-destructive operation. The description adds meaningful behavioral context: it uses the user's existing FabCLI session, performs no auth or purchase actions, and converts to GLBs in a single step. This goes beyond what the annotations alone state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler: the first states the core action and scope, and the second adds the key auth boundary. Every sentence earns its place and avoids repeating schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich schema, annotations, and output schema, the description is complete enough for an agent to understand when and how to invoke it. It covers ownership, one-step conversion, and the FabCLI session constraint, while the structured fields handle the remaining parameter details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 86%, so the schema documents most parameters in detail, including engine, packages, platform, outputDir, acceptFabEula, and maxTextureSize. The description itself adds little parameter-level detail beyond the ownership and GLB conversion context, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific operation: download an already-owned Unreal asset and convert it to source GLBs in one step. It also scopes the tool to the signed-in Fab account and explicitly rules out login, claiming, and purchasing, which distinguishes it from acquisition-focused sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states the precondition that the user must already own the asset and have an established FabCLI session. It also gives an implicit when-not by saying the tool never logs in, claims, or purchases, though it does not name an alternative tool for cases like free downloads or new purchases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.