Skip to content


How can I test new levels?

For a faster development workflow, you can easily test new levels without going through the home and level scenes first. You just need to open the game scene and set the Test level property in the GameScene object to the level number you want to test.

How can I add a background music?

We use a background music in the demo but we are not allowed to redistribute it, so you need to do it manually yourself. You can find the download link in the Credits.pdf file located inside the Sounds folder. Once you have downloaded the music and imported it into your project (remember to set its Load Type as Streaming, which is the recommended setting for background music), you just need to drag it into the Audio Source component of the BackgroundMusic object located in the home scene.

How can I add a new level to the map?

The level map contains a scrollable list of buttons that are used to enter the levels (in the scene's hierarchy, you can find the list in Canvas/LevelMap/ScrollView. These buttons are instances of the LevelMapButton prefab, which has a Num Level property that indicates the level number:

You will need to have created the corresponding level with that number via the level editor.

How can I customize the game's popups?

All the popups in the game are prefabs located in the Resources/Popups folder that are dynamically spawned via script as appropriate during the game and have an associated independent script that contains their specific logic. In order to modify them, you can drag them into the Canvas object of a scene (as a child) and apply your custom changes to them as you normally do with prefabs in Unity.

These are all the popups in the game:

  • AlertPopup: generic alert dialog used to show information or errors.
  • BoosterAwardPopup: shown when the game ends and the player has additional moves or time left.
  • BuyBoostersPopup: in-game booster shop.
  • BuyCoinsPopup: coins shop.
  • BuyLivesPopup: lives shop.
  • ExitGamePopup: dialog that allows the player to exit a game.
  • InGameSettingsPopup: in-game pause popup that allows the player to change the audio settings and exit the game.
  • LevelGoalsPopup: shown right before a game begins in order to let the player know what are the goals of the level.
  • LoadingPopup: generic loading popup.
  • LosePopup: shown when the player loses a game.
  • NoMovesOrTimePopup: shown when a game is finished because the player has no moves or time left.
  • RegenLevelPopup: loading popup shown while a level is regenerating (it happens when there are no more possible moves).
  • SettingsPopup: the settings popup located in the home scene.
  • StartGamePopup: shown when a player clicks on a level button in the level scene.
  • WinPopup: shown when the player wins a game.

How are the goal sprites loaded?

The goal sprites are loaded dynamically from the Resources/Game folder. You can see the specifics of the loading code in the Fill method of the GoalUiElement script.