Mini Game Templates · Casual Pack
Pick-up-and-play casual templates with fast loops, configurable settings, level curves, and reusable UI patterns.
🏠 Overview
10 fully playable mini-games, each with boosters, achievements, reskin slots, a first-run tutorial, per-level difficulty scaling and light/dark theming — all driven by one shared runtime.
IMiniGame and is discovered automatically by reflection — no scene wiring, no prefab lists.Shared capabilities
⚙ How it works
This is a procedural-UI games template. Every game builds its own interface and logic in C# at runtime inside the RectTransform you give it — there are no hand-placed prefabs to wire up. The shipped demo scene is a pre-baked snapshot of that build, so you can inspect the full hierarchy without pressing Play; on Play it rebuilds itself and becomes fully interactive.
The Studio
Open Tools > Mini Game Templates > Studio for per-game tuning panels. Settings you edit are saved to ScriptableObject assets under Assets/MiniGameTemplates/Resources/Config/ and loaded by the games at runtime.
Customization at a glance
| What to change | Where to find it |
|---|---|
| Game rules / difficulty / dimensions | Studio, or the game's <Game>Settings asset |
| Per-level difficulty curve | Studio > game panel > Levels editor |
| Colours / overall look | MiniGameTheme asset, or the in-app DARK/LIGHT toggle |
| Game art (tiles, pieces, backgrounds…) | Reskin system — Tools > Mini Game Templates > Reskin Editor |
| Boosters offered | Each game's <Game>BoosterSpec.cs |
| Deeper layout / behaviour | The game's <Game>Game.cs build code |
⚡ Quick start
- Import
MiniGameTemplates-Casual.unitypackage. If Unity offers to import TMP Essentials, accept — the demo UI uses TextMeshPro. - Open
Assets/MiniGameTemplates/Demo/MiniGameTemplates_Casual.unity. The full demo is already baked into the scene. - Press Play — the dashboard lists every Casual game; pick, play, and try the boosters and cheat rail.
- Open Tools > Mini Game Templates > Studio and tune any game's settings.
- (Optional) Open Tools > HLK > Guided Setup to configure the bundled LiveOps kit — ads, IAP, notifications, rate-us and more (see the LiveOps Kit section).
- To ship a single game inside your own UI, use the
IMiniGamecontract:
IMiniGame game = new BubbleShooterGame();
game.Mount(hostRect, context); // context : IMiniGameContext
// ... later, when done:
game.Unmount();
IMiniGameContext (theme, audio, save, events, wallet, score) — copy it or implement the interface with your own services.🛠 Architecture
The IMiniGame contract
public interface IMiniGame {
string Id { get; } // stable snake_case id, e.g. "casual_bubble_shooter"
string DisplayName { get; }
string Category { get; }
string ShortDescription { get; }
void Mount(RectTransform host, IMiniGameContext ctx);
void Unmount();
void NewRound();
IEnumerable<CheatAction> GetCheatActions();
}
Auto-discovery
| Registry | Discovers | Convention |
|---|---|---|
MiniGameRegistry | IMiniGame classes with a [MiniGame] attribute | one per game |
| Booster registry | IBoosterSpec implementations | <Game>BoosterSpec.cs |
| Achievement registry | IAchievementSpec implementations | <Game>AchievementSpec.cs |
| Reskin registry | IReskinSpec implementations | <Game>ReskinSpec.cs |
| Tutorial registry | ITutorialSpec implementations | <Game>TutorialSpec.cs |
Per-game folder layout
Assets/MiniGameTemplates/Runtime/Casual/<Game>/
<Game>Game.cs // gameplay + procedural UI
<Game>Settings.cs // ScriptableObject settings (+ static Default)
<Game>BoosterSpec.cs // booster definitions
<Game>AchievementSpec.cs // achievement definitions
<Game>ReskinSpec.cs // reskinnable sprite slots
<Game>TutorialSpec.cs // first-run walkthrough steps
Runtime flow
Mount(host, ctx) → NewRound() → player input loop → RoundWon / RoundLost event → NewRound() or Unmount()
🎮 Bubble Shooter
Aim and shoot — pop chains of three or more same-colour bubbles.
How to play
- Aim with the cursor — tap anywhere on the board to fire.
- Match 3+ same-colour bubbles to pop the cluster. Bombs and rainbows give you a leg up.
Boosters
| Booster | Key | Effect |
|---|---|---|
| Bomb Shot | force_bomb | Replace the current bubble with a bomb. |
| Rainbow Shot | force_rainbow | Replace the current bubble with a rainbow that matches any colour. |
| Auto-Aim | aim | Automatically aims at the best target and fires for you. |
Achievements
| Achievement | Goal | Reward |
|---|---|---|
| Pop! Clear your first board. | 1 | — |
| Sharp Shooter Win 10 Bubble Shooter rounds. | 10 | 150 coins |
| Combo Hero Pop 5 clusters in a row without missing. | 5 | 100 coins |
| Bomb Squad Detonate 10 bomb bubbles. | 10 | 150 coins |
Reskin slots
bubble bomb rainbow shooter_base background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.
Configurable settings
| Setting | Default | What it does |
|---|---|---|
Columns | 8 | — |
InitialRows | 5 | — |
Colours | 5 | — |
MinPopChain | 3 | — |
LoseAtRow | 13 | — |
ShotSpeed | 950f | — |
BombChance | 0.06f | — |
RainbowChance | 0.05f | — |
StoneChance | 0.05f | — |
CrackedChance | 0.10f | — |
🎮 Maze
Navigate the procedurally generated maze to the goal.
How to play
- Tap a pulsing arrow (or swipe / use arrow keys) to start moving. You travel until the next decision point.
- Reach the green goal to solve the maze. The yellow trail shows your committed path — backtracking erases it.
Boosters
| Booster | Key | Effect |
|---|---|---|
| Reveal Path | reveal | Briefly highlight the path to the goal. |
| Speed Dash | dash | Doubles your travel speed for 5 seconds. |
| Break Wall | breakwall | Pass through the next wall in your way. |
Achievements
| Achievement | Goal | Reward |
|---|---|---|
| First Solve Solve your first maze. | 1 | — |
| Pathfinder Solve 15 mazes. | 15 | 150 coins |
| Speed Runner Solve a maze in under 30 seconds. | 1 | 100 coins |
| Efficient Solve a maze in 30 moves or fewer. | 1 | 100 coins |
Reskin slots
player goal wall floor background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.
Configurable settings
| Setting | Default | What it does |
|---|---|---|
Width | 11 | — |
Height | 11 | — |
TimeLimit | 0 | — |
🎮 Snake
Classic snake — eat food, grow, don't crash.
How to play
- Use the D-pad or your WASD/arrow keys to steer the snake.
- Eat apples to grow. Don't crash into yourself or the walls!
Boosters
| Booster | Key | Effect |
|---|---|---|
| Slow Time | slow | Halves snake speed for 5 seconds. |
| Phase Ghost | ghost | Pass through your own body for 5 seconds. |
| Apple Magnet | magnet | Teleports the apple a few cells from your head. |
Achievements
| Achievement | Goal | Reward |
|---|---|---|
| First Bite Eat your first apple. | 1 | — |
| Long Tail Reach length 20. | 20 | 150 coins |
| Apple Picker Eat 100 apples across all rounds. | 100 | 200 coins |
| Survivor Score 500 in a single round. | 500 | 100 coins |
Reskin slots
head body apple background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.
Configurable settings
| Setting | Default | What it does |
|---|---|---|
GridSize | 14 | — |
Speed | 6f | — |
WrapEdges | true | Wrap around edges instead of dying. Default ON — walls are an opt-in challenge mode. |
Movement | SnakeMovementStyle.Smooth | Snappy = classic per-tick jumps. Smooth = visual segments slide between cells (turns still grid-aligned). |
Visual | SnakeVisualStyle.Modern | Modern = rounded segments + eyes/tongue + apple with stem & leaf. Classic = plain coloured squares. |
🎮 Memory Match
Flip pairs of cards to find matching icons.
How to play
- Tap a card to flip it face-up.
- Find the pair with the matching icon. Chain matches without a miss for streak bonuses.
Boosters
| Booster | Key | Effect |
|---|---|---|
| Peek | peek | Reveal every face for 1 second. |
| Pair Hint | hint_pair | Highlight a still-unmatched pair on the board. |
| Auto-Match | auto_match | Instantly resolves one matching pair. |
Achievements
| Achievement | Goal | Reward |
|---|---|---|
| First Pair Complete your first board. | 1 | — |
| Memory Master Complete 10 boards. | 10 | 150 coins |
| Streak King Match 5 pairs in a row without a miss. | 5 | 150 coins |
| Perfect Recall Solve a board without a single mismatch. | 1 | 200 coins |
Reskin slots
card_back card_face background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.
Configurable settings
| Setting | Default | What it does |
|---|---|---|
Pairs | 8 | — |
PeekTime | 0.7f | — |
🎮 Cups and Balls
Track the ball through a series of cup swaps.
How to play
- Watch the ball before the cups start swapping.
- Track the cup hiding it through the shuffle, then tap that cup.
Boosters
| Booster | Key | Effect |
|---|---|---|
| Slow Shuffle | slow_shuffle | Halves the speed of every swap in this round. |
| Peek | peek | Briefly glow the cup hiding the ball after the shuffle. |
Achievements
| Achievement | Goal | Reward |
|---|---|---|
| First Find Pick the right cup. | 1 | — |
| Eagle Eye Pick correctly 5 times in a row. | 5 | 150 coins |
| Master Magician Win 20 rounds. | 20 | 250 coins |
Reskin slots
cup ball background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.
Configurable settings
| Setting | Default | What it does |
|---|---|---|
CupCount | 3 | — |
Shuffles | 8 | — |
SwapDuration | 0.225f | — |
PeekDuration | 1.2f | — |
🎮 2048
Slide tiles, merge same numbers, reach 2048.
How to play
- Swipe the board (or use the D-pad / arrow keys) to slide every tile.
- Tiles with the same number merge. Reach 2048 to win!
Boosters
| Booster | Key | Effect |
|---|---|---|
| Undo Move | undo | Revert the last slide. |
| Smash Tile | smash | Tap to delete one tile from the board. |
| Shuffle | shuffle | Re-arrange every tile to a random cell. |
Achievements
| Achievement | Goal | Reward |
|---|---|---|
| Tile 256 Merge to a 256 tile. | 256 | — |
| Tile 512 Merge to a 512 tile. | 512 | 75 coins |
| Tile 1024 Merge to a 1024 tile. | 1024 | 150 coins |
| Tile 2048 Merge to the legendary 2048 tile! | 2048 | 500 coins |
Reskin slots
tile cell_empty background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.
Configurable settings
| Setting | Default | What it does |
|---|---|---|
GridSize | 4 | — |
WinTile | 2048 | Tile value that triggers a win (2048 by default). |
🎮 Brick Balls
Aim, fire a stream of balls, smash numbered bricks before they reach the bottom.
How to play
- Aim with the cursor — a dotted line shows where your ball will travel.
- Tap to fire your salvo. Each ball bounces off walls and chips one HP off any brick it hits.
- Pick up the white circles to grow your ball count. Bricks descend each turn — don't let them reach the bottom.
Boosters
| Booster | Key | Effect |
|---|---|---|
| Extra Balls | extra_balls | Add +5 balls to your salvo for the next shot. |
| Long Aim | aim_assist | Show the full bouncing trajectory for the next shot. |
| Bomb Shot | bomb_shot | Replace the next ball with a splash bomb that detonates a 3x3 area on first impact. |
| Hold The Line | freeze_row | Skip the next row descend — bricks stay where they are this turn. |
Achievements
| Achievement | Goal | Reward |
|---|---|---|
| First Strike Clear your first Brick Balls round. | 1 | — |
| Brick Bruiser Destroy 100 bricks across all rounds. | 100 | 150 coins |
| Ball Hoarder Reach 50 balls in your salvo in a single round. | 50 | 100 coins |
| Bomb Squad Detonate 10 bomb bricks. | 10 | 150 coins |
| Survivor Clear 10 Brick Balls rounds. | 10 | 200 coins |
| High Scorer Reach 5,000 points in a single round. | 5000 | 150 coins |
Reskin slots
ball block pickup bomb_block shooter_base background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.
Configurable settings
| Setting | Default | What it does |
|---|---|---|
Cols | 7 | — |
Rows | 9 | — |
DangerRow | 8 | — |
StartingBalls | 1 | — |
BallSpeed | 1100f | — |
ShotInterval | 0.06f | — |
BlockHpBase | 2 | — |
RowFillChance | 0.65f | — |
PickupFraction | 0.18f | — |
BombFraction | 0.06f | — |
RowArrowFraction | 0.04f | — |
ColArrowFraction | 0.04f | — |
HitDropPickupChance | 0.0f | — |
🎮 Tic Tac Toe
Three in a row vs an AI opponent.
How to play
- You play X. Tap an empty cell to place your mark.
- Get three in a row (horizontal, vertical, or diagonal) before the AI does.
Boosters
| Booster | Key | Effect |
|---|---|---|
| Best Move | hint | Highlights the optimal cell to play next. |
| Undo | undo | Take back your last move (and the AI's). |
Achievements
| Achievement | Goal | Reward |
|---|---|---|
| First Win Beat the AI once. | 1 | — |
| Strategist Win 10 games. | 10 | 150 coins |
| Unbeatable Win 5 games in a row. | 5 | 250 coins |
Reskin slots
mark_x mark_o cell background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.
Configurable settings
| Setting | Default | What it does |
|---|---|---|
Difficulty | TicTacToeDifficulty.Medium | — |
PlayerStarts | true | If true, the player goes first (X). Otherwise the AI starts (O). |
🎮 Whack-a-Mole
Whack the moles before they pop back down.
How to play
- Tap moles the moment they pop up.
- Misses cost points. Golden moles pay 3× — go for them first!
Boosters
| Booster | Key | Effect |
|---|---|---|
| Slow Moles | slow | Slows the spawn / hide rate for 6 seconds. |
| Double Score | score2x | Doubles points earned for 6 seconds. |
| Auto-Whack | multi | Auto-whacks the next 3 moles that pop up. |
Achievements
| Achievement | Goal | Reward |
|---|---|---|
| First Whack Complete a Whack-a-Mole round. | 1 | — |
| Mole Master Hit 50 moles in a single round. | 50 | 150 coins |
| Golden Eye Hit 5 golden moles. | 5 | 200 coins |
| Combo Whacker Hit 8 moles in a row without a miss. | 8 | 150 coins |
Reskin slots
mole hole mallet background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.
Configurable settings
| Setting | Default | What it does |
|---|---|---|
Cols | 3 | — |
Rows | 3 | — |
RoundSeconds | 45 | — |
MoleStayDuration | 1.0f | — |
StartSpawnInterval | 1.0f | — |
EndSpawnInterval | 0.4f | — |
🎮 Match-3
Swap adjacent gems to make rows/columns of 3+.
How to play
- Drag a gem onto a neighbour to swap them.
- Match 3 or more in a row or column to clear them. 4-in-a-row makes a striped candy, 5-in-a-row makes a colour bomb!
Boosters
| Booster | Key | Effect |
|---|---|---|
| Hammer | hammer | Tap any single gem on the board to smash it. |
| Shuffle | shuffle | Re-scramble the entire board. |
| Drop a Bomb | bomb | Spawn a colour-bomb candy at a random cell. |
| More play | clock | Add ten seconds to the clock — or five moves in move-limited mode. |
Achievements
| Achievement | Goal | Reward |
|---|---|---|
| First Match Win your first Match-3 round. | 1 | — |
| Match Master Win 25 Match-3 rounds. | 25 | 200 coins |
| High Scorer Reach 3,000 points in a single round. | 3000 | 100 coins |
| Cascade Master Trigger a 5-deep chain cascade. | 5 | 150 coins |
Reskin slots
gem background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.
Configurable settings
| Setting | Default | What it does |
|---|---|---|
Cols | 7 | — |
Rows | 7 | — |
Colours | 5 | — |
RoundSeconds | 90 | — |
ScoreTarget | 1000 | — |
MoveLimit | 0 | — |
💥 Boosters
Per-game power-ups with persistent counts and refund safety, auto-discovered from each game's <Game>BoosterSpec.cs. The demo dashboard renders them as the bottom booster bar.
Activating a booster
bool OnBoosterActivated(string key) {
if (_ended || _busy) return false; // returning false REFUNDS the charge
switch (key) { /* per-key effects */ }
return false; // unknown key -> refund
}
false from the handler refunds the booster — use it whenever the activation can't proceed. Returning true deducts the charge.Award boosters programmatically with BoosterManager.Add(gameId, key, count).
Full booster catalogue
| Game | Booster keys |
|---|---|
| Bubble Shooter | force_bomb force_rainbow aim |
| Maze | reveal dash breakwall |
| Snake | slow ghost magnet |
| Memory Match | peek hint_pair auto_match |
| Cups and Balls | slow_shuffle peek |
| 2048 | undo smash shuffle |
| Brick Balls | extra_balls aim_assist bomb_shot freeze_row |
| Tic Tac Toe | hint undo |
| Whack-a-Mole | slow score2x multi |
| Match-3 | hammer shuffle bomb clock |
🏆 Achievements
Progression goals per game, defined in <Game>AchievementSpec.cs and tracked persistently by AchievementManager. Unlocks pop a toast card over the game and auto-credit any coin reward. Each game's own goals are listed in its section above.
Reset helpers for testing: AchievementManager.ResetForGame(gameId) and AchievementManager.ResetAll() (also exposed in the demo's cheat rail).
🎨 Reskins
Drop in your own art per slot, per game — no code required. Open Tools > Mini Game Templates > Reskin Editor, pick a game, and assign an image per slot. Art is copied to Resources/Reskin/<gameId>/<slot>.png and imported as a Sprite automatically. In-game, the Skin pill toggles between Default and Custom art.
Per-game slot list
| Game | Slots |
|---|---|
| Bubble Shooter | bubble bomb rainbow shooter_base background |
| Maze | player goal wall floor background |
| Snake | head body apple background |
| Memory Match | card_back card_face background |
| Cups and Balls | cup ball background |
| 2048 | tile cell_empty background |
| Brick Balls | ball block pickup bomb_block shooter_base background |
| Tic Tac Toe | mark_x mark_o cell background |
| Whack-a-Mole | mole hole mallet background |
| Match-3 | gem background |
Skin: —.🎯 Tutorials
First-run overlay walkthroughs, defined declaratively in <Game>TutorialSpec.cs as an ordered list of captioned spotlight steps. Each shows once per game's first session and can be replayed from the demo's cheat rail. Reset with TutorialManager.Reset(gameId).
📈 Level scaling
Per-game difficulty progression — auto-generated out of the box, fully editable in the Studio.
int level = LevelManager.GetCurrent(gameId); // player's current level
var diff = LevelManager.GetDifficultyForCurrent(gameId);
float mult = diff.Get("difficulty", 1f); // ramp targets / timers / AI
The Studio's Levels editor can regenerate a curve (level count, start/end difficulty) or hand-edit individual levels; edits are saved as a LevelSet asset under Resources/Config/Levels/<gameId>.asset. Reset progress with LevelManager.ResetProgress(gameId).
🌙 Light & dark mode
One toggle re-themes the whole scene — chrome and every game. Games read every colour from ctx.Theme, a MiniGameTheme asset that carries both palettes:
theme.ApplyMode(light: true); // swap palettes
bool isLight = theme.IsLightMode;
The demo dashboard's header has a DARK / LIGHT pill; the choice persists between sessions (default: dark). Both palettes are contrast-checked — panel/text/accent pairings stay readable in either mode.
ctx.Theme (Accent, TextPrimary, PanelBackground, …) rather than hardcoding, and your changes work in both modes.🎁 LiveOps Kit (bundled)
The full HyperCasual LiveOps Kit is included in this pack — no stripping, nothing to buy on top. It provides the production meta-game layer around the games:
How it is hooked up in this demo
- Vibrations: every game's sound events (taps, wins, errors) fire matching haptics through the kit automatically.
- Rewarded ad: winning a round with a coin reward offers a “Watch Ad” doubler; completing the (mock) ad credits the bonus.
- Interstitial: auto-shows after every 3rd round (skipped after a No-Ads purchase).
- Banner + shop: the cheat rail's Ads & IAP section toggles the banner and opens the simulated IAP shop (Coin Pack, No Ads, Starter Bundle) through the kit's store backend.
Setup & going live
- Everything works out of the box in the editor with mock/dummy backends — no SDKs required, nothing to configure for the demo.
- Open Tools > HLK > Open Toolset (or Tools > HLK > Guided Setup) to configure ad units, IAP products, notifications, rate-us and the rest.
- To go live, install the SDKs you want (e.g. AdMob, Unity Ads, Firebase) — the kit detects them automatically via scripting defines (
HLK_ADMOB,HLK_UNITY_ADS,HLK_FIREBASE, …) and switches from mock to real backends.
Full kit documentation: Assets/MiniGameTemplates/HyperCasualLiveOpsKit/Documentation/HLK-Documentation.html (also listed under Tools > Mini Game Templates > Welcome > Open Documentation).
➕ Add to your project
Path A — use the bundled demo dashboard
Add Assets/MiniGameTemplates/Demo/MiniGameTemplates_Casual.unity to your build settings. It auto-discovers every imported game and provides the picker, HUD, boosters, achievements and theming out of the box.
Path B — embed a single game in your own UI
IMiniGame game = new BubbleShooterGame();
game.Mount(hostRect, context); // your IMiniGameContext implementation
// ...
game.Unmount(); // ALWAYS unmount before destroying the host
Listening to events
ctx.Events.Subscribe(GameEvents.RoundWon, payload => { /* celebrate */ });
ctx.Events.Subscribe(GameEvents.RoundLost, payload => { /* retry UI */ });
ctx.Events.Subscribe(GameEvents.ScoreChanged, payload => { /* HUD */ });
Unmount(). Games run coroutines and tweens; failing to unmount before destroying the host leaves them running on destroyed transforms.⚙ Customizing
Override default settings
Each game reads a ScriptableObject settings asset (see each game's Configurable settings table above). Create one via Create > Mini Game Templates > Casual, drop it in Resources/Config/, or mutate <Game>Settings.Default at runtime before mounting.
Boosters: add / remove / rebalance
- Remove: delete the
BoosterDeffrom the game's spec. - Add: append a
BoosterDefand handle its key in the game's booster handler. - Grant:
BoosterManager.Add(gameId, key, count).
Audio
Games call ctx.Audio.Play(SfxKind.…). The bundled ProceduralAudioBus synthesizes all SFX at runtime — no audio files to manage; swap in your own IAudioBus to use recorded audio.
🧰 Adding new games
- Create
Assets/MiniGameTemplates/Runtime/Casual/MyGame/. - Add
MyGameGame.csimplementingIMiniGame, decorated with[MiniGame("…", "My Game", Category = MiniGameCategory.Casual)]. - Add
MyGameSettings(optional) with a staticDefaultgetter. - Add the spec files —
MyGameBoosterSpec,MyGameAchievementSpec,MyGameReskinSpec,MyGameTutorialSpec— all auto-discovered. - Done: the dashboard and Studio list your game automatically. No edits to existing files.
💡 Troubleshooting
Text is invisible / fonts look broken
Import TMP Essentials: Window > TextMeshPro > Import TMP Essential Resources. The demo UI uses TextMeshPro's default font.
My game doesn't show up in the dashboard
Check it implements IMiniGame, carries the [MiniGame] attribute, and its assembly references MiniGameTemplates.Core.
A booster button does nothing when pressed
The booster's key must exactly match a case in the game's booster handler — unknown keys refund silently by design.
Tutorials replay every time I press Play in the editor
The "seen" flag is stored per game id in PlayerPrefs; clearing PlayerPrefs resets it. Replay on demand from the cheat rail instead.
Reskin sprites don't apply
Import the art through Tools > Mini Game Templates > Reskin Editor (it handles the copy + import settings), then flip the in-game Skin pill to Custom.
Coroutine errors about destroyed RectTransforms when switching games
Call Unmount() before destroying the host. The unmount path stops the game's coroutines and tweens.
Ads say “SIMULATED” / no real ads show
By design: without an ad SDK installed the kit uses its mock backend, which draws clearly-labelled placeholder ads so every flow is testable. Install a real provider (e.g. AdMob via its package) and the kit switches to it automatically — see the LiveOps Kit section.
Where do I report a bug?
Email satisvizion@gmail.com with your Unity version, target platform, the game id (e.g. casual_bubble_shooter), steps to reproduce, and the console log.
📬 Support & review
Get in touch: satisvizion@gmail.com — bug reports, feature requests, integration help and game requests for future updates are all welcome. Typical response time is 24–48 hours.
Before contacting, it helps to: check Troubleshooting above, open the demo scene to verify the game runs there, and copy any Console errors. Include your Unity version, render pipeline, target platform and the game id.