Upload assets

Add your own 3D models to your asset library, then place them in scenes alongside the assets Bifrost provides. Uploaded assets are visible only to your own organization.

How to Upload

Share the asset file and the name you want the asset to have with your agent:

Upload this asset file and name it Mallard

The asset library's Custom Assets tab, showing one uploaded asset

Assets appear under Custom Assets once the upload completes, tagged User Generated.

Note

Your model must be a GLB file of up to 256 MB. See Troubleshooting for what else can stop an upload, including name clashes.

Thumbnails & Dimensions

Bifrost works both of these out as the asset publishes, independently, so one can succeed while the other does not.

Three asset cards in the library: Khronos Duck Test, Mallard and Oil Tanker

Three models uploaded the same way, with three different outcomes.

  • Khronos Duck Test: thumbnail but no real dimensions. The 1 x 1 x 1 is the placeholder; the model itself actually measures 1.2 x 1.7 x 1.5 metres.

  • Mallard: both, measured at 0.5 x 0.2 x 0.4 metres, and the only one of the three facing the same way as Bifrost’s own assets (see Asset Direction).

  • Oil Tanker: dimensions but no thumbnail. A tanker measuring 1.0 x 0.3 x 0.3 metres was exported at the wrong scale.

Any asset in the library can be spawned regardless of thumbnail or dimensions, so all three can be placed and rendered.

A rendered scene with a huge rubber duck, a small oil tanker and a mallard

The same three uploads in one scene. Note that the 1.7 m rubber duck dwarfs a 1 m oil tanker, and only the mallard is a realistic size.

Thumbnails. A thumbnail is drawn after publishing so the asset can be recognised in the library. Here are common reasons a thumbnail fails to publish and what to do.

Reason

What to do

The uploaded object could not be read back
The renderer did not return a tile
The asset library refused the tile

Publish the same file again as a new version.

The uploaded object is over the render threshold

The file is above 32 MB. Publish a lighter version.

The browser drew nothing from the model

Check the file opens in a GLB viewer, then publish a corrected version.

Dimensions. Bifrost measures your model by reading its size from the file’s own metadata. That size drives how the asset behaves, from the wake it leaves to how it rides in waves, and it is what you filter on when searching the library.

Bifrost does not make changes to the size. A model exported at the wrong scale gets a size that matches the file rather than the real object. The oil tanker, for example, was exported too small: the dimensions are an accurate reading of the file, and the file itself is wrong. It has to be re-exported at a realistic scale and published again.

Models using quantized positions, GPU instancing or skinning cannot be measured and publish at a placeholder 1 x 1 x 1 metres. They still work, but behave as a one metre object, and the dimensions cannot be corrected afterwards. Re-export without those features and publish again.

Asset Direction

Bifrost’s own assets have a fixed convention for facing. An uploaded asset keeps the orientation it was exported with, so one exported facing another way is placed facing that way.

The Mallard asset seen from the side and from above, with the glTF axes marked

The Mallard, drawn from its own vertex data: head at the \(-Z\) end, height along \(+Y\), width across \(X\).

In the GLB, put the model’s up along +Y and its front along -Z, with width across X.

Attention

Note the sign. The glTF format names +Z as the front of an asset, so an exporter that follows that convention produces a model facing backwards here. Turn it 180 degrees before exporting.

Asset Pivot Point

As covered in Coordinate system, an asset’s position is defined at its pivot point, which may differ from its geometric centroid. Where you put the pivot point decides both where the asset lands and what it swings around when floating.

A person and a sailboat, each with its pivot point and its geometric centroid marked

A person’s centroid sits at hip height, a sailboat’s halfway up the mast. Neither is where the asset touches the world.

World Position

Whatever part of the asset sits at the pivot point lands on the position you ask for.

Floating assets. Pivot point height sets the waterline (the height the water reaches). A duck whose pivot point sits at its waterline floats correctly; one whose pivot point sits at its feet stands on the surface instead.

Land assets. Pivot point height sets where the asset meets the ground. A vehicle whose pivot point sits at the bottom of its wheels rests on the ground.

In both figures below, the blue line marks z = 0 in the world: the waterline OR ground.

Two mallards, one floating correctly and one standing on the water surface

Floating: the left pivot point is at the waterline, the right one at the bird’s feet.

A person and a car, both resting on the ground

On land: both pivot points are at the base of the asset, so both rest on the ground.

The pivot point’s position along the asset also affects where the asset lands. Below are three identical tugboats with different pivot points, all placed at Vector3(0, 0, 0), marked by the small square.

A tug whose pivot point is at its bow, sitting entirely behind the marker

Pivot at the bow: the hull sits behind the position.

A tug whose pivot point is in the middle, straddling the marker

Pivot in the middle: the hull straddles it.

A tug whose pivot point is at its stern, sitting entirely ahead of the marker

Pivot at the stern: the hull sits ahead of it.

Buoyant Rotation

A floating asset rotates about its pivot point, so the pivot point also decides what it swings around.

The same hull tilted by the same amount about a central pivot point and about one at the bow

The same hull at the same tilt. About the middle, each end moves 3.3 m. About the bow, the stern swings 6.6 m.

Bifrost also reads the water around the pivot point to work out how the asset floats. With the pivot point in the middle of the hull, that is the water the asset is sitting on. It would be inaccurate to place it at the bow or the stern, resulting in the asset riding high over a trough or digging into a crest.

Tip

Put the pivot point on the centreline, midway along the hull, at the height the water reaches. This is usually not the geometric centroid: on a sailboat the mast pulls the centroid far above the waterline.

Troubleshooting

Every refusal says what happened and what to do, and no upload is left half-published.

What you see

What it means

Your organization cannot publish anywhere

Publishing is not enabled for your organization. Ask Bifrost to enable it.

That library is not yours

Use one of the libraries you were offered.

An asset with that name already exists

The message lists the matches. Add your file to one as a new version, or rename.

The request was rejected before anything was created

A bad name, a file that is not a GLB, or an unknown tag. Nothing needs cleaning up.

The upload is no longer valid

More than a day has passed, or it belongs to someone else. Start a new one.

The file has not arrived yet

Publishing ran before the file finished sending. Ask the agent to send it again.

The file was rejected

Not a usable GLB, truncated, or outside the size limits. Nothing was published.

Too many uploads

Your allowance of started uploads is used up. Stop retrying and wait.

The asset service is unavailable

A problem on the Bifrost side. Nothing was published. Try again shortly.

Limits

Limit

Value

Accepted format

GLB only

Smallest asset

1 KB

Largest asset

256 MB

Largest asset that gets a thumbnail

32 MB

Length of an asset’s name

200 characters

Length of the file name

255 characters

Tags per upload

20

Versions of any one asset

9999

Uploads started per person

20 per hour

Uploads started per organization

200 per day