> For the complete documentation index, see [llms.txt](https://brandsxgames.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://brandsxgames.gitbook.io/documentation/unity/3d-placements.md).

# 3D product placements

Some campaigns are physical objects rather than flat images — a branded product on a desk, an item on a shelf, something a player can walk around. The Unity SDK loads these as real 3D models at runtime, and the integration is the same idea as a 2D surface: add the component, give it a slot, ship.

## Adding a 3D placement

1. Create an empty GameObject where the product should appear (a tabletop, a shelf, a stand).
2. **Add Component → Ad Refresher 3d**.
3. Set **Place Holder Id** to the slot we gave you.
4. Press Play.

At runtime the SDK fetches the model booked for that slot, loads it, and parents it to your GameObject's position. As with 2D, the slot looks up its current booking from our side, so the product can change between campaigns with no new build from you.

## Physics

The 3D component has a **Should Collide** option. With it on, the loaded model is given colliders and can behave as a physical object in your scene (it can rest on surfaces and be interacted with). Turn it off for a fixed display piece that should simply sit in place. Physics is held inactive until the model has finished loading, so nothing falls through the world mid-load.

## How it loads

Booked 3D assets are delivered as glTF/GLB and loaded at runtime — there's nothing for you to import or cook into your project ahead of time, and your project's asset library isn't touched. The model is instantiated at the placement once its booking resolves, on a background thread so it doesn't stall your frame.

## Shared behaviour

The 3D component shares the common bxg settings — **Place Holder Id**, **Refresh Timeout**, and the visibility-tuning fields — with the 2D surface (see [Settings reference](/documentation/unity/settings-reference.md)). View-time is measured the same way: the SDK counts time while the object is in the player's view and not occluded, and reports it per booking.

## A note on fit

3D placements draw more attention than a flat poster, so they work best where a product naturally belongs in the scene. You place every one of them; nothing appears anywhere you didn't put a component. See [Staying in control](/documentation/reference/staying-in-control.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://brandsxgames.gitbook.io/documentation/unity/3d-placements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
