Thank you for purchasing this tool. I hope it will benefit your workflow and free you up some time so you can focus on making great games.
If you have any questions please have a look in the FAQ section or get in touch (firstname.lastname@example.org)
The Tool in action
Step 1: Turn on Blutilities in the editor preferences
Step 2: Turn on the editor scripting plugin
- Emissive (Mask)
- Ambient Occlusion
- Packed Textures like ORM
Context Menu Support
If you dont want to use the menu, I added support for the context menu. Just select all textures you want to use for your material, right click on them and under “Scripted Actions” click on “Create Materials”.
A dialog appears. Here you can set the most common settings. If you want to change more basic settings please find the Blutility “Create_Material_ContextMenu”, right click on it and change it´s default values. The changed values will be taken into account the next time you run the script.
Automatic Material Name
The tool creates the material name from the textures found in the folder. You have the possibility to define the divider for the search pattern. For example, if your textures for a tree are called “T_Awesometree_Basecolor”, the divider would be “_” and the resulting material will be named M_Awesometree. The defined texture prefix ” T_” will be ignored.
If there are 5 Textures with the name “T_Awesometree_*” only 1 material will be generated, all matching textures will be loaded into this material and correctly connected.
You have the option to define a master material. In this case material instances from the specified master material will be generated and the textures are set as texture parameters inside the material. You are able to define the name of each parameter to match your own master material. I also added a basic master material you can use if you don´t have your own.
- Masked Material
- Translucent Material
Keep the Pattern Array short
Although the script does a decent job working with a lot of patterns, it will increase the execution time quite a bit. It also increases the error treshold. In an ideal project you would exactly know the correct naming convention and just use this one. But if you are working with a large library, feel free to use more than one pattern to serach for the right texture.
Be sure that your textures are named correctly. For example, “T_Rock_Basecolor” and “T_Rokk_Roughness” will result in 2 seperate materials. You can use my cleanup tool to batch rename files if you need to correct the spelling on a lot of textures.
No Duplicate Textures
Avoid duplicate textures. If you have “Tree_Basecolor” and “Tree_Albedo”, and both are definied in the Basecolor Searchpattern (as by default), only one of them can be used.
Also the script can have a hard time if there is a packed texture (OcclusionRoughnessMetallic) and a single texture (Roughness) for the same asset. I know it is very unlikely, but I´ve already seen the weirdest things.
Changes I made to the variables are not kept
In order for the variables to be kept, you need to change the default parameters. If you change them in the window that appears after double clicking on the Blueprint, the changes will only take affect as long as the window is opened.
For changing the default values permanently you have two options:
- Right click on the Blueprint and press “Edit Defaults”
- Right click on the Blueprint and press “Edit Blueprint” (advanced)
The first method is recommanded.
If you want to change the default settings for the context menu please find the Blutility “Create_Material_ContextMenu”, right click on it and change it´s default values. The changed values will be taken into account the next time you run the script.
My Textures aren´t recognized
Be sure to define the search parameters right. They are case sensitive. So the pattern “normal” is not going to load a *_Normal” texture. If you want, you can add “normal”, “Normal”, “nrm”, “NRM”etc. to the array. But the more items you add here, the longer the execution takes, and the more likely it is that you will get errors in the connections.
Will there be support for earlier engine versions?
The bluetility feature used by this tool was introduced in 4.20. I´m not able to support any earlier engine versions, sorry. Currently, the tool is for 4.21, but I´m working on 4.20 support.