I added a custom collision type named fish, added this type to fish capsule and to blocking volume, set Trace Distance with values between 1 and 100. This is the result Screen Recording 2025 10 31 090725 , the fishes are all block to same position. I increased water column to bigger one and the result is the same.
Ok, I think I see whats happening here. Thanks for sharing the video, it really helps to see whats going wrong.
Open the “BP_NPC_Fish_Base”
(Blueprints > NPC_Fish > BaseClass folder)
Find this area after Tick (See Image)
When a fish gets within 1500 Unreal units of the current WaterTarget they switch to a new one. it looks like all your water targets are all within this area- so they just keep switching to a new target and don’t move anywhere. Try lowering this value to like 200, Save and compile- and test.
Let me know how this goes, you may also need to scale down the Fish as the water area your working with here is quite small.
Same result with 200 and 100. Screen Recording 2025 11 02 161651
what is their behavior if you get rid of the blocking volume? do they move toward the Water Targets? or go up into the air some distance above the water targets?
also be sure those Water Targets are not inside the blocking volume as well. they need to be reachable. Also when you scale down the fish be sure to scale down the collision capsule. The Fish is looking like its getting constant collision on the capsule.
UPDATE- I think i see a few changes that I could make to make the system more flexible. I’ll be submitting an update later today, The new update is now live. ![]()
all answers are in clip Screen Recording 2025 11 03 115824
I have updated Fish to version 2.0.
in this update I have added several settings to the Fish to make them more flexible for differing scenarios. In the Maps folder I have added a Shallow Water Demo showing the Fish working with obstacle avoidance even in very shallow water.
Here are the new settings for the Fish.
In this example I have scaled them down to .2 their original size and have changed swimming speeds and Trace line distances to compensate for the shallower water. For this setup I have also scaled down the Water Targets to better fit in the shallow water.
The new update is now live. I highly recommend updating to the new version. It makes scaling the system much more streamlined. Also now you have the option of disabling the obstacle avoidance should you choose to.
Thanks for your support! All looking now better. Two last “problems“.
- Fishes can ignore blocking collision for different meshes from water. Look at start where my character can’t travel through rock but fishes can.
- Fishes can block collisions with main character but my manequine can’t. Fishes swim through my caracter

Here is video sample. Screen Recording 2025 11 05 123615
Those issues are just up to the collision settings. Make sure those rocks are set to block all including your custom Fish collision channel, also set it to block the Visibility Trace channel, so the Fish can also avoid the rocks with their line traces. And for the Fish I like to set their Collision sphere to block all but each other (Custom Fish channel)
Also be sure that your custom character is set to block the custom Fish channel as well, if you want your character to collide with the Fish.
Hope that helps
Also if you have issues after setting the Fish to block all- you might need to scale them down a little more. They are still looking kind of large in your shallow water there.
How I told already and can see in video the rock have all required block collision and my character too. I can’t enter inside fish but they can no matter that I block all collisions. Is not a big problm bur still … ![]()

