Page cover

🔩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 WindowReneVerse API Editor in Unreal.

  1. Enter your API Key and Private Key from the Portal.

  2. 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.

Ad Surface Data
Branded Object Placement Data

🖼️ 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.

Ad Surfaces: Planes & Decals

🎲 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.

Branded Object Placeholders

⚙️ 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.

Serve all ads (Ad Surfaces & Branded Objects) in the 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.

Serve ad by ID

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

Serve ads referenced in your blueprint

💻 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

Stop Serving Ads via 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

Player Authentication via 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

ReneVerse Folder in Content Directory

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.

Select your Data Table and then the Ad Surface or Branded Object ID.

🧹 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

  1. Open Window → ReneVerse API Editor in Unreal.

  2. Use Create New Ad Surface or Create New Branded Object Placement.

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

Create Ad Surface
Create Branded Object Placement

NOTE: You will need internet connection for this action to execute.


✍️ Edit Ads in Editor or Details Panel

From the Editor

  1. In the editor, open the Ad Surfaces List or Branded Object List to find your existing ad assets.

  2. Select an item → click Edit Ad Surface or Edit Branded Object Placement → update fields → Submit.

Edit Ad Surface from List in Editor
Edit Branded Object Placement from List in Editor

From the Details Panel

  1. Select your desired Ad Surface or Branded Object Placement in scene.

  2. Under Details, find Edit Ad Surface or Edit Branded Object Placement → update fields → Submit.

Edit Ad Surface or Branded Object from Details.

🗑️ Delete Ads

  1. Find the Ad Surface or Branded Object placement you want to remove in the ReneVerse Editor

  2. Click Delete, confirm the action.

⚠️ Deleting removes all actors with that ID in the current scene. Wait for the confirmation popup to ensure success.

Double check before clicking Confirm!

NOTE: All changes might take couple of seconds to apply, so wait for a confirmation notification to appear before continuing with other tasks.


🌌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:

  1. Open Window → ReneVerse API Editor in Unreal.

  2. Click Create New Game Space

  3. In the newly opened window, enter the name of the Game space and click Submit

Create game space window

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.

Changing emotional tag for ad surface

🧪 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