Recent changes in the MeshReductionManagerModule::StartupModule() have introduced issues where it won't respect what reduction modules have been set in the config file. This is a big issue for plugins that implement the IMeshReduction and IMeshMerging interfaces since they won't be able to stay picked after the required restart of the editor after changing to them in the project settings.
In 5.1.x (and earlier), we got what modules to use for the different reduction interfaces directly from the config file. Now, in 5.2 (preview 2) this has been changed to get it from the UMeshSimplificationSettings class. From my investigations it looks like the class gets the correct values set in the config when it is created but then in PostInitProperties() it gets defaulted back to the default value for the console variable. This is because the console variable has not received the value from the config file yet.
There is also an issue where the default value for r.ProxyLODMeshReductionModule is set to a name that does not exist.
Properly testing this would require another reduction module such as simplygon, so it's not a trivial task. However, you can fake a module change to replicate what would occur
Change this entry in BaseEngine.ini from:
[/Script/Engine.MeshSimplificationSettings]
r.MeshReductionModule="QuadricMeshReduction"
To:
[/Script/Engine.MeshSimplificationSettings]
r.MeshReductionModule="DUMMY_MESH_REDUCTION_MODULE"
If it's working as intended, you should now see this in the log:
LogMeshReduction: Warning: Mesh reduction module (r.MeshReductionModule) set to "DUMMY_MESH_REDUCTION_MODULE" which doesn't exist.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-185038 in the post.
1 |
Component | UE - World Creation - Worldbuilding Tools |
---|---|
Affects Versions | 5.2 |
Target Fix | 5.4 |
Fix Commit | 26262887 |
---|---|
Main Commit | 26260593 |
Created | May 4, 2023 |
---|---|
Resolved | Jun 17, 2023 |
Updated | Sep 26, 2023 |