Mini Game Templates · Casual Pack

Pick-up-and-play casual templates with fast loops, configurable settings, level curves, and reusable UI patterns.

Unity 6000.0.62f1+10 games30 boosters40 achievementsLiveOps Kit bundled

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

Bubble ShooterAim and shoot — pop chains of three or more same-colour bubbles.
MazeNavigate the procedurally generated maze to the goal.
SnakeClassic snake — eat food, grow, don't crash.
Memory MatchFlip pairs of cards to find matching icons.
Cups and BallsTrack the ball through a series of cup swaps.
2048Slide tiles, merge same numbers, reach 2048.
Brick BallsAim, fire a stream of balls, smash numbered bricks before they reach the bottom.
Tic Tac ToeThree in a row vs an AI opponent.
Whack-a-MoleWhack the moles before they pop back down.
Match-3Swap adjacent gems to make rows/columns of 3+.
One contract, 10 implementations. Every game implements IMiniGame and is discovered automatically by reflection — no scene wiring, no prefab lists.

Shared capabilities

💥 BoostersPer-game power-ups with persistent counts and refund safety.
🏆 AchievementsProgression goals per game, tracked persistently, with coin rewards.
🎨 ReskinsDrop in your own art per slot, per game — no code required.
🎯 TutorialsFirst-run overlay walkthroughs, defined declaratively per game.
📈 Level scalingAuto-generated difficulty curves, editable in the Studio.
🌙 Light & darkOne toggle re-themes the chrome and every game.
🎁 LiveOps Kit bundledAds, IAP, haptics, rate-us, notifications and more — the full HyperCasual LiveOps Kit ships in this pack.

⚙ 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 changeWhere to find it
Game rules / difficulty / dimensionsStudio, or the game's <Game>Settings asset
Per-level difficulty curveStudio > game panel > Levels editor
Colours / overall lookMiniGameTheme asset, or the in-app DARK/LIGHT toggle
Game art (tiles, pieces, backgrounds…)Reskin system — Tools > Mini Game Templates > Reskin Editor
Boosters offeredEach game's <Game>BoosterSpec.cs
Deeper layout / behaviourThe game's <Game>Game.cs build code
Heads-up: because the UI is procedural, customization happens through data (settings assets, theme, reskins) rather than dragging things around a scene. The data-driven path covers day-to-day tweaks; source access covers the rest.

⚡ Quick start

  1. Import MiniGameTemplates-Casual.unitypackage. If Unity offers to import TMP Essentials, accept — the demo UI uses TextMeshPro.
  2. Open Assets/MiniGameTemplates/Demo/MiniGameTemplates_Casual.unity. The full demo is already baked into the scene.
  3. Press Play — the dashboard lists every Casual game; pick, play, and try the boosters and cheat rail.
  4. Open Tools > Mini Game Templates > Studio and tune any game's settings.
  5. (Optional) Open Tools > HLK > Guided Setup to configure the bundled LiveOps kit — ads, IAP, notifications, rate-us and more (see the LiveOps Kit section).
  6. To ship a single game inside your own UI, use the IMiniGame contract:
IMiniGame game = new BubbleShooterGame();
game.Mount(hostRect, context);   // context : IMiniGameContext
// ... later, when done:
game.Unmount();
Tip: the demo scene's dashboard is a complete reference implementation of 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

RegistryDiscoversConvention
MiniGameRegistryIMiniGame classes with a [MiniGame] attributeone per game
Booster registryIBoosterSpec implementations<Game>BoosterSpec.cs
Achievement registryIAchievementSpec implementations<Game>AchievementSpec.cs
Reskin registryIReskinSpec implementations<Game>ReskinSpec.cs
Tutorial registryITutorialSpec 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
Modular by design. Delete any single game's folder and the rest keep working. Add a new game by mirroring the layout — no edits to any other file required.

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

  1. Aim with the cursor — tap anywhere on the board to fire.
  2. Match 3+ same-colour bubbles to pop the cluster. Bombs and rainbows give you a leg up.

Boosters

BoosterKeyEffect
Bomb Shotforce_bombReplace the current bubble with a bomb.
Rainbow Shotforce_rainbowReplace the current bubble with a rainbow that matches any colour.
Auto-AimaimAutomatically aims at the best target and fires for you.

Achievements

