Unity 6 mobile combat game development

FrostyBrawlerGo!

Choose abilities that change how your character fights.

I was the sole Unity/C# developer for the version of Frosty Brawler Go! reviewed here. I designed and built the game’s code: a journey of 60 in-game days, automatic turn-based battles, and a choice of three abilities at each level-up. These abilities add attacks, change existing attacks or improve the character’s combat stats.

My role and the team’s contribution

I programmed the game.
The team supplied art, audio and design input.

I was responsible for Unity/C# programming. The team supplied art, audio and game-design input.

My responsibility

Unity gameplay and supporting code

I built the journey, battles, abilities, attacks, status effects, enemies and interface behavior. I also built a reusable system that coordinates character animation with gameplay, connected the game’s services, updated the code during development and configured Android builds.

Team contribution

Art, audio & game-design input

The team supplied the visuals, audio and game-design input. I programmed their work into the Unity game and maintained the code as it developed.

How the journey progresses

A working ability can change the next battle.

Journey events, automatic battles and ability choices all affect the same character. As the player advances, their choices change the character’s attacks, effects and stats.

  1. 01

    Journey

    Advance one day

    Each day brings a story message, a stat change, experience, healing or a battle. The journey history records the result of each event.

  2. 02

    Battle

    Resolve the battle

    Player and enemy attack queues execute in controlled turns. Damage, blocking states, periodic effects, death and revive outcomes complete before the journey continues.

  3. 03

    Ability choice

    Choose one of three

    At each level-up, the player chooses from three abilities. The available choices can add an attack, change a compatible sword attack or improve a combat stat for the current journey.

  4. 04

    Build

    Use the new ability in later battles

    The new attack, effect or stat change becomes part of the character’s current abilities. It changes how they fight as the journey gets harder.

How abilities work together

Supported abilities change the character’s current attacks and stats.

The game starts from reusable ability templates. Supported upgrades change copies of those templates for the current journey, and the battle system carries out their actions in order.

  1. 01

    Choose an ability

    Ability choice

    The game selects three options from ability definitions stored in Unity ScriptableObjects.

  2. 02

    Apply the change

    Add or modify

    The supported abilities add an attack, add an effect to a compatible sword attack or change a character stat.

  3. 03

    Current journey

    Separate copies for each journey

    The game creates copies of attack and effect templates that can change during the current journey.

  4. 04

    Battle result

    Resolve each action in order

    Turns resolve attacks, chance, status duration, blocking and cleanup in a predictable order.

03

Three ways an ability changes the character

Add an attack

Add another attack to each turn.

Fire and thunderstorm upgrades add attacks after the attacks the character already has.

  • Sword baseline
  • Fire attack
  • Thunderstorm attack

Modify the weapon

Change what the sword can do.

Critical, poison and freeze upgrades add their effects to compatible sword attacks the character already has.

  • Critical chance & damage
  • Poison over time
  • Freeze / skipped attack

Change the run

Improve health, attack or defence.

Health, maximum health, attack and defence upgrades feed the same parameter model used by journey events and enemy scaling.

  • Health & max health
  • Basic attack
  • Defence

Why abilities use reusable code

Add abilities without rewriting the battle system.

Each ability makes a specific change: it adds an attack, attaches a compatible effect or changes a stat. The shared battle code still manages timing, targets and the end of each action. This makes it easier to add abilities and understand how they work together.

Supporting game systems

Abilities connect to the rest of the journey.

Journey events, battles and player progress track what happened and what comes next. A separate reusable system handles inventory and saved data.

Journey events

A journey of 60 in-game days.

The audited build sequences 21 parameter events, 13 battles, 13 experience events, 11 narrative messages and two healing events into one journey.

  • Day route
  • Event history
  • Experience & levels
  • Completion / defeat

Combat systems

Managing turns, enemies and temporary effects.

