🐟 Medium & Small Freshwater Fish Pack — Simple fish meshes #1, available on FAB.com or ITCH.io or gumroad.com
Video presentation: youtu.be/uQZi4Ak5YFs
Fish species included:
Crucian Carp, Prussian Carp, Wild Carp, Leather Carp, Silver Carp, Bighead Carp, Common Bream, White Bream, Roach, Rudd, Ide, Chub, Dace, Bleak, Asp, Gudgeon, Tench, European Perch, Ruffe, Northern Pike, Brown Bullhead, Black Piranha.
Aquarium fish:
Guppy, Platy, Neon Tetra, White Cloud Mountain Minnow.
Package Contents
- 23 + 23 unique meshes (skeletal mesh + static mesh copy, static mesh with folded side fins)
- 26 fish variants (additional textures for Leather Carp, Bighead Carp, and
- Prussian Carp)
- 2K textures
- Cooked/Fried fish texture variants for larger fish species
- 1,240–2,582 polygons per meshAnimations & Blueprints
Every fish includes 3 animations: - Idle (hovering)
- Swimming
- Folded side fins
- Each fish comes with its own Animation Blueprint featuring a simple interface that accepts:
- Swimming speed
- Enable/disable folded fin mode
- The Animation Blueprint automatically blends animations based on movement speed and the selected fin mode, producing natural fish behavior.
- A demonstration actor is included, randomly changing swimming speed to showcase dynamic animation transitions.
Demo Scene
The project includes both an aquarium and a pool where the fish are already swimming or spawns when needed.
You can approach the fish to switch between species, or see aquarium fish simultaneously.
Note: if Epic launcher downlads this asset without «*.uproject» file and «config» folder, just put downloaded content in any othet blank project and launch demonstration scene in «content/Simple_Fish_Meshes_1/Demo/Maps/Demonstration.umap».
Recommended asset
For realistic fish AI and population management, I highly recommend pairing this pack with Simple Fish Logic.
It provides advanced fish behavior and population control, straightforward integration instructions:
Video version of instructions available here: youtu.be/qKixdzLS4go
- Copy «Simple_Fish_Meshes_1» folder in «SimpleFishLogic» project «content» folder(folders «SimpleFishLogic» and «Simple_Fish_Meshes_1» must be placed in same «content» folder)
- (Optional) Delete «Demo» folder in copyed «Simple_Fish_Meshes_1» folder, it’s content not needed for integration
- Open «BP_FishMain» blueprint(can be found in folder «SimpleFishLogic\Blueprints») and find his variable «MoodPresets» — change it «from DT_FishMoods» to «DT_SFMIntegratedMoods»
- (Only for v1.13 or below) In «BP_FishMain» find and open function «SetPresets», exclude «switch» node from «Presets» variable, and get from this variable node «enum to string» first, next – «string to name», then connect it to «Row Name» in «Get Data Table» node replacing «SelPresetName» variable. It is very important to have all list of presets available without need to add every entry mannualy.
- In «BP_FishMain» blueprint find variable «Presets» — change it type from «EN_MoodPreset» to «EN_SFMIntegratedMoodPresets», try compile and fix some errors with new type of this variable(refresh «SpawnActor» nodes to make new Presets compatible, recconect «Presets» variable to it, in «SetPresets» function replace «enum to string» node with new one from new «Presets» variable)
- In «BP_FishMain» in «Set Anim Speed» function, add right next «Set Speed» node of interface another similar «Set New Speed» node from «BPI_SFMFish_interface», connect it with «speed» and execution connections.
- In «BP_FishMain» in «Get Anim BPRef» function, add right next setted «FishAnimBP» variable «SetMaxSpeed» node from «BPI_SFMFish_interface»
- In «BP_FishMain» add interface «BPI_SFMFishInterface» in «Class Settings», find in interfaces vars «GetCurMesh» — doubleckick(open this function) and add «mesh» reference of «BP_FishMain»(drag mesh from top left ierarchy and drop in front of function output node), connect it to output noode «mesh» input
- Now you can use Simple Fish Logic asset like usual, but with all new fishes available in preset menu on BP_FishMain properties options.

