v0.3.0-prebeta

completed

Deployed on Dec 6, 2025, 15:12:47

Deployment Details

Version

v0.3.0-prebeta

Status

completed

Platforms

macOSWindows

Deployed At

Dec 6, 2025, 15:12:47

Channels

mac-prebetawindows-prebeta

Build Information

macOS Build
Windows Build

Release Notes

FeatureDec 6, 2025

Release 0.3.0-prebeta

New Features

  • build: auto-detect version from git tag for build path
  • ui: add UI metadata for DifficultyChoice, WeaponAbilityChoice and LoadingScreen
  • ui: add UIButtonSoundHandler for button audio feedback
  • ui: add MainMenu button assets
  • ui: migrate AbilityHUD to UI Toolkit (UXML/USS)
  • ui: add shared settings infrastructure for extensible controls
  • ui: add SOUND button to MainMenu OPTIONS panel
  • ui: add dynamic bullet spacing based on magazine size
  • ui: add WeaponHUD controller with selection and cooldown
  • ui: add WeaponHUD UXML/USS for weapon slots display
  • ui: add AmmoHUD controller for UI Toolkit
  • ui: add Ammo HUD UXML and USS files
  • ui: migrate WeaponAbilityChoiceUI to UI Toolkit UXML
  • ui: migrate DifficultyChoiceUI to UI Toolkit UXML
  • ui: add HealthHUD controller for UI Toolkit
  • ui: add Health HUD UXML and USS files
  • pause-menu: convert title label to image button
  • ui: add GameOverUI UXML/USS resources and title image
  • pause-menu: add retry confirmation dialog and sound control
  • ui: add pause menu prefab
  • ui: add pause menu UI resources (UXML/USS)
  • ui: add level unlock UI with locked state display
  • level: determine LevelId from scene name for unlock system
  • save: add level completion persistence with DontDestroyOnLoad
  • ui: use prefab for loading screen hat with Unity Animator
  • ui: add diagnostic logging to loading screen flow
  • ui: add inline difficulty selection to level card
  • ui: make MainMenu UI Toolkit responsive for multiple resolutions
  • ui: redesign Options panel with arcade style
  • ui: make MainCutscene responsive for multiple resolutions
  • ui: redesign Shop with MainMenu arcade style
  • ui: use BackButton image for level selector back button
  • ui: implement level carousel navigation logic
  • ui: add level carousel structure and styles
  • cutscene: add skip functionality with any key press
  • ui: replace main menu text elements with images
  • ui: update main menu with title image and fade-in styles
  • audio: add main menu ambient audio assets
  • cutscene: add intro cutscene with Timeline and automatic scene transition
  • combat: increase NavMesh acceleration for improved deceleration
  • combat: adjust NavMesh stopping distance for smoother arrival and reduce update frequency in DynamicSortingOrder
  • level: refactor UpperWaypoint handling to use manual placement in Background prefabs
  • build: update build scripts and remove alpha designation from build names
  • weapon: update MachineGun properties and enhance fire rate calculation
  • weapon: add MachineGun type with base damage and fire rate properties
  • shop: enhance auto-save system to capture and transfer session currency during load
  • save: implement save and load handlers with JSON support and auto-save functionality
  • stats: add LevelStatsUI prefab and associated UI elements for displaying level completion statistics
  • level: add ranking and reward system with UI integration
  • currency: implement Currency HUD with real-time display and styling
  • player: integrate player attributes into weapon and bullet damage calculations
  • shop: implement shop system with currency rewards and UI integration
  • obstacles: add VehicleObstacle prefab and update obstacle configurations
  • level: add totalEnemies configuration and adjust enemy spawning logic
  • obstacles: introduce new obstacle types and enhance prefab configurations
  • obstacles: add standalone cover points and enhance obstacle spawning logic
  • obstacles: balance player and enemy obstacle generation based on counts
  • level: ensure UpperWaypoint generation for all phases and refine boss spawning logic
  • waypoints: add UpperWaypoint prefab and implement two-step navigation for phase transitions
  • obstacles: add ContainerObstacle prefab and enhance theme-specific sprite loading
  • limits: add new Limits prefab with defined left and right boundaries
  • navmesh: implement not-walkable zones for background limits
  • integrate obstacle activation with phase completion timing
  • implement elegant obstacle activation timing system
  • implement and enhance enemy ammunition reward drop system
  • actualizar prefabs de backgrounds con nuevas dimensiones
  • actualizar sprites de backgrounds para resoluciones más anchas
  • update background scale and adjust LevelGenerator phase settings
  • update LevelGenerator configuration and adjust UI element positions
  • implement responsive UI scaling system for multiple resolutions
  • adjust PlayerUI layout and positioning
  • update UI prefab sizes for improved visibility
  • enhance PlayerUI sizing and spacing configuration
  • implement background music volume management for difficulty selection UI
  • implement ObstacleDifficultyManager for dynamic obstacle management based on difficulty selection
  • implement column restriction for obstacle spawning
  • add 'Only With Cover Points' option to DifficultyConfig
  • add heart sprite display when abilities reach max level
  • implement smart reward system with upgrade vs heal logic
  • add ability upgrade management and event system
  • implement visual star system for ability levels
  • add level-based parameter scaling to all combat abilities
  • implement 3-level ability upgrade system with core interfaces
  • add NoAmmo audio file for empty weapon feedback
  • add no-ammo sound when shooting without ammunition
  • add comprehensive enemy movement debugging logs
  • implement grenade removal system when ammo reaches zero
  • fix player blinking when multiple abilities end simultaneously
  • integrate background music volume control with level completion
  • add audio management to level completion and game over UIs
  • simplify and fix background music volume management system
  • implement blur effect for level completion UI
  • add grenade throw audio file
  • add grenade throw sound functionality
  • enhance audio integration in game systems
  • update and add new audio files
  • implement background music system
  • add death sound for combatants
  • add sound effects for weapon and ability rewards in hard phase selection
  • integrate health bar system with existing enemy framework
  • implement differentiated audio system for combatant vs obstacle hits
  • add heart pickup sounds when obtaining hearts
  • add obstacle destruction sound system
  • implement enemy health bar system with 3-bar thirds design
  • implement red screen damage effect system and related improvements
  • aumentar el tamaño de los textos del selector de dificultad de fase
  • pause timer during 2-second phase transition delay
  • balance weapon ammunition limits for better gameplay
  • implement complete randomization of reward system
  • implement cooldown visual preservation during phase transitions
  • integrate HeartTemporal system with phase management
  • implement HeartTemporal system in PlayerHealth
  • implement PhaseHealthTracker for temporal heart system
  • add HeartType.Temporal enum and reward system
  • add Shield Heart choice configuration system
  • implement Shield Heart reward functionality
  • implement Shield Heart system in PlayerHealth
  • implement parametrizable Easy difficulty reward system
  • add parametrizable heart reward system for future extensibility
  • implement comprehensive GamePauseManager system
  • implement FireRate boost ability system
  • enhance obstacle system with 12 HP and dynamic visual damage
  • implement enemy reward drops system
  • implement visual damage system for obstacles
  • implement breakable obstacles system with health
  • add weapon fire rate visual feedback UI
  • complete weapon fire rate system implementation
  • add resurrection ability sprite assets
  • add UI support and progression for passive abilities
  • integrate passive abilities with death and shield systems
  • implement passive abilities system with resurrection
  • create dedicated instances for DifficultyChoiceUI and WeaponAbilityChoiceUI
  • complete GenericTwoChoiceUI system implementation
  • create GenericTwoChoiceUI system for reusable binary choices
  • implement comprehensive abilities system with Shield Boost
  • implement weapon selection UI with dynamic slots for unlocked weapons
  • add grenade throwing mechanics and weapon manager
  • add Shooting-Grenade animations and controller setup
  • add Cover-Grenade animation and controller setup
  • implement difficulty-based reward system with extra health
  • add blur effect to DifficultyChoiceUI for enhanced visual feedback
  • improve DifficultyChoiceUI responsiveness and visibility
  • preserve background visibility when deactivating unselected phases
  • add additional backgrounds for initial phase visual continuity
  • activate phase management on difficulty selection
  • add phase management to enemy spawning system
  • integrate phase management with level generation
  • add phase management system for branching phases
  • update level logic for branching phase navigation
  • integrate branching phase system with level generator
  • implement branching phase generation system
  • add branching phase navigation and difficulty choice UI
  • implement difficulty choice UI for branching phase navigation
  • implement branching phase generation system
  • update CombatantHealth for difficulty system compatibility
  • update phase and wave generators for difficulty support
  • integrate difficulty system with level generation
  • add difficulty system core components
  • add loading screen progress tracking to LevelGenerator

