🔩Using the UE SDK
Create Ad Surfaces and Branded Object Placements in your Unreal Engine project.
Once the SDK is installed and synced, you can begin placing Smart Ads and Branded Objects in your Unreal scenes—then serve them during gameplay using Blueprint or C++.
🔄 Syncing Your Game Data
Open Window
→ ReneVerse API Editor
in Unreal.
Enter your API Key and Private Key from the Portal.
Click
Sync Data
.
You’ll now see foldouts for:
Ad Surfaces List
Branded Object List
Each entry includes metadata (e.g., ad type, ID) and a button to Add to Scene
.
🗂️ A
ReneVerse
folder will be added to your Content directory, including data assets and data tables. Keep this folder in the root.


🖼️ Placing Ad Surfaces
After selecting an Ad Surface from the list:
Click Add to Scene.
You can reposition, group, parent, or scale it like any other actor.
Types:
Plane Banner Ad – A flat 2D surface.
Decal Banner Ad – Projects onto geometry using a Decal Component.

🎲 Placing Branded Objects
Click Add to Scene on a Branded Object entry. You can:
Move or scale the actor.
Adjust the bounding box to define the object’s space.
When served, a 3D object will be loaded and scaled to fit the bounds.

⚙️ Serving Ads at Runtime
Once you have setup ad surfaces and object placements, it is easy to serve them at any point during the game's runtime.
🧩 Serving from Blueprint
There are multiple functions in ReneAPISubsystem that allow you to serve ads.
To batch-serve ads in your scene, you can call:
ServeAllAds()
— Serve and populate all Ad Surfaces and Branded Objects in your scene.ServeAdSurfaces()
— Serve all Ad Surfaces in scene.ServeBrandedObjects()
— Serve all Branded Objects in scene.

For granular control, you can serve a single ad, simply by passing the AdSurfaceId or BrandedObjectId to it. Other parameters are optional:
ServeAd(id)
— Serve a specific Ad Surface in scene.ServeBrandedObject(id)
— Serve a specific Branded Object in scene.

You can also get a reference to the actor and call ServeAd()
.

💻 Serving from C++
To use the ReneVerse SDK from C++, add ReneVerseSDK
as a module to your .Build.cs
file. Then:
using UnrealBuildTool;
public class YourAwesomeGame: ModuleRules
{
public YourAwesomeGame(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(
new string[]
{
"Core",
"CoreUObject",
"Engine",
"InputCore",
"EnhancedInput",
"ReneVerseSDK" // <--- add ReneVerseSDK to your moddules
});
}
}
Just like with blueprints, you can serve ads from your code with all the same functionality. Simple get ReneAPISubsystem and call the function that suits your needs:
Batch-serving
ServeAllAds()
— Serve and populate all Ad Surfaces and Branded Objects in your scene.ServeAdSurfaces()
— Serve all Ad Surfaces in scene.ServeBrandedObjects()
— Serve all Branded Objects in scene.
Single Serving
ServeAd(id)
— Serve a specific Ad Surface in scene.ServeBrandedObject(id)
— Serve a specific Branded Object in scene.
Or, as mentioned above, reference your desired actor and call ServeAd
:
// don't forget to include header
#include "ReneAPISubsystem.h"
UReneAPISubsystem* ReneAPISubsystem = Cast<UReneAPISubsystem>(GetWorld()->GetGameInstance());
if (ReneAPISubsystem)
{
// serve all ads in the scene
ReneAPISubsystem->ServeAllAds();
//serve all ad surfaces
ReneAPISubsystem->ServeAdSurfaces();
// serve all branded objects
ReneAPISubsystem->ServeBrandedObjects();
// serve one ad surface
FString AdSurfaceID;
ReneAPISubsystem->ServeAd(AdSurfaceID, "", "", "");
// serve one branded object
FString BrandedObjectPlacementID;
ReneAPISubsystem->ServeBrandedObject(BrandedObjectPlacementID, "", "");
// serving individual referenced ads
ABrandedObjectPlacement* BrandedObjectPlacement;
BrandedObjectPlacement->ServeAd();
APlaneBannerAd* PlaneBannerAd;
PlaneBannerAd->ServeAd();
ADecalBannerAd* DecalBannerAd;
DecalBannerAd->ServeAd();
}
🛑 Stop Serving Ads
To stop serving ads, call StopServingAllAds
— This works for Blueprint and C++.
Blueprint

