GUIDES

unity – How can I implement a fish character with a “chargeable tail” mechanic

preview

I’m trying to replicate the fish physics from Fish Volleyball.

If you want you can try demo of the game or watch video preview

The unique part is that the fish doesn’t jump normally — instead, when it touches a surface, its tail compresses like a spring under the fish’s weight. The fish only bounces if the player presses the jump button (e.g., Space), which should release that stored energy and push the fish away from the surface.

So the desired behavior is:

  • On collision with a surface, the tail visually compresses, storing
    “spring energy.”
  • The bounce does not happen automatically — it only triggers when the
    jump button is pressed.
  • The resulting movement should feel floaty (weak gravity, noticeable
    drag), but the tail bounce should be responsive and controlled.

movement example

What I tried:

  • I experimented with SpringJoint to simulate the compression and
    release.
  • I also attempted a custom implementation, manually applying forces
    when grounded.
  • Created something similar with Godot engine but was not able to push
    the ball with my character

With my limited Unity experience, I’m not sure which built-in components would be best for this, or if it’s something that should be handled through custom scripts

Question:

What would be a good way to implement this “chargeable tail bounce” mechanic in Unity? Should I keep working with joints, or is there a better approach (custom force logic, animation + physics mix, etc.)?

Any advice, examples, or even just pointing me toward the right Unity components would be really appreciated.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button