Bug Fixes

  • ui: use AutoSaveMonoBehaviour singleton for reset functionality
  • build: resolve Debug ambiguity with using alias
  • audio: prevent grenade explosion sound from being cut off
  • audio: fix sound not playing on weapon/ability selection
  • pause-menu: restructure OPTIONS with SOUND submenu
  • audio: pause gameplay sounds when game is paused
  • ui: use CanvasGroup alpha for GameOverUI visibility check in pause handler
  • shop: separate AutoSaveMonoBehaviour from ShopUI GameObject
  • level: capture levelId before CompleteLevel mutation
  • ui: prevent loading screen resize during scene transitions
  • timeline: remove RectTransform curves from MainMenuImage-2 animation
  • ui: prevent Start() from hiding DifficultyChoiceUI when already showing
  • audio: add grace period to prevent menu music during scene transitions
  • navmesh: disable NavMeshObstacle toggling to prevent async carving issues
  • cutscene: improve scene transition with additive loading
  • ui: improve loading screen timing and visibility control
  • enhance obstacle management and state reset for scene reloads
  • correct difficulty selection flow from MainMenu to LevelGenerator
  • adjust background prefab sizes and positions for consistency
  • bullet now continues path when hitting covered combatants
  • improve obstacle difficulty management system
  • update background prefabs configuration and metadata
  • allow grenade ammo accumulation when weapon already unlocked
  • change timer display to show single decimal place
  • ajustar posicionamiento dinámico de barras de vida de enemigos
  • update enemy bonus pool handling and increase total enemy obstacles
  • prevent Obstacle component duplication in level generation
  • prevent SortingOrder component duplication in obstacles
  • restore random skill selection, remove hardcoded shield testing
  • update deprecated field references in generator files
  • update scene references and prefab configurations
  • resolve double event firing and UI duplication bugs
  • prevent bonus enemies from dropping rewards
  • improve background music manager singleton pattern
  • resolve NavMeshAgent destination not updating for pooled enemies
  • block player input during UI selection screens
  • prevent player taking damage while covered
  • remove timer animation when EnemyBonus disappears naturally
  • remove death sound when EnemyBonus disappears
  • update Unity scene configuration for blur effect
  • improve grenade explosion sound and fix premature explosion
  • resolve compilation errors
  • resolve compilation errors and warnings
  • correct player action blocking during UI display
  • implement 2-second delay after phase completion to prevent bullet issues during transitions
  • change ShieldBoostAbility color to unique green
  • restore ability sprites in reward selection UI
  • correct obstacle sprite transitions for dynamic health configurations
  • resolve phase progression and timing issues
  • implement dynamic blur management for difficulty selection
  • prevent duplicate reward application in Easy difficulty
  • apply right-to-left positioning to health UI hearts
  • apply right-to-left positioning to weapon UI slots
  • resolve abilities UI overflow with right-to-left positioning
  • allow EnemyBonus movement to cover points without obstacles
  • implement dual-container AmmoUI system with fallback
  • reduce obstacle minimum distance to allow more cover points
  • make enemy cover point generation independent of player count
  • player cover point movement - assign sequential orders and add diagnostics
  • resolve enemy bonus movement blocking on destroyed obstacles
  • enemy cover logic for destroyed obstacles
  • correct bullet-obstacle collision and damage order
  • update sprite metadata after Unity cache regeneration
  • remove debug Gizmo sphere and fix grenade timing bug
  • correct .gitignore to track essential Unity files
  • enhance resurrection invulnerability system and debug logging
  • ensure consistent background for initial phase trio
  • track played phases for accurate enemy counting in branching system
  • remove unused exception variable in FileLogger
  • implement linear vertical phase layout and dynamic NavMesh bounds
  • adjust NavMesh bounds dynamically based on generated phases
  • store background width in GenerateLevelImmediate method
  • add detailed logging for NavMesh generation debugging
  • force correct Canvas configuration in LoadingScreenUI
  • resolve compilation errors in loading screen system
  • update CameraPoint to return world position instead of local position
  • update coverPointNavMeshSurface and adjust cover point positions in LevelGenerator
  • update navMeshGeometry setting in LevelGeneratorConfig

