I know this has already been posted but they are all old. I have tried many things but I can't make my mesh take a texture in the game engine. I have it unwrapped and everything. I've tried uploading the images/textures in several different ways, including; dragging and dropping it onto objects, going through the materials and texturing tabs. It looks fine on the blender render but nothing but a solid diffuse in BGE. I'm not sure how to upload a file of it but i will if/when I figure out how to.
There should be an option within the render settings to display as either Multitexture or GLSL. To change this option, while your mouse is over the 3D viewport, press the "N" key. In the sidebar that appears, open one of the drop down menus (I believe it's the one labeled Display) and you will find an option that toggles between the Multitexture and GLSL rendering systems. Click GLSL if it's not already selected and you should see your textures appear.
The 1st thing to do is to switch to "Texture display mode" for viewing while testing.
The main solution is to add all your textures to ASSET LIBRARY under the BGE render settings.
That's what I did when I was having the same issues