Troubleshooting¶
Fish circles a short plant but never eats¶
Confirm that the plant has PlantFoodSource. Feeding points are automatically clamped into FishSwimVolume. Ensure the latest scripts are compiled and plant colliders are triggers.
Fish stops eating halfway¶
Search Food At starts a meal; Stop Eating At ends it. Use separate values such as 40 and 12. Older logic that stopped at the search threshold has been replaced.
Prey constantly flees and starves¶
Reduce predator count, passive proximity, danger radius or predator speed. Prey now uses full danger range only when actively targeted.
Prey gathers in a corner¶
Verify that escape-route selection is current. It scores lateral routes, boundary clamping and crowding. Large predator populations in a small volume may still require a larger swim area.
Fish passes through rocks¶
Confirm that obstacle avoidance is enabled, obstacle layers include the rock collider layer and environment objects have colliders. Trigger colliders are intentionally ignored.
Animator does not react¶
Confirm parameter names and types. State must be an integer; Bite and Death must be triggers. Check the config Inspector for validation errors.
Custom controller is ignored¶
The component must implement the correct interface and the config mode must be Use Prefab Controller.
Setup creates duplicate generated files¶
Current builders write visual data to Generated/Visual and ecology data to Generated/Ecology. Remove obsolete copies only after confirming the scene uses the current GUIDs.
Missing assets after export¶
Export the complete UnderseaWorld folder. Content dependencies have been localized under Content; exporting only the demo prefab is not sufficient.