Hi, I’m having a trouble automating texture streaming build using Commandlet.
If I try to build texture streaming using Commandlet:
./(...)/UnrealEditor.exe ./(...).uproject -run=ResavePackages -buildtexturestreaming -AllowCommandletRendering -SkipSkinVerify -SkipFails -AutoCheckOutPackages -SkipCheckedOutPackages -Map=(...)
streaming textures shows different behavior when built from the editor(Build - Build Texture Streaming).
To be specific:
- Prepare two materials using same textures:
- MatA) One that will cause error while building texture streaming data(SamplingScale) for material. (Which will get NoValue error.)
- MatB) One with no error while building texture streaming data.
- Setup a Level with two actors including each materials.
- Build texture streaming using Commandlet:
- Actor with material MatB will show high resolution texture regardless of the camera distance (but error not detected by r.Streaming.CheckBuildStatus 1)
- If you build texture streaming using Editor(Build - Build Texture Streaming), Actor will material MatB will now show appropriate texture streaming.
[Image Removed](When built from Commandlet)
[Image Removed](When built from the editor)
I’m confused because it seems like texture streaming build with Commandlet uses same function for this, FEditorBuildUtils::EditorBuildTextureStreaming(World).
Both build method fails at building data for MatA and MatB. Actually, build result itself seems to be identical?
Also, this kind of issue won’t happen if there are no material with texture streaming data issue(SamplingScale).
+ Seems like the issue comes from Commandlet not resaving materials after texture streaming build. Since editor build does not mark dirty or resave materials too, if you restart the editor unoptimized result will show if materials are not resaved manually.
However, I still can’t get why this would make any difference. Both cases fail on building data for MatA, and I couldn’t find any meaningful changes in material texture streaming data.
I want to know why would this happen and how should I fix this.
Any insight would be appreciated. Thank you.