> 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/unreal-engine/your-first-ad-surface.md).

# Your first ad surface

This is the part the whole integration is really about, and it's short. With the plugin enabled and your project key set ([installation](/documentation/unreal-engine/installation.md)), adding a 2D surface is a matter of seconds. For 3D product placements, see [3D product placements](/documentation/unreal-engine/3d-placements.md).

## The fastest path

1. In the **Place Actors** panel (or the Content Browser, under the bxgSDK plugin), find an **AdFaceActor** surface. Use the variant that matches the shape you want:
   * **AdFaceActorPlane** — a ready-made flat surface, good for posters and billboards.
   * **AdFaceActor1\_1** — square (1:1).
   * **AdFaceActor2\_3** — portrait (2:3).
   * **AdFaceActor3\_2** — landscape (3:2). Picking the right aspect ratio means creatives sit on the surface without distortion.
2. Drag it into your level and position, rotate, and scale it like any other actor until it sits where you want the ad — on a wall, beside a road, on a shelf.
3. In the actor's **Details** panel, find the **bxg** category and set **Slot Id** to the slot we gave you (it defaults to `myfirstslot`).
4. Press Play.

The surface fetches its currently booked creative and displays it. That's the whole loop.

## Setting a fallback

Before you ship, assign a **Fallback Texture** in the same **bxg** category. This is what the surface shows when there's no active campaign or the player is offline. It guarantees the surface always looks intentional — your own art, a neutral placeholder, whatever you choose — never blank. This is the one setting we recommend you never skip.

## Using your own mesh and material

The provided actors come with a working surface out of the box, so you can ignore this section to start. When you want the ad to live on your own geometry (a custom billboard model, a specific in-world object):

* Point the actor's mesh at your **Ad Mesh** (a Static Mesh Component).
* Set **Base Material** to a material that has a texture parameter the SDK can write the creative into.
* If that parameter isn't named `TextureParameter`, set **Texture Parameter** to its name, and **Material Index** to the material slot on the mesh that should receive the ad.

At runtime the SDK creates a dynamic instance of that material and writes the booked creative into the texture parameter — it doesn't permanently alter your source material asset.

## Repeat as needed

Every additional placement is the same few steps: drag in, position, set a slot. There's no per-placement integration work and no new code. When you're ready to fine-tune behaviour — in-session rotation, transition effects — see [Refresh, fallbacks & Blueprint hooks](/documentation/unreal-engine/advanced.md), and [Settings reference](/documentation/unreal-engine/settings-reference.md) for every option.


---

# 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/unreal-engine/your-first-ad-surface.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.
