Model of 2 joined mirrored objects is missing faces when importing into Unity? I am struggling here trying to create models for my Unity game in blender and finally succeeded creating a polygon shape by slicing off the corner of half a cube using a boolean modifier, then doing shift-D to duplicate the object, then mirror it across the x axis and join the 2 objects.

The 2 joined objects have slightly different colors for some reason but here is the object (with all its faces as it should be) in blender:



When I drag the .blend file into Unity it shows up however the side that is the mirrored object is missing some of its faces. This is a problem  -



Why is this happening? Can I fix this?
This sort of issues happens when the mirror modifier has the clipping option turned off and is not merging overlapping vertices.
the different color on those faces indicate that those faces are flipped.
it's a bit tricky to detect hidden geometry but your mesh looks like it's made of 12 faces when at the top you can see there are 14 (2 hidden inside the mesh).

delete the internal faces : turn on wireframe view mode to see them and dissolve them.
remove the doubles vertices : select all the geometry ,press  W and select remove doubles.
recalculate the normals : shortcut ctrlN