Player and enemy coroutines coordinate attack queues, targets, damage, active effects and cleanup across five enemy archetypes with day-based scaling.

  • Six concrete attacks
  • Three status effects
  • 1.5% daily scaling
  • Revive flow

Inventory & saves

A separate system manages items and saved data.

A separate inventory module supports fixed, dynamic and unlimited containers, stacking and sorting, plus local JSON saves with backup and integrity checks. Item data includes rarity and effect definitions; equipment bonuses are not wired into the live combat loop.

  • Fixed · dynamic · unlimited containers
  • Stacking & sorting
  • Rarity & effect definitions
  • Save recovery

Mobile services

Audio, analytics, rewarded ads and Android builds.

Zenject composition, DOTween sequences, FMOD audio routing, Firebase and Meta analytics hooks, AdMob rewarded flows and Android build settings connect the gameplay to a testable mobile product.

  • Analytics events
  • Rewarded reroll
  • Rewarded revive
  • Android version code 54

Project code and content

The project in numbers.

These counts cover custom code under Assets/Scripts in the July 2025 project version reviewed here. They describe code and configured content, and do not measure player numbers or commercial results.

234
Custom C# files
10,600+
Nonblank lines of custom code
60
Configured journey days
106
Non-merge commits touching custom scripts, attributed to Artem
Unity 6
Audited project version

Ability data

Each journey has its own ability data.

ScriptableObject definitions create attack, effect and parameter instances for each run, so abilities can safely mutate the active build without rewriting shared source assets.

Custom animation controls

Character animation follows the action.

I built a reusable unit-animation orchestration layer on top of Unity Animator. Per-character ScriptableObject profiles map shared states to character-specific clips and configurable speed, start offset, layer, impact timing and transition overlap. Cross-fades, clip sequences, curve-based position interpolation and callbacks coordinate movement, attacks, hits and deaths. The shared controller uses 10 profiles across 14 character visuals in the audited snapshot.

Difficulty curve

The player and enemies grow stronger.

Player stats and abilities accumulate through events and level-ups, while enemy health and attack scale by elapsed day; encounter selection prefers unused eligible enemy types and falls back when that pool is exhausted.

Startup & testing

Organized startup and inventory tests.

Boot scenes and dependency injection organize startup, while pooled damage text reduces repeated allocations. The repository includes ten Unity editor-test methods for inventory behavior; their current pass status was not independently verified.

Public project video

Watch a new ability change the next battle.

The 1:18 public gameplay video shows the day route, narrative and parameter events, battles resolving after the Battle prompt, a three-choice skill draft, Freezing added to the weapon and triggering in combat, plus defeat and the revive decision.

Watch on YouTube

Gameplay video and thumbnail were published by Artem Shkabura on his public YouTube channel on May 27, 2025.

Completed work

What I built for this project.

  • 01Unity programming for the journey, battles, abilities, enemies, interface and player progress
  • 02A configurable journey of 60 in-game days with battles, experience, stat changes, story messages and healing
  • 03Reusable attacks and effects that let upgrades change the character’s abilities within the existing battle system
  • 04Custom controls built on Unity Animator that select character clips, blend animations smoothly and time movement and attacks to gameplay
  • 05A separate inventory save system, analytics connections, rewarded-ad actions, audio integration and Android build configuration

This case documents my Unity/C# implementation, the inspected July 2025 project snapshot and publicly visible gameplay. Repository counts are scoped to Assets/Scripts in that snapshot. It does not claim authorship of the art, audio or game design, a store release, current availability, audience size, retention, revenue or live campaign results. Experimental ECA and reflection layers are excluded from the delivery claims above.

How I can help your project

Planning a game with upgradeable combat abilities?

Let’s test how your abilities work together.

I can program your combat design in Unity, check how existing abilities interact, or build a playable version with the next set of features.

Have a limited budget? Tell me your priority and the range you’re comfortable with. I’ll be clear about a realistic first step.

Confidential from the first conversation

I count contact interactions in aggregate, without visitor IDs or message contents.

Back to projects