Strange shading fragments on mesh can anyone help me?

I've just finished texturing a model I made. After I import the mesh and the textures in UE4, I've encountered this shading fragments.

This are screenshots on UE4:









This is how it looks like in substance painter:



And this is the model on blender:



EDIT:
I'm not too sure with the all quads solution.
I've tried ripping a part of the model that is all quads but it's still giving me weird shading.

New blender screen capture:
A possible solution to your question could be that you need to try and make geometry that defines the shape of your  all quads and then, around corners, add edge loops to surround those defining points (namely sharp corners, etc.). Then, after that, mark those edges (not the esge loops) as creases. It should work after that. Using a subsurf modifier should help on top of this.