I have modeled, textured and weight painted my FishBird in Maya. Then I created a control rig in MotionBuilder which I also rigged with extensions to be able to animate everything in MotionBuilder.
In Unreal I created blueprints and a state machine for my creature. FishBird can both idle, run and sprint as well as wait when told by the girl. It can also be mounted and the player can ride it with synchronized animation between the FishBird and its rider. I also implemented that the fish can lean when it is turning while running or sprinting. To add some extra follow through and overlapping action I combined animation and physics on the FishBirds fins.
When working from MotionBuilder to Unreal my focus has been to be iterative and build my functionality in Unreal using very basic placeholder animations. Then, when my gameplay features become more reliable and works, I start to work more on polishing up animations. This way I have been able to work a lot more back and forth between MotionBuilder and Unreal making sure that I have functionality before I put time and effort into polishing animations for a feature that I might cut.
.