I'm having a bit of an issue with textures. No matter how many times I rebuild the material list, almost all of the materials show up as 'None' when importing maps. I can manually add them, but larger maps with 200+ textures would take way too long. Anyone have a fix for this?
Strange, that shouldn't be happening.
Can you look at hammUErPlugin.cfg in your <project directory>\Config in a text editor and see if there's 5 things on every line (so MATERIALS/BRICK/BRICKFLOOR001A,512,512,0,BRICK/brickfloor001a_mat instead of MATERIALS/BRICK/BRICKFLOOR001A,512,512,0,). If almost everything shows up as None, they probably don't.
What you can do is remove everything after the "hammUErVersion,4" line and saving the file, and do another discovery with rebuild master list ticked on.
If you still have mostly 'None' materials, there's something else seriously wrong.
Do you have directories with non-A-Z characters? (Accents or whatnot)
I tried and that didn't work. Everything is still 'None'. I do have my project saved to a different drive, not my C:\ drive. I do not know if that would cause anything, though, as my entire Epic Games installation is on my D:\ drive.
All of my materials are in one directory (uncreatively named 'SourceStuff') in my project. I tried to separate them in a different project but I still ran into this issue.
Different drives shouldn't matter.
I... have no idea what could be wrong. A full rebuild should fill your database with everything it's found.
If you turn on verbose debug messages on the ConfigUEr tab, you should have a lot of "LogTemp:Warning: ..... Adding to master material list" lines.
What version are you running?
Currently, I'm running on version 4.16. I tried with 4.15 as well but the problem still occurred.
Can you turn on verbose debug logging, rebuild your master list and pastebin or dropbox the log file so I can take a look at what's happening?
I looked through the logs myself and found the error messages related to building the master materials list. This comes up for pretty much every material it finds:
- [2017.06.19-22.36.45:617][ 14]LogMaterial:Warning: (Node TextureSampleParameter2D) Param2D> Requires Texture2D
- [2017.06.19-22.36.45:717][ 15]LogMaterial: Missing cached shader map for material BaseMaterial, compiling.
- [2017.06.19-22.36.45:718][ 15]LogMaterial:Warning: Failed to compile Material Instance /Game/SourceStuff/Materials/metal/metaltruss024a_mat.metaltruss024a_mat with Base BaseMaterial for platform PCD3D_SM5, Default Material will be used in game.
This happened with the sample base material provided in the sample materials zip as well.
If your base material has errors, check it, and try to fix whatever's wrong first.
UE straight up doesn't load materials that have "errors", as you can see from all the "Failed to compile Material Instance" warnings in the log.
Looks like it's looking for flat_normal in the content root, so you probably have to point the $bumpmap node to whatever directory you unpacked the sample material zip normal texture into, until the error message in the base material editor view is gone and it actually compiles. It'll probably take a while to actually compile all your other materials for the first time as well.
I have no idea what the HammUEr/road_street_04 and road_street_04_nrm it's looking for and can't find, I'm assuming those are yours you assigned to other nodes/used in your own base material and then moved/deleted?
I've done some experimenting and I found that it might have something to do with the $selfillum and $selfillummask. About 70% of the materials loaded this time. The ones that didn't load either had a fucked up name or had an issue with the $selfillummask. Here's an example of the logs:
[2017.06.20-17.55.07:758]LogMaterial: Missing cached shader map for material HammUErBaseMaterial, compiling.
[2017.06.20-17.55.07:758]LogMaterial:Warning: Failed to compile Material Instance /Game/SourceStuff/Materials/BUILDINGSET057A_mat.BUILDINGSET057A_mat with Base HammUErBaseMaterial for platform PCD3D_SM5, Default Material will be used in game.
[2017.06.20-17.55.07:758]LogMaterial:Warning: (Node TextureSampleParameter2D) $selfillummask> Requires Texture2D
Second verse, same as the first.
The $selfillummask node isn't used for most materials, so most of them compiled fine, but the $selfillummask param2D node got emptied, so you just need to put a random texture in there (it won't be used for most of them, and if it get used, it'll be replaced by what needs to be there anyway)
(while you're at it, check all the other nodes in your material to see if any of them got reset to nothing as well)