AchievementGoalReward
Pop!
Clear your first board.
1
Sharp Shooter
Win 10 Bubble Shooter rounds.
10150 coins
Combo Hero
Pop 5 clusters in a row without missing.
5100 coins
Bomb Squad
Detonate 10 bomb bubbles.
10150 coins

Reskin slots

bubble bomb rainbow shooter_base background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.

Configurable settings

SettingDefaultWhat it does
Columns8
InitialRows5
Colours5
MinPopChain3
LoseAtRow13
ShotSpeed950f
BombChance0.06f
RainbowChance0.05f
StoneChance0.05f
CrackedChance0.10f

↑ Back to top

🎮 Maze

Navigate the procedurally generated maze to the goal.

How to play

  1. Tap a pulsing arrow (or swipe / use arrow keys) to start moving. You travel until the next decision point.
  2. Reach the green goal to solve the maze. The yellow trail shows your committed path — backtracking erases it.

Boosters

BoosterKeyEffect
Reveal PathrevealBriefly highlight the path to the goal.
Speed DashdashDoubles your travel speed for 5 seconds.
Break WallbreakwallPass through the next wall in your way.

Achievements

AchievementGoalReward
First Solve
Solve your first maze.
1
Pathfinder
Solve 15 mazes.
15150 coins
Speed Runner
Solve a maze in under 30 seconds.
1100 coins
Efficient
Solve a maze in 30 moves or fewer.
1100 coins

Reskin slots

player goal wall floor background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.

Configurable settings

SettingDefaultWhat it does
Width11
Height11
TimeLimit0

↑ Back to top

🎮 Snake

Classic snake — eat food, grow, don't crash.

How to play

  1. Use the D-pad or your WASD/arrow keys to steer the snake.
  2. Eat apples to grow. Don't crash into yourself or the walls!

Boosters

BoosterKeyEffect
Slow TimeslowHalves snake speed for 5 seconds.
Phase GhostghostPass through your own body for 5 seconds.
Apple MagnetmagnetTeleports the apple a few cells from your head.

Achievements

AchievementGoalReward
First Bite
Eat your first apple.
1
Long Tail
Reach length 20.
20150 coins
Apple Picker
Eat 100 apples across all rounds.
100200 coins
Survivor
Score 500 in a single round.
500100 coins

Reskin slots

head body apple background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.

Configurable settings

SettingDefaultWhat it does
GridSize14
Speed6f
WrapEdgestrueWrap around edges instead of dying. Default ON — walls are an opt-in challenge mode.
MovementSnakeMovementStyle.SmoothSnappy = classic per-tick jumps. Smooth = visual segments slide between cells (turns still grid-aligned).
VisualSnakeVisualStyle.ModernModern = rounded segments + eyes/tongue + apple with stem & leaf. Classic = plain coloured squares.

↑ Back to top

🎮 Memory Match

Flip pairs of cards to find matching icons.

How to play

  1. Tap a card to flip it face-up.
  2. Find the pair with the matching icon. Chain matches without a miss for streak bonuses.

Boosters

BoosterKeyEffect
PeekpeekReveal every face for 1 second.
Pair Hinthint_pairHighlight a still-unmatched pair on the board.
Auto-Matchauto_matchInstantly resolves one matching pair.

Achievements

AchievementGoalReward
First Pair
Complete your first board.
1
Memory Master
Complete 10 boards.
10150 coins
Streak King
Match 5 pairs in a row without a miss.
5150 coins
Perfect Recall
Solve a board without a single mismatch.
1200 coins

Reskin slots

card_back card_face background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.

Configurable settings

SettingDefaultWhat it does
Pairs8
PeekTime0.7f

↑ Back to top

🎮 Cups and Balls

Track the ball through a series of cup swaps.

How to play

  1. Watch the ball before the cups start swapping.
  2. Track the cup hiding it through the shuffle, then tap that cup.

Boosters

BoosterKeyEffect
Slow Shuffleslow_shuffleHalves the speed of every swap in this round.
PeekpeekBriefly glow the cup hiding the ball after the shuffle.

Achievements

AchievementGoalReward
First Find
Pick the right cup.
1
Eagle Eye
Pick correctly 5 times in a row.
5150 coins
Master Magician
Win 20 rounds.
20250 coins

Reskin slots

cup ball background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.

Configurable settings

