How do you use blueprints to control textures in Unreal Engine 5.7?

In Unreal Engine 5.7, materials aren’t just static visuals. They can be fully dynamic and controlled in real time using Blueprints. Building on basic texture swapping, this tutorial walks you through creating a fully adjustable material system where you can control:

  • Brightness
  • Contrast
  • Tint
  • Normal map intensity

All of these will be exposed as parameters that you can tweak live using a Material Instance or drive through Blueprints.


Step 1: Basic Texture Setup

We’ll start with the basic texture setup

  1. Right-click and create a new folder for your material
  2. Within this folder, right-click and add another folder for your textures
  3. Drag-and-drop your texture maps into the texture folder
  4. In your material folder, right-click and choose Material
  5. Rename the material M_*name*
  6. Double-click on the material to open the material graph
  7. Drag in your texture maps
  8. Connect the texture maps to their proper inputs on the material node
  9. Apply and save the material
  10. Right-click on the material and choose Create Material Instance – this will allow us to use the master material and make adjustments without needing to do this directly in the master material
  11. Rename the master material to MI_*name*
  12. Drag-and-drop the material instance onto your mesh

Step 2: Albedo Controls

Albedo Brightness

  1. Add a Multiply node by holding down the M-key and left-clicking
  2. Connect the Albedo/Color map to the A-input of the Multiply node and connect the Multiply node to the Base Color
  3. Add a Scalar parameter by holding down the S-key and left-clicking
  4. Rename the Scalar parameter to Albedo Brightness
  5. Connect the Scalar parameter to the B-input of the Multiply node
  6. Since the Value is set to zero, the material will appear very dark
  7. Changing the Value to 1 will make the material appear as we initially set it up
  8. Apply and save the material
  9. If you open the material instance, you will now see the Albedo Brightness parameter which can be adjusted

Albedo Contrast

  1. Add a Power node by holding down the E-key
  2. Connect the Multiply node to the Base-input of the Power node
  3. Connect the Power node to the Base Color
  4. Add a Scalar parameter by holding down the S-key and left-clicking
  5. Rename the Scalar parameter to Albedo Contrast
  6. Connect the Scalar parameter to the Exponent-input of the Power node
  7. Set the Value to 1
  8. Apply and save the material
  9. If you open the material instance, you will now see the Albedo Contrast parameter which can be adjusted

Saturation

  1. Right-click and search for the Desaturation node
  2. Connect the Power node into the Lerp (top)-input of the Desaturation node
  3. Connect the Desaturation node to the Base Color
  4. Since we want to use this for saturation, we need to add an invert node – in this case, a 1-minus node
  5. Add a 1-minus node by holding down the O-key and left-clicking
  6. Connect the 1-minus node to the Fraction-input of the Desaturation node
  7. Hold down the S-key and add a Scalar parameter
  8. Rename the Scalar Parameter to Saturation and change the value to 1
  9. Connect the Scalar Parameter to the 1-minus node
  10. Apply and save the material
  11. If you open the material instance, you will now see the Saturation parameter which can be adjusted

Tint

  • Hold down the M-key and add a Multiply node
  • Connect the Desaturation node to the A-input of the Multiply node
  • Connect the Multiply node to the Base Color
  • Add a Constant-3 Vector node by holding down the 3-key and left-clicking
  • Connect the Constant-3 Vector node to the B-input of the Multiply node
  • In order to use this Vector as a Tint, right-click on the Constant-3 Vector node and choose Convert to Parameter
  • Rename the Parameter to Albedo Tint
  • In the Details panel, set the Default Value to White to bring back the original albedo color
  • Apply and save the material
  • If you open the material instance, you will now see the Albedo Tint parameter which can be adjusted

Grouping

  • Box-select all the Albedo nodes and use the C-key to add a Comment Box
  • Rename the Comment Box to Albedo
  • Select the Scalar Parameters and Constant-3 Vector nodes and in the Details Panel type Albedo in the Group field
  • Apply and save the material
  • If you open the material instance, you will now see that all the adjustment nodes are placed under the Albedo group

