UE4 Materials, Anyways to customize specular/Highlight color?

HI, I want the material to have a specific highlight color, instead of the lights color reflecting off.

I was using a little bit of metallic value in my material for the highlight color to be the mix of base color and environment, instead of regular specular since this one only reflects the lights color as the highlight

But now I don’t want to do this anymore because first, the highlight color is restrained to the base color,
and second, because I never wanted the material to be metallic.

I read somewhere that the PBR in UE4 basically makes this impossible. But if there’s any material wizards in this platform who’ve done the impossible, please help me!

Funnily enough, it’s as simple as multiplying a color by the specular in unity. but unreal’s rendering model makes it impossible. I can think of three ways around this, one is as you have already mentioned, by using the metallic value. two, you can manually change the way unreals rendering works (I wouldn’t recommend this one) and the final more ‘hacky’ way is this:


The way the specular channel is set up means you cant alter its color, so you will have to fake it using emission.

Then you would have to get your light direction through a blueprint and pass it through into your material because in mine I’m just using a custom direction.

1 Like

HI Mr Eznaex!!

Thanks for the solid solution!
So as long as I fake the directional light within the material it is possible!?

just one thing tho, does this work while using normal map?

Yes, I imagine there’s a way to receive the direction of the scene light in blueprint and pass the vector to the material if thats something you needed, but im not sure, you’ll have to figure it out, if you struggle with it, let me know and ill have a crack at it.

I believe this should work fine with normal maps as you can see in the screenshot, we are using the pixel normals to get the reflection

1 Like

Thank you so much!
I will try it out :pray:

1 Like