Modular Fishing System is a complete, ready-to-use fishing system for Unity
that brings fishing mechanics to your game in minutes.Modular Fishing System is a fully self-contained fishing system built around a state machine that manages every phase of the fishing experience.The player aims at the water using a smooth screen-center raycast, casts the bobber along a realistic parabolic arc, waits for a randomized fish bite, then must land the fish using the included timing minigame, all handled automatically by the system.The catch minigame features a moving cursor and an adjustable greenzone. Three built-in difficulty tiers scale the zone size, cursor speed, and time limit, making it suitable for casual players and challenge-seekers alike. Tiers are driven by the equipped rod and lure combination, so the player's gear choices directly affect the difficulty.All components are built on interfaces, making Modular Fishing System highly customizable. The minigame, the water detection method, and the rod provider can all be replaced with your own implementations without modifying any core files.If you prefer to get started quickly, a full demo implementation.[THIS FISHING SYSTEM DOES NOT HAVE A INVENTORY SYSTEM OR ANY FISH] its a ready made fishing template with mini game that should be integrated with your own inventory system and your own fishes.Content is fully customizable through ScriptableObject assets:define as many rods, lures, and fish rewards as you need, assign tiers to each, and choose how the game resolves the final reward tier (rod-driven, lure-driven, highest, lowest, or a custom lookup table). The fishing line, bobber physics, animation timings, bite delay range, and minigame difficulty are all tunable from the Inspector no code changes required.Modular Fishing System suits a wide range of genres:- Farming and life simulation games (cozy fishing mini-activities)- Open-world RPGs and survival games (fishing as a side mechanic)- Casual and mobile games (light bite-and-catch loop)- Dedicated fishing simulators (fully extensible foundation)- Puzzle and adventure games (fishing as a gameplay beat)The system requires no third-party dependencies and works withUnity's standard Input system out of the box.Key Features : Complete Fishing State Machine - Full flow: Idle → Targeting → Casting → Waiting → Minigame → Reeling → Idle, with cancellation support at any stage. Screen-Center Raycast Water Detection - Configurable layer mask, max reach distance, and surface normal offset to prevent bobber clipping on any water surface. Parabolic Cast Arc - Bobber travels along a smooth arc with configurable duration and arc height, giving a natural cast feel. Physics-Inspired Bobber Simulation - Idle float with randomized sinusoidal bobbing and drift on X/Z. - Fight state with aggressive oscillation when a fish bites. - Live offset tuning in Play mode for rapid iteration. Timing Minigame with Tier System - Moving cursor and green zone bar with Vertical or Horizontal axis. - Three built-in tier presets with scaling zone size, cursor speed, and time limit. Fully configurable; add as many tiers as needed. - Ping-pong or wrap cursor modes, adjustable start position and cursor movement bounds. - Edit-mode and play-mode preview for real-time tuning without entering play. ScriptableObject Tier and Reward System - FishingItemDatabase defines rods (with rig prefabs) and lures, each with a tier value. - Five reward tier resolution modes: Rod Tier, Lure Tier, Highest Tier, Lowest Tier, or Custom Combination lookup table. - Fish reward table maps tier values to specific item assets. Interface-Based Architecture (fully extensible) - IFishingSpotValidator — replace water detection - IFishingMinigame — replace the catch minigame - IFishingLoadoutProvider — connect your own inventory/equipment - IFishingRodProvider — supply the active rod rig Animation Integration - PlayableGraph-based rod animation with dedicated clips for idle, cast, waiting, bite, fight, reeling, and catch. - AnimationLayerMixer for character body with upper-body mask support for clean locomotion blending. Fishing Line Renderer - LineRenderer updates every LateUpdate between the rod tip and the bobber for a taut, accurate fishing line at all times.



