- Ore Drop Redesign: Mined nodes now drop a small fixed number of ore pickups (default 4) instead of scaling entity count with haul size - big hauls make each pickup worth more instead of flooding the ground with more objects. Cuts world clutter and worker pathfinding overhead, especially as the map grows.
- Tool Tier Rewards: A higher-tier tool now yields more total ore from the same node, not just faster kills - each attacker (player, or a specific worker's own tier) scales its own kills, so worker upgrades actually pay off in yield too. Tier 0 baseline matches the pre-redesign economy exactly.
- Courtyard Smelter: A new Smelter Station now sits in the outdoor courtyard expansion, giving that zone its own smelting point instead of requiring a trip back to the indoor sectors.
- Fall Recovery: Players who fall out of the map are automatically caught by a hidden recovery volume and teleported back to a safe spot near spawn, instead of getting stuck.
- Ore Pile Performance: Large piles of dropped ore/ingots (e.g. from buffs or bulk mining) no longer tank the framerate - settled pickups fully disable their physics instead of just going kinematic, new drops skip simulating a fall entirely once too many are already active, and dense piles merge into a single stack instead of piling up as separate objects.
- Work Rooms: New `WorkRoom` component defines named zones (Main Mine, Refinery...). Workers and drones get a permanent room assignment on spawn - they mine, collect and deliver only inside their room, ending the constant room-hopping that broke jobs and pathing. Reassign via the worker panel's new ROOM button; assignments persist in the save. Scenes without rooms behave exactly as before.
- Black Market Redesign: The ore-for-ore trading post is gone. The Black Market is now a rotating buff shop - a daily seeded selection of temporary boosts (Quad Ore Production, Quad Mining Speed, Worker Frenzy, Smelter Overdrive, Overcharged Tools, Lucky Expeditions) bought with artifact credits. Data-driven via new `.buff` assets.
- Expedition Artifacts: New `.artifact` assets (Ancient Relic, Strange Geode, Alien Alloy, Mystery Crate, Void Shard) are the Black Market's currency. Rarity-weighted drops, each with a credit value.
- Dedicated Expedition Team: Expeditions no longer pull workers off the mining floor. Hire off-map specialists at the Black Market, send them out on wall-clock timers (they keep travelling while the game is closed), and they return with ore hauls and artifact finds. Members tier up every 3 completed expeditions. Legacy in-flight worker expeditions from old saves still complete normally.
- Preferred Auto-Refine Ore: Star a baseline ore recipe in the smelter panel and workers prioritise refining that ore first. Note: The star only appears on single-input recipes; complex recipes like alloys cannot be starred to prevent automation from accidentally burning your rare resources. Persists in the save.
- Hold-to-Mine: Hold Mouse1 to keep swinging - no more click-per-swing. Cooldown, attack speed and animation timing are all still respected.
- Mining Augments: New 5-tier upgrade adding up to +90% swing speed. (The tier-5 automatic swinging was removed shortly after - it fired unprompted whenever ore was near and felt bad. All 5 tiers now boost swing speed only.)
- Trapped-Ore Escape: Ore that workers repeatedly fail to reach gets a physics nudge (pops up and sideways out of props/machines) and a 30s targeting cooldown - workers abandon it, retry later, and never stand beside unreachable ore forever.
- Weekly Contracts: The contract system has been completely rewritten into a data-driven model with over 100 new unique contracts. In addition to 3 daily contracts, you now receive 2 massive Weekly Contracts per week that require 7x the effort for 7x the reward!
- Live Events: Server-scheduled events (Double Ores Weekend, seasonal specials...) override game tuning values live - drop rates, upgrade costs, sell prices - with no game update. Events can recur automatically (e.g. every weekend), and an in-world display shows the active event with a live "Started / Ends in" countdown. Overrides revert cleanly the moment an event ends.
- Outdoor Courtyard Expansion: A second, much larger expansion zone - an open-air courtyard - joins the cramped indoor sectors, with far more physical room for extraction bays and its own grown-in grass and lighting.
- Inventory Panel Overhaul: The ASSET MANIFEST panel (ores, ingots, contracts, crew) got a full visual rework - top tab bar replaced with a vertical rail showing live counts per tab, wider layout so crew list and detail view sit side-by-side instead of stacking, ore/ingot cards got color-coded stripes, contracts got a cleaner progress readout, and the credits total now formats with commas like the HUD. Same industrial orange/steel theme throughout, no behavior changes.
- Pause Menu Settings Overhaul: The SETTINGS screen's top tab bar was replaced with the same vertical icon rail used in the inventory panel, widened the panel so labels aren't cramped, and gave the header an accent stripe + subtitle to match. Audio/Controls/Graphics/Bindings tabs, sliders, toggles and key bindings all work exactly as before - visual only.
- Full UI Theming Pass: Extended the inventory/pause-menu look (accent header stripe + subtitle, vertical icon rail for tabbed screens, comma-formatted credit totals) across the rest of the game's UI - the Shop (Hardware/Augments/Facility tabs), the main menu's own Settings screen, the Smelter, and the Black Market. All behavior, purchasing, and data logic is unchanged; this is visual consistency only.
- Ore Highlight Toggle: Colored outlines on dropped ore and ingots can now be toggled on or off in Settings (Graphics tab). New drops respect the setting immediately, and toggling it live updates every pickup already on the ground.
- Visual & Performance Polish: Made game props static for better performance, optimized ore pickup physics, and capped crack visualizer wobble intensity to prevent explosive physics glitches on node impacts.
- Drones Are Miners Now: Drones only mine. All collection/ferrying states were removed - they never pick up ore or ingots, never fly deliveries, never fight workers over pickups, and can't be confused by moved ore. They also avoid nodes a worker is already targeting when alternatives exist. Workers own the full logistics loop.
- Tool Tier Power: New shared tier rule (player, workers - one implementation in `MiningBalance`): a tool above an ore's tier instantly destroys the node (the Tier 6 Gold Pickaxe one-shots every Tier 0–5 ore), an at-tier tool always breaks a node within 3 swings (the Gold Pickaxe vs diamond went from 42 swings to 3), and under-tier tools still barely scratch. Tunable via `tier_adv_oneshot_min` and `equal_tier_max_swings`.
- Coal Economy: Coal availability roughly quadrupled - nodes drop 5–10 coal (was 2–4) and spawn weight raised 1.6 → 2.4. Smelter fuel is no longer a progression bottleneck.
- Smarter Auto-Smelting: Automation now picks recipes preferred-ore-first, then cheapest-ore-first, so idle workers can never quietly burn diamond or mythril stockpiles.
- Living Market: The market simulation got a full rework - fresh price movement every poll (was effectively once per hour), momentum so trends persist into rallies and crashes, rare spike/crash events, and 2-decimal prices so cheap ingots aren't frozen by rounding.
- Worker Index Collisions: Firing a worker in the middle of the crew re-issued its index to the next hire, corrupting tier and expedition save entries. Indexes are now always unique.
- Ore Claim Stealing: A worker grabbing a "second ore for the trip" ignored other workers' claims, leaving the robbed worker chasing a pickup that no longer existed. Claims are now respected and properly taken.
- Worker Promotion Persistence: Room assignments and tiers are saved index-aligned and restored via the same deferred-apply path, so promotions survive firings, expeditions and reloads.
- Smelter Recipes: Fixed an oreType key mismatch that was breaking smelter recipes, and updated the system so local .recipe files are the true source of truth for ingredients.
- One-Handed Swings: NPCs swing hammers and one-handed tools with one arm instead of two - looks natural, and their off-hand stays relaxed instead of awkwardly joining in.
- Tier-Based Tools: NPC workers now equip the right weapon for their tier - higher-tier workers carry better tools that match their mining level.
- Weapon Grip Tuning: Hammers, pickaxes, and tools each have their own grip angle so they sit right in your workers hand.
- Tool Stats Now Matter: An NPC worker's equipped weapon actually affects mining - metal damage multipliers boost output, swing speed changes cadence, and cleave radius splashes nearby nodes. Previously the tool was cosmetic only.
- Tier-Scaled Damage: Worker swing damage now scales with their tier - Tier 0 workers deal light damage instead of one-shotting low-HP nodes, ramping up per tier. Tunable via `crew_damage_tier0` and the `MiningDamage` inspector field.
- Leaderboard Rankings Rework: Division rankings and the Employee of the Month plaque are now ranked by lifetime ore extracted instead of current ingot stockpile value. The old metric was inflated by the live market simulation and never went down when you spent or sold - the new one tracks what you've actually mined, can't be skewed by market prices, and existing progress carries over (no leaderboard reset).
- Smarter Worker AI: NPC workers now weigh distance, node value, and crowding together when picking what to work on, instead of just grabbing the nearest thing - they'll walk past a low-value scrap right next to them for a richer node or ore pile a bit further off, and spread out across nodes instead of piling three-deep on one.
- Smarter Delivery Routing: Workers now deliver ore to whichever smelter has the most open queue space, not just the nearest one - keeps all your smelters busy instead of stacking one up while others sit idle.
- Pause Menu Overhaul: Redesigned the pause menu with a cleaner industrial look - clearer action buttons, a live Tier/Requisitions snapshot, a blurred background, and properly styled toggle switches in Settings.
- Requisitions Readability: Large requisition totals now show with comma separators (e.g. `235,119` instead of `235119`) on the HUD and pause menu.
- Worker Tier Saving: Worker mining tiers now save and restore properly between sessions.
- NPC Crowding: Workers no longer interpenetrate and bump into each other for seconds - NavMesh separation strength was raised so they steer around each other quickly.
- Crew Capacity Cap: Hired Crew purchases are now capped at the room's worker capacity (base 2 + 2 per expansion). Previously the cap was dead code, so players could hire up to 8 crew while only 4 could actually spawn - wasting ore on workers with no room. The shop now shows MAX at capacity and refuses further hires until you build another expansion.
- Worker Cap Reliability: `MaxWorkers` no longer collapses to the base cap when `BaseExpansionSystem` is briefly unavailable (e.g. during scene reloads), so purchased expansions keep granting crew capacity.
- Ore/Ingot Despawning: Mined ore and ingots left on the ground no longer vanish after 30 seconds - they'll stay put until collected.
- Tool Damage Progression: Fixed several tools dealing less damage than lower-tier ones (Clay Pickaxe was weaker than the free starter Hammer; Shockwave Hammer was weaker than the plain Pickaxe despite costing more). Damage now scales properly with tier across all tools.
- Weapon Damage Override: Fixed a bug where a single tuning value could silently override every weapon's damage to the same number, making tool upgrades feel like they did nothing. Each tool's damage is now applied correctly on its own.
- Worker "Stuck" False Positives: Workers no longer give up on tasks just for briefly slowing down at corners, doors, or while stepping around each other - they now get one retry before abandoning a task, cutting down on premature "giving up" behavior.
- Pause Menu Movement Lock: Fixed being able to walk and look around with WASD/mouse while the pause menu was open.
- Tier-Based Expedition Rarity: The rarity of items a worker can find during an expedition is now strictly governed by their current Mining Tier (higher tier = access to deeper loot table indices).
- Smart Smelter Routing: NPC Workers carrying specific ores will now actively seek out a smelter that is currently processing or queued for that exact ore type.
- Skill-Based Prioritization: High-tier NPC Workers now prioritize mining the highest-tier nodes available to them, rather than wasting time on low-tier materials.
- Active Stuck Detection: NPC Workers now monitor their own velocity and will "fast-fail" within 2 seconds if they get stuck against physics geometry, instead of hopelessly pushing against walls for 20 seconds.
- Extended Progression: Added 4 new extraction tier thresholds (Tiers 6-9) allowing access to all remaining high-tier ores like Diamond, Mythril, and Obsidian.
- NPC Worker Spawning: Spawning logic was rewritten to use a deterministic circular distribution, completely eliminating physics clipping and overlapping when deploying a large crew.
- NPC Worker Responsiveness: Removed random 2-5 second idle delays between actions. Workers now also prime their animations so they swing their pickaxes the exact moment they reach a node.
- Ore Node Visuals: Removed the aggressive pulsing/flashing highlight effect from ore nodes for a cleaner visual experience.
- Tier Level Up UI: The tier notification has been repositioned to cleanly slide in at the top of the screen without blinding the player with overpowering visual effects.
- Pathfinding Performance: Fixed a massive CPU performance drain where NPC Workers were recalculating their NavMesh paths every single frame (60 times a second) while retrieving stray ore and ingots.
- Data-Driven Upgrade Library: Upgrades are now fully modular - create a .upgrade asset file and it auto-appears in the shop, saves, and tracks stats. No C# changes needed.
- UpgradeManager: Central manager with generic API (GetLevel, GetEffect, PurchaseUpgrade). Replaces hardcoded switch statements.
- OreRegistry: Auto-discovers all .cube assets. Provides cached lookups by path, tier, and weighted random pick.
- RecipeRegistry: Auto-discovers all .recipe assets. Provides lookups by output type, input ore, and affordability checks.
- TradeRegistry: Auto-discovers all .trade assets. Generates daily trades and handles execution.
- Per-Upgrade Stat Tracking: Each upgrade purchase fires upgrade_{id} and upgrade_{id}_level stats to the backend automatically.
- Per-Ore Stat Tracking: Every ore type tracks ore_{id}_destroyed and ore_{id}_collected automatically via StatId.
- Upgrade Categories: Mining, Automation, Smelting, Economy, Storage, Movement, Combat, Utility, Prestige.
- Upgrade Unlock Conditions: Min prestige, min expansion, required upgrade, required weapon, min player level.
- Card-Based Shop UI: Hardware and Augments tabs use a compact card grid layout with flex-flow: row wrap.
- Card-Based Trading Panel: Black Market uses the same card grid pattern.
- 8 New Trade Offers: Gold Rush, Mythril Exchange, Silver Lining, Tin Stockpile, Bulk Smelt Deal, Iron Surplus, Diamond Heist, Platinum Deal.
- Hired Crew (NPC Workers): Purchase workers from the shop to mine ore autonomously. They pathfind to nodes, swing pickaxes, collect drops, and deliver to the smelter.
- Worker Management Panel: Interact (E) with any NPC worker to Promote, Praise, or Fire them.
- Worker Tiers: Each worker has a mining tier. Higher tiers mine tougher nodes faster.
- Morale System: Praising a worker gives a temporary speed buff that decays over time.
- Ore Node Tier HUD: Looking at a node shows its name, rarity, and whether your tool is effective.
- Mining Drone: A flying drone that orbits nodes and chips away passively - scales with upgrade level.
- Base Expansion System: Unlock new rooms to expand worker capacity and extraction bays. [One new room for now]
- Trading Post: Exchange surplus materials at rotating daily rates.
- Smelter Output Crate: Finished ingots drop into a physical crate to collect from.
- Crate Contents Panel: Floating display above crates showing stored ingots.
- Pause Menu: Escape for resume, settings, and quit-to-menu.
- Coal Economy Rebalanced: SpawnWeight increased from 1.0 to 1.6, drop range raised from 1–2 to 2–4. Coal maintains ~35% spawn share at max tier and yields double the ore per node.
- Steel Alloy Recipe Rebalanced: Coal ingredient reduced from 10 to 5, fuel cost from 5 to 3, ingot value increased from 60 to 80. Steel is now a viable mid-tier crafting path (10.0 value/coal, up from 4.0).
- Material Icons Overhaul: All 14 UI panels now use Google Material Icons instead of emoji and text-only labels - cleaner, more professional interface.
- Tool Tier Spread: All 7 tools now have unique tiers (0–6). No more duplicate tiers.
- Ore Tier Spread: Ore MinToolTier spread across the full 0–6 range to match tools.
- Worker Dissolve Effect: Fired workers dissolve with rising ember sparks instead of vanishing.
- Save System: Auto-save every 15s. Shutdown saves fall back safely. Smelter state fully persistent. V5→V6 migration for upgrade dictionary format.
- Multi-Smelter Support: Each smelter saves independently.
- Worker State Persistence: Individual worker tiers are saved and restored.
- Save Migration: Old saves auto-migrate without losing progress (legacy fields → UpgradeLevels dictionary).
- CubeSpawner: Auto-populates ore types from OreRegistry when inspector list is empty.
- SmelterStation: Reads recipes from RecipeRegistry instead of direct ResourceLibrary scan.
- TradingPost: Delegates to TradeRegistry for generation and execution.
- PrestigeSystem: Uses UpgradeManager.ResetAll() - works with any number of upgrades.
- SceneRefs: Added cached accessors for UpgradeManager, OreRegistry, RecipeRegistry, TradeRegistry.
- Interaction Prompt: Now hides when TradingPanel is open (fixed overlap bug).
- Fixed coal becoming a hard bottleneck at high tiers due to spawn weight dilution and excessive fuel costs across all smelting recipes.
- Fixed steel being the worst value-per-coal recipe in the game, causing players to skip the iron→steel progression path entirely.
- Fixed upgrade enum shift causing DamageLevel to be clamped on load.
- Fixed smelter UI showing wrong queue with multiple smelters.
- Fixed expansion bays spawning in wrong positions.
- Fixed UI panels squished at certain aspect ratios.
- Fixed Black Market [E] prompt overlapping the trading panel.
- Fixed Stats.Set compile error (API only has Stats.Increment).
- Fixed orphaned SCSS block causing style parse errors.
- UpgradeType enum dependency: Still exists for backwards compatibility but no longer required for new upgrades.
- Speed Boost Upgrade: Was non-functional (never applied to movement).
- Ore Magnet Upgrade: Replaced by NPC Workers.
- Some ore nodes flicker, will be fixed in the next patch!
- Auto-Miner System: Introduce a new AutoMiner upgrade type in the Shop that passively damages the active ore node.
- End-Game Ore Nodes: Add Tier 6 (Obsidian) and Tier 7 (Mythril) ore nodes to the dynamic spawner pool.
- New Recipes: Add recipes for Obsidian Glass, Mythril Ingots, and Brass Alloy to the Smelter.
- Floating Text: Implement a lightweight, billboarded 3D text system for pickup notifications.
- Hit Polish: Add a global CameraShake system hooked into the Hammer Tool to trigger on successful node impacts.
- Leaderboard Ingot Tracking: Track all 14 ingot and alloy types (including Brass, Mythril, and Obsidian) in the leaderboard stat system.
- Vault Display Support: The LeaderboardVaultDisplay now supports all 14 ingot types with code-based prefab fallbacks for editor persistence.
- Dynamic Spawning: The CubeSpawnManager is reconfigured to dynamically support higher tier thresholds (2,500 for Tier 6; 5,000 for Tier 7).
- Prefab Architecture: The core cubespawnpoint.prefab is meticulously repaired and sanitized to correctly serialize all 10 available ore types.
- Interaction Feedback: Rare ingot pickups now correctly format their names and colors when passing data to the new floating text system.
- Ingot Display Grid Layout: The IngotDisplay now wraps ingot type columns into a 2D grid, preventing stacks from spawning off the edge of the table surface.
- Ore Pickup Prefab: The ore_pickup.prefab now includes a built-in Rigidbody and physics collider so ore drops reliably fall and bounce on the ground.
- Resolve a severe JSON serialization corruption in the main extraction node prefab that caused the engine compiler to fail.
- Fix legacy data references to non-existent placeholder ores (stone.cube, metal.cube) in the spawner arrays.
- Fix ore pickup default model using a gold ingot mesh instead of an actual ore rock model.
- Fix the LeaderboardVaultDisplay freeze-after-settle race condition where rapid leaderboard syncs cause newly spawned ingots to freeze mid-air.
- Fix missing leaderboard stat mappings for brass_alloy, mythril_ingot, and obsidian_ingot preventing them from appearing in the vault.
- Main Menu: Overhaul UI with dynamic Facepunch API integration for pulling the latest news posts and version changelogs natively.
- Save System: Introduce a robust save/load system with schema versioning, backward-compatibility migration, auto-saving, and safe shutdown fallbacks.
- Smelting & Inventory: Add a typed ore/ingot inventory and smelting system featuring new interactable Smelter Stations and comprehensive UI panels.
- New Resources: Add rare ingot drops (Tin, Copper, Iron, Silver, Gold) with physics-based IngotPickup entities and drop-chance rolling.
- Interaction & Shop: Implement a core interaction system (raycast detection, prompts) along with a fully functional in-game Shop Station and cash register for purchasing upgrades.
- New Tools: Expand the arsenal with a Jackhammer and Pickaxe, introducing tool-tier gating mechanics.
- Settings & Audio: Add a system configuration menu with functional master, music, and SFX global volume sliders.
- Visuals: Add dynamic hit sparks, volumetric fog, and DDGI lighting configurations.
- Testing: Add extensive suites of automated property tests covering damage, smelting, currency deduction, and save guards.
- Hammer Handling: Greatly enhance the Hammer ViewModel with randomized swing variation, hit-stop freezing on impact, screen shake, and view bobbing.
- Physics Pickups: Ore pickups now spawn dynamically using physics, assigning proper ore values, settling automatically, and supporting double-drop upgrades.
- UI Styling: Refine the main menu footer, progression UI elements, and HUD overlays for a sleeker, modern aesthetic.
- Scene Fidelity: Tweak scene geometry, probe density, and indirect light volumes for better overall ambiance.
- Fix and update cube drop model paths.
- Rebalance ore health scaling and base drop amounts for better progression pacing.
- Clean up the pendentlight prefab instances, properly assigning static model colliders and stripping unnecessary physics bodies.
- Deprecate the legacy OreCounter component entirely, fully migrating to the new typed OreInventory system.
- Strip out the old GameHud UI files in favor of the new unified Razor/SCSS architecture.
- Remove legacy scene volumes and unused setup remnants.
- Settings volume sliders currently only affect explicitly hooked audio sources; some legacy sounds might bypass the mixer temporarily.