"0 metalness" in UE4 corresponds to "F0 (head-on) spec intensity of 0.04", so for low roughness (mirror reflections) you should be getting specular reflections that are about 4% intensity of the environment when the view direction is the same as the surface normal. As the viewing direction becomes more "grazing" with respect to the surface normal, the fresnel effect will cause the reflection to increase to 100%. If you're not getting this behavior, then you may have a bug somewhere. One thing I've found to be really helpful for these kinds of scenarios is to build a debug tool into your engine that lets you hover your mouse over a pixel, and it will tell you the final exit radiance for the surface under that pixel. If you have this, you can verify that your specular reflections are approximately the correct intensity.
As for your non-metal object looking like metal, keep in mind that if you don't have matching diffuse lighting then every material will look metallic! This is why it's important to have matching/balanced diffuse and specular terms from your environment.
Thanks for the reply and suggestions, I will definitively make sure the diffuse matches the specular bit :)
I will try and check precise values, but certainly, especially in the back of the object (w.r.t to light) the intensity of reflections is way higher than 4% and given the code I posted above this is to be expected, right? I mean the "specular colour/F0" is scaling only first channel of the envbrdf texture and the y channel is only scaled by the result from cubemap, regardless of the material metalness. In this case, even if non-metal meant 0, I will always get something since metalness is not taken into account when generating the envbrdf texture...
I wonder if that the above is all fine, and the y channel is always supposed to be very small but at grazing angles, hence I might have some bugs in computing such angles (and therefore I pickup always high values when I shouldn't?). That sounds plausible, right? I am not sure how possible, but I wonder if I could've some errors in computing the view vector...
To validate I was not doing something odd I literally copy-pasted the code that generates the envBRDF texture from UE presentation.
As for how I apply the reflections, I do that as a post-process pass blending on top of the already lit scene and I use the formula I posted above.
Thanks