Improvements

  • config: update MainMenu scene and LevelGenerator config
  • ui: refresh GameOver title and MainMenu timeline assets
  • ui: reorganize PauseMenu prefab into directory structure
  • ui: integrate AbilityHUD with PlayerAbilityUIHandler
  • ui: migrate PauseMenuUI to use SoundSettingsController
  • ui: migrate MainMenuUI to use SoundSettingsController
  • weapons: migrate PlayerWeaponHandler to use WeaponHUD
  • ammo: migrate PlayerAmmo to use AmmoHUD
  • shop: use SceneFinder cache for MainMenuUI
  • ui: use SceneFinder cache for HealthDamageScreenEffect
  • level: use singleton Instance instead of FindObjectOfType
  • audio: use singleton Instance instead of FindObjectOfType
  • pause: consolidate 3 FindObjectsOfType calls into one
  • health: migrate PlayerHealth to use HealthHUD
  • ui: remove verbose debug logs from PauseInputHandler
  • player: cache Camera.main to avoid FindGameObjectWithTag per shot
  • timer-ui: migrate from TextMeshPro to UI Toolkit UXML
  • obstacles: remove unused variable allocation in ApplyInitialObstacleState
  • runtime: eliminate new GameObject allocations in gameplay
  • coroutines: replace polling loops with event-driven architecture
  • scenes: update GameOverUI references in level scenes
  • ui: update GameOverUI to use UIDocument
  • ui: migrate GameOverUI prefab to UI Toolkit
  • misc: wrap Debug.Log calls in cutscene and attribute-upgrade
  • weapon: wrap Debug.Log calls in conditional compilation
  • ui: wrap Debug.Log calls in conditional compilation
  • stats: wrap Debug.Log calls in conditional compilation
  • shop: wrap Debug.Log calls in conditional compilation
  • shared: wrap Debug.Log calls in conditional compilation
  • scene: wrap Debug.Log calls in conditional compilation
  • rewards: wrap Debug.Log calls in conditional compilation
  • player: wrap Debug.Log calls in conditional compilation
  • level: wrap Debug.Log calls in conditional compilation
  • game: wrap Debug.Log calls in conditional compilation
  • enemy: wrap Debug.Log calls in conditional compilation
  • currency: wrap Debug.Log calls in conditional compilation
  • combatant: wrap Debug.Log calls in conditional compilation
  • projectiles: wrap Debug.Log calls in conditional compilation
  • audio: wrap Debug.Log calls in conditional compilation
  • ability: wrap Debug.Log calls in conditional compilation
  • ui: swap level order in carousel
  • scene: implement Dictionary caching for cover points to eliminate LINQ overhead
  • player: increase waypoint arrival threshold for smoother phase transitions
  • scene: cache component references in Obstacle to eliminate redundant GetComponent calls
  • level: enhance logging for phase transitions and choice handling
  • add UI Toolkit support for Main Menu and Level Selector
  • implement theme-specific music loading in BackgroundMusicManager
  • updated street level backgrounds size
  • add metadata files for level themes and background sprites
  • simplify Game initialization and encapsulate level setup
  • add meta files and interfaces for level and audio management
  • update event bus implementation and adjust event handling in game components
  • rename files and update namespaces for improved organization
  • change blurEffect visibility to private in UI components
  • reorganize namespaces and file structure for UI components
  • rename DifficultyRewardManager to DifficultyRewardHandler and update references
  • rename PlayerAbilityManager to AbilityHandler and update related references
  • update file structure and namespaces for navmesh components
  • rename SceneElements to SceneFinder and update references throughout the project
  • clean up whitespace and improve logging format in Grenade class
  • rename Grenade and GrenadePool files for consistency
  • update namespaces for bullet and enemy events for clarity
  • rename WeaponFactory to WeaponCreator and update namespaces for clarity
  • reorganize audio namespace and update event handling to use GameEventBus
  • removed unnecesary files
  • reorganize namespaces and update event handling for enemy rewards
  • rename files and organize asset metadata for clarity
  • reorganize namespaces and update difficulty management to use GameSession
  • update configuration references to use LevelDifficultyConfig
  • removed unnused files
  • scene and weapon configuration adjustments
  • improve logging and configuration management
  • enhance level generation system and UI improvements
  • remove deprecated cover point fields from DifficultyConfig
  • replace fixed spawn point fields with dynamic calculation
  • remove redundant maxPhases field from LevelGeneratorConfig
  • migrate generators to use DifficultyConfig
  • remove obsolete fields from LevelGeneratorConfig
  • optimize logging and update frequencies for better performance
  • update enemy combatant implementations
  • update Obstacle domain for audio system integration
  • improve GenericTwoChoiceUI configuration and event system
  • update level generation configuration
  • move FileLogger to system temp directory with automatic cleanup
  • migrate DifficultyChoiceUI to use GenericTwoChoiceUI system
  • migrate WeaponAbilityChoiceUI to use GenericTwoChoiceUI
  • changed cover grenade psd file to white color stickman
  • update loading screen references to use DDD architecture
  • improve NavMesh area handling and streamline validation logic in LevelGenerator
  • streamline NavMesh logging and improve state handling in Combatant and Enemy classes
  • changed directories