Fishing System #
Videos #
Check out this video which explains all the core principles of the fishing system:
Introduction #
This documentation explains the Fishing System, which allows players to catch fish using fishing rods, bobbers, and fishing spots with configurable fish, water types, and environmental conditions.
What Is the Fishing System?:
The Fishing System is a complete fishing implementation with equipment integration, minigames, fish spawning, and environmental factors.
Key Features:
- ✅ Two Fishing Methods: Rod fishing (traditional) and spear fishing (melee-based)
- ✅ Equipment Integration: Works with Equipment Manager (equip fishing rods or spears)
- ✅ Fishing Component: Character-based component managing fishing state
- ✅ Bobber System: Spawns bobber that detects fishing spots (rod fishing)
- ✅ Spear Fishing: Melee attack fish in water, attach to spear, auto-drop after time
- ✅ Minigame: Interactive catching minigame for rod fishing (customizable)
- ✅ Fish Data: Complete fish configuration (difficulty, behavior, XP, meshes)
- ✅ Fishing Waters: Define which fish spawn in specific waters
- ✅ Environmental Factors: Weather, time of day, season affect fish spawns
- ✅ Fish Quality: Bronze, Silver, Gold quality tiers
- ✅ Fishing Spots: Spawnable areas where fish roam
- ✅ Example Map: Pre-configured fishing spots ready to copy
Use Cases:
- Survival games with fishing mechanics
- RPGs with fishing professions
- Open-world games with fishing activities
- Any game needing fishing gameplay
Core concepts #
What Is the Fishing System? #
The Fishing System provides complete fishing gameplay with two methods: traditional rod fishing and spear fishing.
Rod Fishing:
- Wait-based fishing using fishing rods and bobbers
- Bobber must land inside fishing spot bounds
- After configurable wait time, minigame triggers
- Fish selected randomly from DT_FishingWaters spawn list (ignores visible swimming fish)
- Success adds fish to inventory
Spear Fishing:
- Action-based fishing using spears and melee attacks
- Visible fish actors swim in fishing spots
- Player directly attacks swimming fish
- Hit fish attaches to spear, then auto-drops as item on ground
- Player picks up dropped fish item
System Flow:
Rod Fishing: Equipment Manager → Fishing Component → Bobber → Fishing Spot → Minigame → Inventory
Spear Fishing: Equipment Manager → Melee Attack → Fish Actor → Spear Attachment → Drop → Inventory
Fishing Methods #
Rod Fishing (Traditional):
- Requires fishing rod equipped
- Throws bobber into water
- Wait-based gameplay
- Minigame challenge
- Works in fishing spots
- Good for relaxed fishing experience
Spear Fishing (Active):
- Requires spear equipped
- Melee attack fish directly
- Action-based gameplay
- No minigame (skill-based aiming)
- Fish must be visible in water
- Good for active hunting experience
Key Components #
Fishing Component (AC_Fishing):
- Attached to player character
- Manages fishing state (rod fishing)
- Communicates with Equipment Manager
- Spawns bobber
- Triggers minigame
- Handles catch results
Bobber Actor (BP_Bobber):
- Spawned when rod fishing starts
- Must land inside fishing spot bounds
- Detects fishing spot and retrieves fish spawn data
- Visual feedback (floating in water)
Fishing Spot Actor (BP_FishingSpot):
- Defines fishing areas with bounds
- Spawns visible fish actors for spear fishing
- Manages fish population (spawns new fish when one is removed)
- References DT_FishingWaters for fish spawn configuration
Fish Actor (BP_Fish):
- Visible swimming actors in fishing spots
- Used for spear fishing (can be attacked with melee)
- Roams within fishing spot bounds
- NOT used for rod fishing (rod picks randomly from data table)
- Attaches to spear when hit
System Integration #
Equipment Manager Integration:
Player equips fishing rod:
- Equipment Manager detects rod equipped
- Equipment Manager notifies Fishing Component
- Fishing Component becomes active (rod fishing mode)
- Player can start rod fishing
Player equips spear:
- Equipment Manager detects spear equipped
- Equipment Manager enables melee attack
- Player can attack fish directly
Player unequips:
- Equipment Manager notifies Fishing Component
- Fishing Component becomes inactive
- Player cannot fish
Inventory Integration:
Rod Fishing – Fish caught:
- Minigame success
- Fish item determined (from DT_Fishes)
- Fish added to player inventory
- Catch XP awarded
- UI updated
Spear Fishing – Fish caught:
- Fish hit with spear melee attack
- Fish attaches to spear
- After time duration, fish drops on ground
- Fish item spawned on ground
- Player picks up fish item
- Fish added to inventory
- Catch XP awarded
Attribute Integration (Optional):
Fishing awards XP:
- Catch XP configured per fish
- XP added to fishing skill attribute
- Level up fishing skill over time
Components #
Fishing Component #
Purpose: Manages all fishing logic on the player character.
Properties:
- Current fishing state (Idle, Fishing, Minigame)
- Equipped fishing rod reference
- Bobber actor reference
- Fishing spot reference
- Current fish being caught
Bobber Actor #
Purpose: Visual bobber that floats in water and detects fishing spots.
Functionality:
Spawning:
When player starts fishing:
- Fishing Component spawns bobber
- Bobber placed at target location (forward from player)
- Bobber floats on water surface
- Bobber checks for fishing spot overlap
Bobber Actor (BP_Bobber):
- Spawned when rod fishing starts
- Must land inside fishing spot bounds to catch fish
- Detects fishing spot overlap
- Visual feedback (floating in water)
Rod Fishing Note: The bobber and rod fishing system does NOT interact with the visible swimming fish actors. Rod fishing selects fish randomly from the DT_FishingWaters spawn list after the wait time.
Properties:
- Bobber mesh (static mesh)
- Float height (how high above water)
- Bob animation (idle float)
- Current fishing spot reference
Fishing Spot Actor #
Purpose: Defines areas where fishing can occur and spawns visible fish actors.
Functionality:
For Rod Fishing:
- Bobber must land inside fishing spot bounds
- Fishing spot provides fish spawn list reference (from DT_FishingWaters)
- Fish selected randomly from spawn list (ignores visible swimming fish)
For Spear Fishing:
- Spawns visible fish actors in area up to max count
- Fish roam within bounds as swimming targets
- When fish is caught (hit with spear), spawns new fish after configurable delay
- Maintains fish population
Properties:
- Fishing spot bounds (box or sphere trigger)
- Max fish count (maximum visible fish actors)
- Fish spawn list reference (references DT_FishingWaters)
- Current spawned fish (array of visible fish actors)
- Fish respawn delay (configurable time before new fish spawns)
Fish Actor #
Purpose: Individual fish that swims in fishing spots, visible for spear fishing.
Functionality:
Swimming Behavior:
Fish actor:
- Spawned by fishing spot
- Roams within spot bounds
- Swimming animation plays
- Moves randomly in water
- Can be targeted by player
Spear Interaction:
When player attacks with spear:
- Melee attack hits fish actor
- Fish gets attached to spear mesh (attach point on spear tip)
- Fish follows spear position
- After configured time, fish auto-drops
- Fish item spawned on ground
- Player can pick up fish item
Properties:
- Fish mesh (skeletal mesh with swim animation)
- Fish data reference (from DT_Fishes)
- Roaming speed
- Roaming bounds (from fishing spot)
- Attached to spear (boolean)
- Drop timer (configurable time until fish auto-drops from spear)
Equipment integration #
Fishing Rods #
Fishing Rod as Equipment:
Fishing rods are equipment items configured in the Equipment Manager that enable rod fishing.
Setup:
DT_Equipment:
Row Name: FishingRod_Basic
- Item Reference: (reference to DT_Items entry for fishing rod)
- Equipment Type: Tool or Weapon
- Equip Animations: Fishing rod equip/unequip
- Special Properties: IsFishingRod = True
DT_Items:
Row Name: FishingRod_Basic
- Display Name: “Basic Fishing Rod”
- Description: “A simple fishing rod for catching fish”
- Item Type: Tool
- Icon: Icon_FishingRod
- Mesh: SM_FishingRod_Basic
- Weight: 2.0
- Value: 50
Spears #
Spear as Equipment:
Spears are equipment items configured in the Equipment Manager for spear fishing. Setup is similar to fishing rods – see example in DT_Equipment and DT_Items.
5 fishing process – rod fishing #
Starting to Fish #
Player Action:
- Player equips fishing rod (Equipment Manager)
- Player presses fishing input
- Fishing Component checks if fishing rod equipped
- Fishing Component enters “Fishing” state
- Cast animation plays
- Bobber spawns and lands in water
Bobber and Fishing Spot #
Bobber Placement:
- Bobber spawns at target location
- Must land inside fishing spot bounds to catch fish
- If outside fishing spot, cannot catch fish
Wait Time and Minigame #
Wait for Bite:
After bobber lands:
- Configurable wait time passes (simulates fish biting)
- Minigame triggers
- Player completes minigame
Minigame:
- Fish selected randomly from fishing spot's spawn list (DT_FishingWaters)
- Fish catch difficulty (1-100) affects minigame challenge
- Higher difficulty = harder minigame (smaller success zones, faster timing, etc.)
Catch Results #
Success:
Minigame success:
- Fish item added to inventory (from DT_Fishes)
- Quality determined (bronze, silver, gold)
- Catch XP awarded
- Fishing ends, bobber removed
Failure:
Minigame failure:
- No fish caught
- No XP awarded
- Fishing ends, bobber removed
6 FISHING PROCESS – SPEAR FISHING
How Spear Fishing Works #
Spear Fishing Overview:
Spear fishing is an active, skill-based fishing method where you directly attack visible fish swimming in water.
Requirements:
- Spear equipped (Equipment Manager)
- Fishing spot with visible swimming fish actors
- Melee attack capability
Attacking Fish #
Attack Process:
- Player equips spear
- Player sees fish swimming in fishing spot (visible actors)
- Player aims at fish
- Player performs melee attack
- If hit:
- Fish attaches to spear
- Fish stops swimming
- Drop timer starts
- If miss:
- No catch, try again
Skill-Based Gameplay:
- No minigame for spear fishing
- Success depends on player aiming and timing
- Fish are moving targets
Fish Drops and Pickup #
Auto-Drop:
After configured time:
- Fish detaches from spear
- Fish item spawns on ground at player location
- Fish actor removed
- Spear available for next attack
Pickup:
- Player walks to dropped fish item
- Player presses pickup input
- Fish added to inventory
- Catch XP awarded
Minigame system #
Default Minigame #
Included Minigame:
The Fishing System includes a default minigame already implemented for rod fishing.
Default Minigame Mechanics:
Timing-based minigame:
- Moving bar with success zone
- Player presses button when marker in success zone
- Success → Fish caught
- Failure → Fish escapes
Fish catch difficulty (1-100) affects minigame challenge:
- Higher difficulty = smaller success zones, faster timing, more stages
Data tables #
DT_Fishes #
Location: Hyper/FishingSystem/Blueprints/DataTables/DT_Fishes
Purpose: Defines all fish in the game with properties and catch settings.
Structure:
Struct_FishData:
- Fish ID (String): Unique identifier (row name)
- Display Name (String): Fish name shown to player
- Description (Text): Fish description
- Item Reference (DataTable Row): Reference to DT_Items entry
- Catching Difficulty (Integer): 1-100 (affects minigame challenge)
- Catching Behavior (Enum): Smooth, Erratic, Darting, Lazy
- Catch XP (Integer): XP awarded when caught
- Static Mesh (Static Mesh): Fish mesh for displaying (optional)
- Skeletal Mesh (Skeletal Mesh): Fish mesh with animations (optional)
- Fish Icon (Texture): Icon for UI (can use item icon)
Row Name: Fish_Bass
- Display Name: “Bass”
- Description: “A common freshwater fish”
- Item Reference: (DT_Items → Item_Bass)
- Catching Difficulty: 30
- Catching Behavior: Smooth
- Catch XP: 10
- Static Mesh: SM_Bass
- Skeletal Mesh: None
- Fish Icon: Icon_Bass
Row Name: Fish_Salmon
- Display Name: “Salmon”
- Description: “A prized fish known for swimming upstream”
- Item Reference: (DT_Items → Item_Salmon)
- Catching Difficulty: 60
- Catching Behavior: Darting
- Catch XP: 25
- Static Mesh: SM_Salmon
- Skeletal Mesh: SK_Salmon (has swimming animation)
- Fish Icon: Icon_Salmon
Row Name: Fish_GoldenTrout
- Display Name: “Golden Trout”
- Description: “A rare and valuable fish”
- Item Reference: (DT_Items → Item_GoldenTrout)
- Catching Difficulty: 90
- Catching Behavior: Erratic
- Catch XP: 50
- Static Mesh: SM_GoldenTrout
- Skeletal Mesh: None
- Fish Icon: Icon_GoldenTrout
9 dt_fishingwaters #
Purpose: Defines all water types with fish spawn lists, environmental conditions, quality chances, and spawn weights.
Structure:
Struct_FishingWaterData:
- Water ID (String): Unique identifier (row name)
- Water Name (String): Water type name
- Fish Spawn List (Array of Struct_FishSpawnEntry):
- Fish Reference (DataTable Row): Reference to DT_Fishes
- Spawn Weight (Float): Likelihood of spawning (1.0 = normal, 2.0 = 2x more likely)
- Required Weather (Array of Enum): Weather types where this fish spawns
- Required Time of Day (Array of Enum): Times when this fish spawns
- Required Season (Array of Enum): Seasons when this fish spawns
- Quality Chances (Struct):
- Bronze Chance (Float): 0.0-1.0 (70% = 0.7)
- Silver Chance (Float): 0.0-1.0 (25% = 0.25)
- Gold Chance (Float): 0.0-1.0 (5% = 0.05)
Water Types #
Water Types Examples:
- FreshwaterLake (Bass, Trout, Perch)
- River (Salmon, Catfish, Pike)
- Ocean (Tuna, Marlin, Shark)
- Pond (Goldfish, Koi, Minnow)
- Swamp (Catfish, Gar, Mudfish)
Fish Spawn Lists #
Fish Spawn List defines which fish can spawn in this water type (configured in DT_FishingWaters).
Spawn Entry Structure:
Each fish in spawn list has:
- Fish Reference (which fish from DT_Fishes)
- Spawn Weight (relative likelihood – higher = more common)
- Environmental Conditions (weather, time, season)
- Quality Chances (bronze, silver, gold percentages)
Spawn Weight Example:
Bass: Weight 2.0 (2x more likely)
Salmon: Weight 1.0 (normal)
Golden Trout: Weight 0.2 (rare, 1/5 as likely)
Total Weight: 3.2
When player fishes or fish spawns:
- Random selection based on weights
- Bass has 2.0/3.2 = 62.5% chance
- Salmon has 1.0/3.2 = 31.25% chance
- Golden Trout has 0.2/3.2 = 6.25% chance
Higher weights = more common fish
Lower weights = rarer fish
Environmental Conditions #
Environmental Filters:
Each fish spawn entry can have required conditions for spawning.
Weather:
Required Weather: [Sunny, Cloudy, Rainy, Stormy, Snowy, Foggy]
- Bass: Spawns in Sunny, Cloudy, Rainy
- Salmon: Only spawns in Rainy, Cloudy (prefers rain)
- Golden Trout: Only spawns in Sunny (rare, sunny days only)
If current weather is Rainy:
- Bass can spawn (Rainy in required list)
- Salmon can spawn (Rainy in required list)
- Golden Trout cannot spawn (Sunny required)
Time of Day:
Required Time of Day: [Morning, Day, Evening, Night]
- Bass: Morning, Day, Evening (not night)
- Catfish: Evening, Night (nocturnal)
- Golden Trout: Day only (specific timing)
If current time is Night:
- Bass cannot spawn
- Catfish can spawn
- Golden Trout cannot spawn
Season:
Required Season: [Spring, Summer, Fall, Winter]
- Bass: Spring, Summer, Fall (not winter)
- Ice Fish: Winter only
- Salmon: Spring, Fall (migration seasons)
If current season is Winter:
- Bass cannot spawn
- Ice Fish can spawn
- Salmon cannot spawn
Multiple Conditions:
All conditions must be met:
Golden Trout:
- Weather: Sunny
- Time: Day
- Season: Summer
Player fishing in Summer, Sunny, Day:
→ Golden Trout CAN spawn
Player fishing in Summer, Rainy, Day:
→ Golden Trout CANNOT spawn (weather wrong)
Player fishing in Winter, Sunny, Day:
→ Golden Trout CANNOT spawn (season wrong)
Fish Quality System #
Quality Tiers:
Each caught fish has a quality that affects rewards.
Quality Types:
Bronze: Normal quality (base rewards)
Silver: Higher quality (improved rewards)
Gold: Highest quality (best rewards)
Quality multipliers and percentages are configurable – set up values as needed for your game.
Fishing spots #
Fishing Spot Setup #
Fishing Spot Actor (BP_FishingSpot):
Defines a physical area where fish spawn and can be caught.
Properties:
Fishing Spot:
- Bounds (Box or Sphere): Area where fish spawn and bobber must land
- Max Fish Count (Integer): Maximum visible fish actors
- Fish Spawn List Reference (DataTable Row): References DT_FishingWaters entry
- Fish Respawn Delay (Float): Configurable time before new fish spawns after one is removed
- Current Spawned Fish (Array): Fish currently in spot
BP_FishingSpot_Lake:
- Bounds: Box (10m x 10m x 5m depth)
- Max Fish Count: 10
- Fish Spawn List: FreshwaterLake (from DT_FishingWaters)
- Fish Respawn Delay: Configurable (seconds)
- Current Spawned Fish: (populated on Begin Play)
Fish Spawning #
Spawning Behavior:
On Begin Play:
- Fishing Spot reads Fish Spawn List from DT_FishingWaters
- Spawns visible fish actors up to Max Fish Count
- Fish roam within bounds
When fish removed (caught with spear):
- Fish actor removed from world
- Wait configurable respawn delay
- Spawn new fish to maintain population
Rod Fishing vs Spear Fishing:
Rod Fishing:
- Uses DT_FishingWaters spawn list data
- Selects fish randomly after wait time
- Ignores visible swimming fish actors
Spear Fishing:
- Uses visible swimming fish actors
- Player directly attacks fish
- When fish hit, it's removed and respawned
Example Map #
Purpose: Demonstrates fishing spots with pre-configured setup.
What's Included:
- 3-5 fishing spots placed in world
- Different water types (lake, river, ocean)
- Pre-configured fish spawn lists
- Environmental conditions set up
- Player character with Fishing Component
- Fishing rods available to equip
- Example fish in DT_Fishes
- Example water types in DT_FishingWaters
How to Use:
- Open FishingSystem_Example map
- Play in editor
- Equip fishing rod
- Walk to fishing spot
- Start fishing
- Test minigame
- Catch fish
- See fish added to inventory
Copying Fishing Spots:
To add fishing spot to your world:
- Open FishingSystem_Example map
- Find BP_FishingSpot actor
- Copy fishing spot (Ctrl+C)
- Open your map
- Paste fishing spot (Ctrl+V)
- Move to desired location (water area)
- Adjust bounds to fit water area
- Configure fish spawn list (or use default)
- Done! Fishing spot ready
How to guides #
Creating a New Fish #
Step 1 – Create Fish Item in DT_Items: #
- Open DT_Items
- Add new row: Item_Tuna
- Configure:
- Display Name: "Tuna"
- Description: "A large ocean fish"
- Item Type: Fish (or Food)
- Icon: Icon_Tuna
- Mesh: SM_Tuna
- Weight: 5.0
- Value: 75
- Max Stack Size: 10
Step 2 – Create Fish in DT_Fishes: #
- Open DT_Fishes
- Add new row: Fish_Tuna
- Configure:
- Display Name: "Tuna"
- Description: "A large ocean fish"
- Item Reference: (reference Item_Tuna from DT_Items)
- Catching Difficulty: 70 (1-100 scale, affects minigame challenge)
- Catching Behavior: Darting
- Catch XP: 35
- Static Mesh: SM_Tuna
- Skeletal Mesh: (none)
- Fish Icon: Icon_Tuna
Step 3 – Add Fish to Water Type: #
- Open DT_FishingWaters
- Find Ocean water type (or create new)
- Add to Fish Spawn List:
- Fish Reference: Fish_Tuna
- Spawn Weight: 1.0 (adjust for desired rarity)
- Required Weather: [Sunny, Cloudy]
- Required Time of Day: [Morning, Day, Evening]
- Required Season: [Summer, Fall]
- Quality Chances (configurable):
- Bronze: 0.50 (50%)
- Silver: 0.35 (35%)
- Gold: 0.15 (15%)
Step 4 – Test: #
- Open FishingSystem_Example map
- Find ocean fishing spot (or create one)
- Set fishing spot water type to Ocean
- Play game
- Fish in ocean
- Tuna should spawn (if conditions met)
- Catch tuna
- Verify added to inventory
Configuring Water Types #
Step 1 – Create Water Type in DT_FishingWaters: #
- Open DT_FishingWaters
- Add new row: TropicalReef
- Configure:
- Water Name: "Tropical Reef"
- Fish Spawn List: (see Step 2)
Step 2 – Add Fish to Spawn List: #
For each fish in this water type:
- Add new Spawn Entry:
- Fish Reference: (select fish from DT_Fishes, e.g., Fish_Tuna)
- Spawn Weight: 1.0 (adjust for rarity)
- Required Weather: [Sunny, Cloudy]
- Required Time of Day: [Morning, Day, Evening]
- Required Season: [Spring, Summer, Fall]
- Quality Chances:
- Bronze: 0.60 (60%)
- Silver: 0.30 (30%)
- Gold: 0.10 (10%)
- Repeat for all fish in this water type
Step 3 – Use in Fishing Spot: #
- Open your map
- Find or create BP_FishingSpot
- In Details panel:
- Fish Spawn List Reference: TropicalReef (your new water type)
- Fish will now spawn based on your configuration
Setting Up a Fishing Spot #
Step 1 – Place Fishing Spot Actor: #
- Open your map
- Open Content Browser
- Find BP_FishingSpot
- Drag into level at water location
- Position at water surface
Step 2 – Configure Bounds: #
- Select fishing spot
- In Details panel:
- Adjust bounds (box or sphere)
- Cover desired fishing area
- Ensure bounds overlap water
Step 3 – Configure Fish Spawning: #
- In Details panel:
- Max Fish Count: 10 (how many visible fish actors in spot)
- Fish Spawn List: FreshwaterLake (or desired water type from DT_FishingWaters)
- Fish Respawn Delay: Configurable (seconds before new fish spawns)
Step 4 – Test: #
- Play in editor
- Equip fishing rod
- Cast into fishing spot (bobber must land inside bounds)
- Wait for configured time
- Complete minigame
- Catch fish
- Verify fish from configured spawn list
Customizing the Minigame #
Step 1 – Create Custom Minigame Widget: #
- Create new UI Widget Blueprint
- Name: UI_FishingMinigame_Custom
- Design your minigame UI:
- Button prompts
- Timing bars
- Visual effects
- Instructions
Step 2 – Implement Minigame Logic: #
- In widget blueprint:
- Add variables:
- Fish Difficulty (Integer)
- Is Success (Boolean)
- Add events:
- OnMinigameStart (receive fish difficulty)
- OnPlayerInput (handle player input)
- OnMinigameComplete (return success/failure)
- Implement your mechanics:
Example - Button Mashing:
- Show "Mash Space!" prompt
- Count space presses
- Required presses = Fish Difficulty * 5
- Timer: 5 seconds
- If presses >= required → Success
- Else → Failure
Step 3 – Integrate with Fishing Component: #
- Open AC_Fishing blueprint
- Find the minigame trigger section
- Replace default minigame widget spawn with your custom widget
- Ensure your widget communicates success/failure back to component
- Save
Step 4 – Test: #
- Play game
- Equip fishing rod
- Start fishing
- Your custom minigame should appear
- Complete minigame
- Verify success/failure works correctly
- Verify fish caught on success
- —
END OF DOCUMENTATION
Summary:
The Fishing System provides complete fishing gameplay with two methods:
Rod Fishing:
- Equipment Manager integration for fishing rods
- Fishing Component manages state, bobber spawning, minigame
- Bobber must land inside fishing spot bounds
- After configurable wait time, minigame triggers
- Fish selected randomly from DT_FishingWaters (ignores visible fish actors)
- Catch difficulty (1-100) affects minigame challenge
- Wait-based, relaxed fishing experience
Spear Fishing:
- Equipment Manager integration for spears
- Melee attack visible swimming fish actors
- Fish attaches to spear on hit
- Auto-drops after configured time
- Skill-based, active hunting experience
Configuration:
- DT_Fishes: Fish properties (difficulty 1-100, behavior, XP, meshes)
- DT_FishingWaters: Water types, fish spawn lists with weights, environmental conditions (weather/time/season), configurable quality system (bronze/silver/gold with configurable multipliers)
- Fishing spots: Spawnable areas with visible fish actors for spear fishing, data-based selection for rod fishing
- Example map: Pre-configured spots for testing both fishing methods
Create immersive fishing gameplay with two distinct fishing methods, configurable fish spawning, dynamic environmental conditions, and customizable minigames!
