Current version 1.5.0.08.26

Documentation

Rod Builder

Prepare a custom rod model, place its pivot and rig markers, configure the reel and hand grips, and bake a ready-to-use FishingRod prefab.

Fishing Rod Builder converts a rod model from the scene into a reusable FishingRod prefab. It creates the procedural bending rig, permanent line path, hand IK targets, reel pivots, line renderers, and the generated mesh required by FishingRod.

The source object does not have to be a prefab. The builder works from a GameObject in the Hierarchy and saves a new prefab as its output. The source hierarchy is not modified by the bake.

Before you start

Prepare the model in the scene before opening the builder:

  • Keep the flexible rod blank in one or more objects with MeshFilter and MeshRenderer.
  • Keep rigid reel parts, handles, grips, and decorations as separate MeshFilter objects when possible.
  • Place every mesh that belongs to the generated rod under one common root.
  • Rotate and scale the visible source rod into the orientation it should have when held by the character.
  • Apply clean positive scale where possible. Negative or nested non-uniform scale can produce an unexpected generated result.

The source root may have a rotation such as 90, 90, 0. The generated prefab root will still use rotation 0, 0, 0, while its visible geometry preserves the source rod's world orientation.

Open Fishing Rod Builder

  1. Select the rod root in the Hierarchy.
  2. Right-click the selected object.
  3. Select Fishing Game Tool > Create Fishing Rod.

The command is available only when the selected hierarchy contains at least one MeshFilter with an assigned Mesh. Selecting a model asset in the Project window or an empty parent without meshes does not open the builder.

You can reopen this guide at any time through Tools > Fishing Game Tool > Rod Builder Guide.

Choose the flexible meshes

Meshes To Combine initially contains every MeshFilter found below Rod Root. These objects are combined into one generated skinned mesh and will bend with the rod.

Remove every part that should remain rigid:

  • reel body;
  • crank arm;
  • rotating handle grip;
  • spool;
  • rigid handle and decorations.

Removing an object from Meshes To Combine does not remove it from the output prefab. It remains a normal rigid child. Reel meshes assigned later in the Reel section are removed from the flexible list automatically.

Use the utility buttons when needed:

  • Restore All Meshes scans the selected hierarchy again.
  • Initialize Markers resets the initial pivot, flexible points, line points, and grips from the current model bounds.
  • Frame Rod focuses the source rod in Scene view.

Run Initialize Markers before manually positioning the markers because it replaces their current values.

Set the generated pivot

Pivot defines the world position of the generated prefab root. Move its orange Scene handle to the point from which the rod should be positioned, equipped, or attached to the character.

This setting is important when the imported model pivot is far away from the visible rod. During baking, the builder:

  1. places the generated root at Pivot;
  2. sets the generated root rotation to 0, 0, 0;
  3. preserves the world position and orientation of the visible rod geometry.

The pivot changes the reusable root transform without visually rotating the rod.

Define the flexible rod

Place these markers with their Scene handles:

  • Flexible Start: the first point that should participate in bending, normally above the rigid handle;
  • Rod Tip: the end of the rod blank and final line point;
  • Minimum Bone Count: the minimum number of generated bones.

Flexible Start and Rod Tip must be different positions. Use Swap Start And Tip if their direction is reversed.

The builder may generate more bones than the selected minimum. It keeps bone spacing at approximately 0.15 world units or less so long rods retain a useful bending profile. Generated Bone Count shows the final count before baking.

Define the permanent line path

The permanent rod line is the visible line running from the reel to the rod tip. Configure:

  • Reel Mount: the line start at the reel;
  • Line Guides: the intermediate eyelets or guides;
  • Rod Tip: the final point, generated as LineTip.

Select Add Guide for every eyelet and place the new yellow handle at its center. Guides can be entered in any order. Sort Along Rod updates their displayed order, and the bake also sorts them from Flexible Start toward Rod Tip.

Each generated guide is parented to the nearest bending bone, so the permanent line follows the rod while it bends. With no guides, the permanent line connects Reel Mount directly to LineTip.

This permanent line is visual only. It does not simulate a physical rope and does not collide with the environment.

Place the hand grips

Primary Position is the main hand target, normally placed on the fixed rod handle.

Secondary Position is used when the reel does not have a configured Grip Mesh. Place it where the character's second hand should hold the rod.

When Grip Mesh is assigned in the Reel section, the builder creates SecondaryHandGrip at Grip Pivot automatically. The target becomes a child of the rotating reel handle, allowing the character hand to follow the handle during reeling.

HandIK reads PrimaryHandGrip and SecondaryHandGrip from the FishingRod referenced by FishingSystem. The character does not store separate hand positions for each rod.

Configure the reel crank

The reel configuration is optional. To animate the crank and its handle, assign:

  • Arm Mesh: the rigid crank arm;
  • Grip Mesh: the rigid handle held by the secondary hand;
  • Crank Pivot: the world position around which the crank rotates;
  • Grip Pivot: the world position at the center of the handle;
  • Local Rotation Axis: the rotation axis expressed in Rod Root local space;
  • Rotations Per Meter: crank turns for one meter of reeled line.

Arm Mesh and Grip Mesh must be different MeshFilter objects. A Grip Mesh cannot be configured without an Arm Mesh.

The colored Scene view axis shows the resulting rotation direction. Change the sign of Local Rotation Axis when the crank rotates in the wrong direction. The handle keeps its orientation while Grip Pivot travels with the crank.

Configure the reel spool

To animate the spool, assign:

  • Mesh: the rigid spool MeshFilter;
  • Spool Pivot: the world position around which it rotates;
  • Local Rotation Axis: the rotation axis in Rod Root local space;
  • Rotations Per Meter: spool turns for one meter of reeled line.

The spool, crank arm, and grip must use different MeshFilter objects. Use the separate colored Scene view axis to verify the spool direction before baking.

Bake the prefab

When the builder reports The rod is ready to bake, select Bake Fishing Rod Prefab and choose a location inside the project's Assets folder.

The operation creates:

  • the FishingRod prefab;
  • a generated mesh asset beside the prefab;
  • a SkinnedMeshRenderer and procedural bone hierarchy;
  • ReelMount, LineGuide, LineTip, PrimaryHandGrip, and SecondaryHandGrip transforms;
  • optional ReelCrankPivot, ReelGripPivot, and ReelSpoolPivot transforms;
  • the permanent RodLine LineRenderer;
  • the main cast-line LineRenderer required by FishingRod.

The builder temporarily enables Read/Write on source mesh importers when required and restores their previous setting after the bake. It also assigns the included default line material when a generated LineRenderer does not already have a material.

Connect the generated rod

  1. Place the generated prefab under the character's rod holder or use it through the project's equipment system.
  2. Assign the generated FishingRod to FishingSystem.
  3. Assign the FishingFloat prefab on FishingRod if it is not already configured.
  4. Keep HandIK connected to the same FishingSystem so it can read the generated hand grips.
  5. Enter Play Mode and verify hand placement, line order, bending, crank direction, and spool direction.

If a grip or axis is incorrect, fix its marker in the source setup and bake the rod again. Do not manually rotate generated bones or move generated line guides because a later bake will replace those generated values.

Continue with Configuration for FishingRod runtime settings and Troubleshooting for common generation problems.