Model looks bulky with smooth shader, don't want to subdivide further, would a normal map made from a high poly version make it look better? I am still quite unsure about a lot of things, the model I work on will be imported into the unreal engine so it shouldn't have too many faces/tris, but I encounter a problem here...



This is how my model looks flat shaded, it has been subdivided two times at this point and has around 6000 faces.



But now, when I select smooth shading, the whole model looks bulky, I considered subdividing it once more which would make it look smooth but then it would be up at 52000 tris, which I think would be too much.

When I bake a normal map off a high poly version of the mesh and apply it, would it hide the bulkyness?  Or is there a way to only subdivide certain parts of the mesh to avoid senseless masses of faces on toes and tail?
A normal map will definitely do what you are thinking of, however once you add a texture to your object you will not notice the 'bulkiness' of your object nearly as much. In fact, I would suggest optimizing your model more by removing some vertices, as adding a texture and normal map will make a lot of them unnecessary. One thing to keep in mind is that triangles are not a bad thing in game models, so use that to your advantage when adding or removing vertices.

When adding a normal map, keep in mind that you can add more details such as creases in the skin, skin texture, scales, etc. For the high poly mesh you will bake the normals from I would suggest using a multiresolution modifier instead of a subsurf and sculpting in as many details as you can before baking.