Step 3: Metallic Controls

Metallic Brightness

  1. Add a Multiply node by holding down the M-key and left-clicking
  2. Connect the Metalness map to the A-input of the Multiply node and connect the Multiply node to the Metallic
  3. Add a Scalar parameter by holding down the S-key and left-clicking
  4. Rename the Scalar parameter to Metallic Brightness
  5. Connect the Scalar parameter to the B-input of the Multiply node
  6. Change the Value to 1

Metallic Contrast

  • Add a Power node by holding down the E-key
  • Connect the Multiply node to the Base-input of the Power node
  • Connect the Power node to the Metallic input
  • Add a Scalar parameter by holding down the S-key and left-clicking
  • Rename the Scalar parameter to Metallic Contrast
  • Connect the Scalar parameter to the Exponent-input of the Power node
  • Set the Value to 1

Grouping

  1. Box-select all the Metallic nodes and use the C-key to add a Comment Box
  2. Rename the Comment Box to Metallic
  3. Select the Scalar Parameters and in the Details Panel type Metallic in the Group field
  4. Apply and save the material
  5. If you open the material instance, you will now see that all the adjustment nodes are placed under the Metallic group

Step 4: Roughness Controls

Roughness Brightness

  1. Add a Multiply node by holding down the M-key and left-clicking
  2. Connect the Roughness map to the A-input of the Multiply node and connect the Multiply node to the Roughness input
  3. Add a Scalar parameter by holding down the S-key and left-clicking
  4. Rename the Scalar parameter to Roughness Brightness
  5. Connect the Scalar parameter to the B-input of the Multiply node
  6. Change the Value to 1

Roughness Contrast

  • Add a Power node by holding down the E-key
  • Connect the Multiply node to the Base-input of the Power node
  • Connect the Power node to the Roughness input
  • Add a Scalar parameter by holding down the S-key and left-clicking
  • Rename the Scalar parameter to Roughness Contrast
  • Connect the Scalar parameter to the Exponent-input of the Power node
  • Set the Value to 1

Grouping

  1. Box-select all the Roughness nodes and use the C-key to add a Comment Box
  2. Rename the Comment Box to Roughness
  3. Select the Scalar Parameters and in the Details Panel type Roughness in the Group field
  4. Apply and save the material
  5. If you open the material instance, you will now see that all the adjustment nodes are placed under the Roughness group

Step 5: Normal Controls

Normal Intensity

  1. Add a Flatten Normal node by right-clicking and searching for Flatten Normal
  2. Hold down the O-key to add a 1-minus node so we can invert the Flatten Normal node
  3. Connect the 1-minus node to the Flatness-input of the Flatten Normal node
  4. Hold down the S-key to add a Scalar Parameter
  5. Rename the Scalar Parameter to Normal Intensity and change the Value to 1
  6. Connect the Scalar Parameter to the 1-minus node
  7. Connect the Normal Map to the Normal (V3)-input of the Flatten Normal node
  8. Connect the Flatten Normal to the Normal input

Grouping

  • Box-select all the Normal nodes and use the C-key to add a Comment Box
  • Rename the Comment Box to Normal
  • Select the Scalar Parameter and in the Details Panel type Normal in the Group field
  • Apply and save the material
  • If you open the material instance, you will now see that all the adjustment nodes are placed under the Normal group

Conclusion

You’ve now built a fully dynamic material control system in Unreal Engine 5.7. Instead of just swapping textures, you can fine-tune nearly every visual aspect of a surface in real time – from brightness and contrast to surface response and normal intensity.

This approach is extremely powerful for:

  • Dynamic environments
  • Player customization systems
  • Visual feedback (damage, status effects, etc.)

From here, you can expand even further – adding animation, blending between textures, or driving all parameters through gameplay logic in Blueprints.

If you want, I can turn this into a full interactive Blueprint example or show how to animate these values over time.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.