SettingDefaultWhat it does
CupCount3
Shuffles8
SwapDuration0.225f
PeekDuration1.2f

↑ Back to top

🎮 2048

Slide tiles, merge same numbers, reach 2048.

How to play

  1. Swipe the board (or use the D-pad / arrow keys) to slide every tile.
  2. Tiles with the same number merge. Reach 2048 to win!

Boosters

BoosterKeyEffect
Undo MoveundoRevert the last slide.
Smash TilesmashTap to delete one tile from the board.
ShuffleshuffleRe-arrange every tile to a random cell.

Achievements

AchievementGoalReward
Tile 256
Merge to a 256 tile.
256
Tile 512
Merge to a 512 tile.
51275 coins
Tile 1024
Merge to a 1024 tile.
1024150 coins
Tile 2048
Merge to the legendary 2048 tile!
2048500 coins

Reskin slots

tile cell_empty background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.

Configurable settings

SettingDefaultWhat it does
GridSize4
WinTile2048Tile value that triggers a win (2048 by default).

↑ Back to top

🎮 Brick Balls

Aim, fire a stream of balls, smash numbered bricks before they reach the bottom.

How to play

  1. Aim with the cursor — a dotted line shows where your ball will travel.
  2. Tap to fire your salvo. Each ball bounces off walls and chips one HP off any brick it hits.
  3. Pick up the white circles to grow your ball count. Bricks descend each turn — don't let them reach the bottom.

Boosters

BoosterKeyEffect
Extra Ballsextra_ballsAdd +5 balls to your salvo for the next shot.
Long Aimaim_assistShow the full bouncing trajectory for the next shot.
Bomb Shotbomb_shotReplace the next ball with a splash bomb that detonates a 3x3 area on first impact.
Hold The Linefreeze_rowSkip the next row descend — bricks stay where they are this turn.

Achievements

AchievementGoalReward
First Strike
Clear your first Brick Balls round.
1
Brick Bruiser
Destroy 100 bricks across all rounds.
100150 coins
Ball Hoarder
Reach 50 balls in your salvo in a single round.
50100 coins
Bomb Squad
Detonate 10 bomb bricks.
10150 coins
Survivor
Clear 10 Brick Balls rounds.
10200 coins
High Scorer
Reach 5,000 points in a single round.
5000150 coins

Reskin slots

ball block pickup bomb_block shooter_base background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.

Configurable settings

SettingDefaultWhat it does
Cols7
Rows9
DangerRow8
StartingBalls1
BallSpeed1100f
ShotInterval0.06f
BlockHpBase2
RowFillChance0.65f
PickupFraction0.18f
BombFraction0.06f
RowArrowFraction0.04f
ColArrowFraction0.04f
HitDropPickupChance0.0f

↑ Back to top

🎮 Tic Tac Toe

Three in a row vs an AI opponent.

How to play

  1. You play X. Tap an empty cell to place your mark.
  2. Get three in a row (horizontal, vertical, or diagonal) before the AI does.

Boosters

BoosterKeyEffect
Best MovehintHighlights the optimal cell to play next.
UndoundoTake back your last move (and the AI's).

Achievements

AchievementGoalReward
First Win
Beat the AI once.
1
Strategist
Win 10 games.
10150 coins
Unbeatable
Win 5 games in a row.
5250 coins

Reskin slots

mark_x mark_o cell background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.

Configurable settings

SettingDefaultWhat it does
DifficultyTicTacToeDifficulty.Medium
PlayerStartstrueIf true, the player goes first (X). Otherwise the AI starts (O).

↑ Back to top

🎮 Whack-a-Mole

Whack the moles before they pop back down.

How to play

  1. Tap moles the moment they pop up.
  2. Misses cost points. Golden moles pay 3× — go for them first!

Boosters

BoosterKeyEffect
Slow MolesslowSlows the spawn / hide rate for 6 seconds.
Double Scorescore2xDoubles points earned for 6 seconds.
Auto-WhackmultiAuto-whacks the next 3 moles that pop up.

Achievements

AchievementGoalReward
First Whack
Complete a Whack-a-Mole round.
1
Mole Master
Hit 50 moles in a single round.
50150 coins
Golden Eye
Hit 5 golden moles.
5200 coins
Combo Whacker
Hit 8 moles in a row without a miss.
8150 coins

Reskin slots

mole hole mallet background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.

Configurable settings

SettingDefaultWhat it does
Cols3
Rows3
RoundSeconds45
MoleStayDuration1.0f
StartSpawnInterval1.0f
EndSpawnInterval0.4f

↑ Back to top

🎮 Match-3

Swap adjacent gems to make rows/columns of 3+.

How to play

  1. Drag a gem onto a neighbour to swap them.
  2. 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

BoosterKeyEffect
HammerhammerTap any single gem on the board to smash it.
ShuffleshuffleRe-scramble the entire board.
Drop a BombbombSpawn a colour-bomb candy at a random cell.
More playclockAdd ten seconds to the clock — or five moves in move-limited mode.

Achievements

AchievementGoalReward
First Match
Win your first Match-3 round.
1
Match Master
Win 25 Match-3 rounds.
25200 coins
High Scorer
Reach 3,000 points in a single round.
3000100 coins
Cascade Master
Trigger a 5-deep chain cascade.
5150 coins

Reskin slots

gem background — drop art per slot via Tools > Mini Game Templates > Reskin Editor.

Configurable settings

SettingDefaultWhat it does
Cols7
Rows7
Colours5
RoundSeconds90
ScoreTarget1000
MoveLimit0

↑ Back to top

💥 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
}
Refund safety: returning 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

