<aside>
<img src="/icons/reorder_gray.svg" alt="/icons/reorder_gray.svg" width="40px" />
Navigation
</aside>
🏠 Home Page
Overview
Level Editor
Items
Power-Ups
Tutorials
Map
UI Store
💰 Monetization (Ads & IAP)
❤️ Lives System
The Power Ups system provides a flexible way to add special abilities or actions that players can activate during gameplay. Each power up is implemented as a class derived from PUBehavior, allowing for custom logic and effects.
- PUController — main static controller; handles activation, selection, purchase, and save state for all power-ups.
- PUBehavior — abstract MonoBehaviour base class; inherit to implement custom power-up logic.
- PUSettings — abstract ScriptableObject base class; configures icon, price, amounts, prefab, and level unlock per power-up type.
- PUDatabase — ScriptableObject array; registers all power-ups and determines their order in the UI.
Implemented Power Ups
- Freeze Timer: pauses the level timer for a configurable duration; a PUTimer instance tracks elapsed time and fires OnTimerTick each second.
- Hammer: returns the last element from the dock back to the field; plays a hit animation on the dock slot.
- Magnet: attracts matching elements toward the collection slot; plays a directional pull animation toward the target position.
- Shuffle: rearranges all elements currently on the board; plays a tornado animation during the effect.
How to change PU data
How to change PU order in UI
How to change PU amount using code
How to add custom PU