C++
// stop serving
ReneAPI->StopServingAllAds();
// stop individual ads
BrandedObjectPlacement->StopServingAd();
PlaneBannerAd->StopServingAd();
DecalBannerAd->StopServingAd();
👤 ReneVerse Player Log-In
You can also allow players of your game to connect their ReneVerse account, made in the Portal.
Use Login(email, password)
from Blueprint or C++ to authenticate your player with ReneVerse services.
Blueprint

C++
ReneAPISubsystem->Login(Username, Password);
🎨 Working with Blueprints & Data Tables
As mentioned before, after your enter your API credentials, your project will have a new ReneVerse
folder that should be kept in the root of your Content
folder.
Within it, you'll have ReneAPIData
and Data Tables
where every Ad Surface and Branded Object created within the editor will be referenced.
DT_AdSurfaceDataTable
DT_BrandedObjDataTable

If you ever wish to modify a blueprint, you can create a child blueprint from BP_BannerAdSurface
or BP_BrandedObjectPlacement
.

Once created, simply select the Data Table you need — DT_AdSurfaceDataTable
for Ad Surfaces or DT_BrandedObjDataTable
for Branded Objects. Then select the row containing the Ad Surface or Branded Object ID you wish to serve.

🧹 Cleanup & Repair
If data seems out-of-sync or corrupted:
Click Cleanup and Update Ads in Scene in the ReneVerse Editor to refresh placements.
🛠️ Create, Edit, and Delete Ads from the SDK
You can manage ad assets directly from the ReneVerse Editor in Unreal, rather than having to log into the ReneVerse Portal.
🪄 Create Ads in Editor
Open Window → ReneVerse API Editor in Unreal.
Use Create New Ad Surface or Create New Branded Object Placement.

Then, configure the Ad Surface or Branded Object Placement as needed, and click Submit. Then you can add it to your scene.


✍️ Edit Ads in Editor or Details Panel
From the Editor
In the editor, open the Ad Surfaces List or Branded Object List to find your existing ad assets.
Select an item → click Edit Ad Surface or Edit Branded Object Placement → update fields → Submit.


From the Details Panel
Select your desired Ad Surface or Branded Object Placement in scene.
Under Details, find Edit Ad Surface or Edit Branded Object Placement → update fields → Submit.

🗑️ Delete Ads
Find the Ad Surface or Branded Object placement you want to remove in the ReneVerse Editor
Click Delete, confirm the action.
⚠️ Deleting removes all actors with that ID in the current scene. Wait for the confirmation popup to ensure success.

🌌Game Spaces
Ad surfaces and branded objects can be grouped into game spaces. This allows you to have finer control over the type of ads served for specific group of ad surfaces or branded object placements. Game spaces are not constrained by any theme and functionality, so you can use them for use that serves your use case. You can create Game space that represents entire map, sub section, certain theme etc.
To create Game space you can:
Open Window → ReneVerse API Editor in Unreal.
Click Create New Game Space
In the newly opened window, enter the name of the Game space and click Submit

You can see all Game spaces created for your project in the ReneVerse API Editor. To delete Game space, simply find space in the list and click Delete Game Space.

You can always assign ad surface or branded object placement to one or multiple Game spaces during the creation or update process. In the create or update form, for ad surface or branded object, select one or multiple Game spaces before submitting.

🎭Emotional tagging
One of the features that allows you more control is a way to tag your ad surface or branded object, so that it signifies in what moment the ad is displayed.
All ads when created are tagged as regular ads. But you can, during creation or when updating ad, tag them as ENHANCED. That means that the ad is visible during the event in your game that has higher emotional impact to the player, for example: victory in a multiplayer match, start of the boss fight, during in-game cutscene with important story reveal etc.

🧪 Ad Impression Debugging
Open Console using the ~
key. Enable debug view with the console command:
Debug.DrawTrackingData 1
It shows:
Screen coverage %
View angle
Occlusion checks
Use this to optimize ad placement and visibility.
🛠️Building the game
There is only one thing that should be taken into account during the build process of your game and that is that you should make sure that the /Game/ReneVerse/
folder is included into a build.
You can do that by following these steps:
Go to
Project Settings
->Project
->Packaging
.Under the main
Packaging
section (you might need to click the small triangle to expand advanced settings), find:Additional Asset Directories to Cook
and add the directory/Game/ReneVerse/
Package your build after changing these settings.
This will make sure that the all required data assets and data tables are packaged into you project and ready to be used by ReneVerseSDK.
Last updated