What is the difference between EInstaLODResultUsage and UInstaLODResultSettings with EInstaLODSavingOption? And why can I only use one of them in Python?

In the InstaLOD C++ API, I see there are two different enums. One is EInstaLODResultUsage and the other is EInstaLODSavingOption which is used in conjunction with the class UInstaLODResultSettings. I see the first one is used as part of the Utilities section in the Unreal Editor Base Tool for InstaLOD. I can use it to optimize my static meshes with these settings.

However, I am trying to write a Python script that automatically selects meshes in the level and optimizes them using the InstaLOD Script Wrapper. But I am not able to use EInstaLODResultUsage in Python. I can only use UInstaLODResultSettings in Python which doesn’t give me the same results. What is the difference between the two? Ideally, I would like to set the settings in the screenshot above in my Python script. How would I do that? Thanks in advance.

Hello @KomalShashank and welcome to our community!

I will bring this up internally and we will provide further information as soon as it becomes available.

Thanks!

Hello again @KomalShashank and thanks for your question.

After investigating internally, it is not currently possible to use the EInstaLODResultUsage enum directly through Python, without some modifications in the source code in C++. The enum is not exported to Python, and the default logic for saving the assets when processing them through Python/Blueprints is the default behavior.

Improvements are planned for the plugin and Python API that would allow this setting to be modified in the future, but we can’t provide any estimate for now.

Thanks, and if you have any further questions, please don’t hesitate to ask!