Current version 1.5.0.08.26

Documentation

Installation

Import Fishing Game Tool, install its Unity packages, configure input handling, and verify the included DemoScene.

Requirements

Fishing Game Tool version 1.5.0.08.26 supports:

  • Unity 2022.3.4f1 or newer, including Unity 6
  • Unity Input System 1.4.3 or newer, using a version compatible with the installed editor
  • Unity UI
  • TextMesh Pro
  • Universal Render Pipeline for the included DemoScene and example visuals

The core fishing scripts, rod authoring tool, and public API support Unity 2022, Unity 2023, and Unity 6. The runtime selects the correct Rigidbody velocity API at compile time: Unity 2022 and Unity 2023 use Rigidbody.velocity, while Unity 6 uses Rigidbody.linearVelocity. No version-specific setup is required in FishingSystem or FishingFloat.

Validated Unity 2022 baseline

  • Unity 2022.3.4f1
  • Input System 1.4.3
  • Universal RP 14.0.8
  • TextMesh Pro 3.0.6
  • Unity UI supplied with the editor

The complete asset, DemoScene dependencies, generated rod prefab workflow, input actions, materials, and documentation assets were imported and validated with this baseline.

Current Unity 6 development setup

  • Unity 6000.0.81f1
  • Input System 1.19.0
  • Universal RP 17.0.4
  • Unity UI 2.0.0

These are development-project versions, not minimum package requirements. For Unity 2023 or another supported editor patch, install the compatible package versions offered by that editor's Package Manager. Do not copy the Unity 6 development project's Packages/manifest.json into an older project.

The core fishing scripts are not tied to a specific render pipeline. The included DemoScene, environment, water Shader Graph assets, and example materials target URP.

Install from the Unity Asset Store

  1. Open Unity Package Manager.
  2. Select My Assets.
  3. Find Fishing Game Tool.
  4. Download the asset.
  5. Import the complete FishingGameTool folder.
  6. Wait for Unity to import assets and compile scripts.

Keep the folder at Assets/FishingGameTool. The in-editor documentation window loads Markdown pages from Assets/FishingGameTool/Documentation.

Configure Active Input Handling

The example uses the new Unity Input System.

  1. Open Edit > Project Settings > Player.
  2. Expand Other Settings > Configuration.
  3. Set Active Input Handling to Input System Package (New) or Both.
  4. Restart Unity if requested.

If the Input System package is missing, install com.unity.inputsystem from Package Manager before importing or compiling the example scripts.

In Unity 2022.3, Input System 1.4.3 is the validated baseline. A newer Input System version can be used when Package Manager marks it as compatible with the active editor.

Included Input Actions

The input asset is located at:

Assets/FishingGameTool/Example/InputActions/FGTInputActions.inputactions

It contains one Player action map with these actions:

  • Move
  • Look
  • Jump
  • Interact
  • Cast
  • Attract
  • ResetFishing
  • Menu

The included Character prefab already references these actions. When using a custom InputHandler, assign Move, Look, Jump, Cast, Attract, Menu, and Interact in the Inspector. ResetFishing must exist in the same action map as Cast because InputHandler resolves it by name at startup.

Project layers

The example setup uses separate layers for water, the fishing float, and interactable objects.

Create or choose layers for:

  • Water surfaces detected by FishingSystem
  • The fishing float, excluded from its own surface checks
  • Interactable objects detected by InteractionSystem
  • Walkable ground detected by CharacterMovement

The included project uses Water on layer 4 and Interaction on layer 8. The float prefab uses a dedicated layer and excludes that layer through FishingFloat Layer Mask. Layer numbers can differ in another project, so verify every LayerMask after import.

Verify the installation

  1. Open Tools > Fishing Game Tool > Documentation.
  2. Confirm that the navigation contains Overview, Installation, Quick Start, Rod Builder, Configuration, API Reference, Troubleshooting, and Changelog.
  3. Open this scene:
Assets/FishingGameTool/Example/Scenes/DemoScene.unity
  1. Select the Character instance.
  2. Confirm that CameraController has a scene Camera reference.
  3. Confirm that InteractionSystem has its interaction marker reference.
  4. Confirm that CharacterMovement has the intended Ground Layers.
  5. Enter Play Mode and follow Quick Start.

The Character prefab stores most references internally. Scene-only objects such as the active Camera and interaction marker are assigned by the DemoScene instance.

Included example assets

The most useful starting assets are:

Assets/FishingGameTool/Example/Prefabs/Character/Character.prefab
Assets/FishingGameTool/Example/Prefabs/Character/UICharacter.prefab
Assets/FishingGameTool/Example/Prefabs/FishingRod/FishingRod.prefab
Assets/FishingGameTool/Example/Prefabs/FishingFloat/FishingFloat.prefab
Assets/FishingGameTool/Example/Prefabs/Water/WaterBlock_50m.prefab
Assets/FishingGameTool/Example/InputActions/FGTInputActions.inputactions
Assets/FishingGameTool/Example/Scenes/DemoScene.unity

The DemoScene is the authoritative example of how scene-only references, layers, water loot, UI, and character objects are connected.

Importing into a non-URP project

The core fishing logic, rod rig, procedural bending, line rendering, input API, and data objects do not require a URP renderer. The example environment, water Shader Graph assets, and some included materials do.

When using Built-in Render Pipeline or another Scriptable Render Pipeline:

  1. Keep the core scripts and editor tools.
  2. Replace or convert the example materials and water visuals.
  3. Assign a material compatible with the active pipeline to each LineRenderer if the included default line material is not compatible.
  4. Build a project-specific demonstration scene rather than relying on the included URP DemoScene.

Next step

Continue with Quick Start to test casting, bait interaction, reeling, reset, loot, line load, and the refreshed third-person controller.