More Of Us Demo¶
Sample scene and prefabs for cross-promotion: a carousel of other apps from the same publisher, loaded from hosted JSON catalogs, with store URLs used as the install/open path on tap.
Scene overview¶
Typical location: IVX_MoreOfUs.unity (imported into Assets/Scenes/Tests/ via the SDK’s scene importer / consumer installer — see IVXSceneImporter and IVXConsumerAssetInstaller).
Core UI type: IntelliVerseX.MoreOfUs.UI.IVXMoreOfUsCanvas
Prefab names in tooling: IVXGMoreOfUsCanvas (Setup Wizard), Resources path IntelliVerseX/MoreOfUs/IVX_MoreOfUsCanvas used by IVXMoreOfUsCanvas.Create.
This sample demonstrates:
- Netflix-style horizontal carousel of app cards (
IVXAppCard). - Catalog fetch + cache — Android and iOS JSON merged in
IVXMoreOfUsManager. - Platform filtering — only the current store’s apps are listed on device builds; Editor follows active build target (Android vs iOS).
- Excluding the running app —
IVXUnifiedAppInfo.IsCurrentApp()comparesApplication.identifierto catalogbundleId. - Store deep links —
OpenStorePageraisesOnAppSelectedthen callsApplication.OpenURL(storeUrl)(Play Store / App Store URLs from JSON).
How games are listed¶
- Configuration —
IVXMoreOfUsConfigonIVXMoreOfUsManager(or default instance) sets: androidCatalogUrl/iosCatalogUrl— HTTP(S) endpoints returning catalog JSON.cacheDurationHours,enableOfflineCache,maxAppsToDisplay, animation timings, optional editor-onlyshowBothPlatformsInEditor.- Fetch —
IVXMoreOfUsManager.FetchCatalogdownloads both platform catalogs, maps entries toIVXUnifiedAppInfo, merges intoIVXMergedAppCatalog, persists cache to disk (ivx_app_catalog_cache.json), and firesOnCatalogLoaded. - UI population —
IVXMoreOfUsCanvaslistens forOnCatalogLoaded/OnLoadFailed, callsGetAppsForCurrentPlatform(), and instantiates cards up tomaxAppsToDisplay. - Icons —
LoadAppIcondeduplicates in-flight loads and fillsRawImagetextures on each card.
Platform support in builds
On Standalone / WebGL builds the feature is disabled for end users (empty list / panel logic). Android and iOS are first-class. The Editor enables the panel for testing with a log explaining simulated behavior.
“Deep link” configuration¶
In this module, “deep linking” means store listing URLs, not custom URI schemes:
| Field (unified model) | Meaning |
|---|---|
storeUrl | Play Store or App Store URL opened on card tap |
appId / bundleId | Package or bundle identifier; bundleId also drives IsCurrentApp() |
appIconUrl | Remote icon for the card |
Ensure your catalog JSON supplies correct playStoreUrl (Android) and App Store URLs (iOS model) so Application.OpenURL lands on the right listing.
For custom attribution or reward callbacks, subscribe to IVXMoreOfUsManager.OnAppSelected (or IVXMoreOfUsHelper.OnAppSelected) and record analytics before or after the store opens.
Key C# excerpts¶
Helper entry points¶
IVXMoreOfUsHelper (Assets/Intelli-verse-X-SDK/MoreOfUs/IVXMoreOfUsHelper.cs) wraps show/hide/toggle and optional preload:
Creating the canvas from code¶
Opening the store¶
public void OpenStorePage(IVXUnifiedAppInfo appInfo)
{
if (appInfo == null || string.IsNullOrEmpty(appInfo.storeUrl)) return;
OnAppSelected?.Invoke(appInfo);
Application.OpenURL(appInfo.storeUrl);
}
Scene / prefab setup¶
- Add
IVXMoreOfUsManagerto a bootstrap object (or rely on lazyInstancecreation — the manager can auto-create aDontDestroyOnLoadobject). - Assign or override
IVXMoreOfUsConfigURLs for your publisher’s catalogs. - Place
IVXMoreOfUsCanvas(orIVXGMoreOfUsCanvasprefab) in the scene or spawn it viaCreate()/IVXMoreOfUsHelper. - Use the SDK Setup Wizard More Of Us tab for guided prefab placement when working inside the Unity Editor.
How to run¶
- Import the More Of Us scene and prefabs if they are not already in the project.
- Set build target to Android or iOS (or stay in Editor with that target) so
GetAppsForCurrentPlatform()returns data. - Enter Play Mode; confirm catalog fetch logs and populated cards.
- Tap a card — the device should open the browser or store client for the configured URL.
Customization¶
- Card layout — Adjust spacing and animation in
IVXMoreOfUsCanvas/IVXAppCardand config fields (cardAnimationDuration,autoScrollInterval). - Catalog source — Point
androidCatalogUrl/iosCatalogUrlto your own JSON buckets (same schema as the default IntelliVerseX catalogs). - Styling — Treat the canvas as a starting layout; swap sprites, fonts, and colors to match your game (see Theming guide).