GameBooster keys
Bubble Shooterforce_bomb force_rainbow aim
Mazereveal dash breakwall
Snakeslow ghost magnet
Memory Matchpeek hint_pair auto_match
Cups and Ballsslow_shuffle peek
2048undo smash shuffle
Brick Ballsextra_balls aim_assist bomb_shot freeze_row
Tic Tac Toehint undo
Whack-a-Moleslow score2x multi
Match-3hammer 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

GameSlots
Bubble Shooterbubble bomb rainbow shooter_base background
Mazeplayer goal wall floor background
Snakehead body apple background
Memory Matchcard_back card_face background
Cups and Ballscup ball background
2048tile cell_empty background
Brick Ballsball block pickup bomb_block shooter_base background
Tic Tac Toemark_x mark_o cell background
Whack-a-Molemole hole mallet background
Match-3gem background
Sprite-only. The reskin system swaps sprites — layouts, colours and animations stay the same. Until custom art is added the games use clean procedural sprites and the pill shows 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.

Tip: when customizing, read colours from 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:

AdsRewarded, interstitial and banner service with mediation backends (AdMob, LevelPlay, AppLovin, Unity Ads). Runs a safe mock backend until a real SDK is installed.
IAPUnity Purchasing integration with catalog, dummy store for testing, and purchase-reward hooks.
HapticsCross-platform vibration service — already wired to every game's audio events in this demo.
Rate UsNative store-review prompts (Android in-app review / iOS SKStoreReviewController) with dummy editor backend.
NotificationsLocal notification scheduling with permission flow (mobile packages activate it).
Consent & privacyGoogle UMP / Apple ATT consent flow with editor-safe dummy backend.
Analytics & crashPluggable analytics (Unity Analytics / Firebase) and crash-reporter hooks.
Retention systemsDaily rewards, quests, battle pass, energy, offers, shop, unlocks, deep links, sharing, update prompt.

How it is hooked up in this demo

Setup & going live

  1. Everything works out of the box in the editor with mock/dummy backends — no SDKs required, nothing to configure for the demo.
  2. Open Tools > HLK > Open Toolset (or Tools > HLK > Guided Setup) to configure ad units, IAP products, notifications, rate-us and the rest.
  3. 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.
No SDK binaries ship in this package. The kit is pure source with optional integrations — it compiles clean in an empty project and lights up real providers only when you add them.

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       */ });
Always 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

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

  1. Create Assets/MiniGameTemplates/Runtime/Casual/MyGame/.
  2. Add MyGameGame.cs implementing IMiniGame, decorated with [MiniGame("…", "My Game", Category = MiniGameCategory.Casual)].
  3. Add MyGameSettings (optional) with a static Default getter.
  4. Add the spec files — MyGameBoosterSpec, MyGameAchievementSpec, MyGameReskinSpec, MyGameTutorialSpec — all auto-discovered.
  5. 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.

Enjoying the pack? Reviews on the Asset Store are the biggest help to an indie publisher — if this pack saved you time, a star rating is hugely appreciated. ⭐