Blender 4.2 Exporter 2.3.1: Can not export material using detail comp texture

Blender 4.2 (also tested 3.6)
Exporter 2.3.1

Using multi exporter preset
Used to work with previous versions on Blender 3.6

Problem: With the new exporter, I can’t export materials with detail comp textures anymore. The export fails as soon as the detail comp slot is filled. Exports fine when empty.
The vertex color layer is set correctly. I don’t use blend mask texture here.
Here is the error:

AsoboMaterialDetail - to extension Detail Color <bpy_struct, Image("Jag_Fuselage_Detail_comp.png") at 0x000001E1E8371D20>
Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\io\exp\gltf2_io_user_extensions.py", line 14, in export_user_extensions
    hook(*args, export_settings)
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_export.py", line 193, in gather_material_hook
    MSFS2024_MaterialExtension.export(
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\msfs_material_extensions.py", line 255, in export
    extension.to_extension(blender_material, gltf2_material, export_settings)
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\extensions\material\asobo_material_detail_map.py", line 152, in to_extension
    MSFS2024_MaterialExtension.set_extension_texture(
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\msfs_material_extensions.py", line 237, in set_extension_texture
    extension[attribute.extension_name()] = MSFS2024_MaterialExtension.export_image(
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\msfs_material_extensions.py", line 153, in export_image
    texture_info = gather_texture_info(
                   ^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_texture_info.py", line 30, in gather_texture_info
    return __gather_texture_info_helper(primary_socket, blender_shader_sockets, 'DEFAULT', filter_type, export_settings)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_texture_info.py", line 65, in __gather_texture_info_helper
    if not __filter_texture_info(primary_socket, blender_shader_sockets, filter_type, export_settings):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_texture_info.py", line 139, in __filter_texture_info
    if get_texture_node_from_socket(primary_socket, export_settings) is None:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_search_node_tree.py", line 131, in get_texture_node_from_socket
    result = from_socket(
             ^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_search_node_tree.py", line 119, in from_socket
    if start_socket.socket is None:
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'NodeSocketColor' object has no attribute 'socket'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\__init__.py", line 1287, in execute
    res = gltf2_blender_export.save(context, export_settings)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 37, in save
    json, buffer = __export(export_settings)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 55, in __export
    __gather_gltf(exporter, export_settings)
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 202, in __gather_gltf
    active_scene_idx, scenes, animations = gltf2_blender_gather.gather_gltf2(export_settings)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather.py", line 31, in gather_gltf2
    scenes.append(__gather_scene(blender_scene, export_settings))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather.py", line 94, in __gather_scene
    node = gltf2_blender_gather_nodes.gather_node(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_nodes.py", line 42, in gather_node
    mesh = __gather_mesh(vnode, blender_object, export_settings)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_nodes.py", line 335, in __gather_mesh
    result = gltf2_blender_gather_mesh.gather_mesh(blender_mesh,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_mesh.py", line 59, in gather_mesh
    blender_mesh, vertex_groups, modifiers, export_settings), primitives=__gather_primitives(
                                                                         ^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_mesh.py", line 136, in __gather_primitives
    return gltf2_blender_gather_primitives.gather_primitives(blender_mesh,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_primitives.py", line 57, in gather_primitives
    blender_primitives, addional_materials_udim = __gather_cache_primitives(
                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_primitives.py", line 140, in __gather_cache_primitives
    blender_primitives, additional_materials_udim, shared_attributes = gltf2_blender_gather_primitives_extract.extract_primitives(
                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_primitives_extract.py", line 41, in extract_primitives
    primitive_creator.manage_material_info()  # UVMap & Vertex Color
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_primitives_extract.py", line 436, in manage_material_info
    base_material, material_info = get_base_material(material_idx, self.materials, self.export_settings)
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_materials.py", line 697, in get_base_material
    material, material_info = gather_material(
                              ^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_materials.py", line 177, in gather_material
    export_user_extensions('gather_material_hook', export_settings, material, blender_material)
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\io\exp\gltf2_io_user_extensions.py", line 16, in export_user_extensions
    export_settings['log'].error("Extension hook " + hook_name + " fails on " + extension)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
TypeError: can only concatenate str (not "glTF2ExportUserExtension") to str
Error: Python: Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\io\exp\gltf2_io_user_extensions.py", line 14, in export_user_extensions
    hook(*args, export_settings)
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_export.py", line 193, in gather_material_hook
    MSFS2024_MaterialExtension.export(
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\msfs_material_extensions.py", line 255, in export
    extension.to_extension(blender_material, gltf2_material, export_settings)
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\extensions\material\asobo_material_detail_map.py", line 152, in to_extension
    MSFS2024_MaterialExtension.set_extension_texture(
  File "C:\Users\Theo\AppData\Roaming\Blender FoundatTraceback (most recent call last):
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 741, in execute
    exported_paths = self.export_presets(context)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 634, in export_presets
    exported, exportpath = self.export_preset(context, preset)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 617, in export_preset
    self.export(context, export_path)
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 297, in export
    gltf = self.export_blender_4_2(context, file_path, settings)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 208, in export_blender_4_2
    return bpy.ops.export_scene.gltf(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\modules\bpy\ops.py", line 109, in __call__
    ret = _op_call(self.idname_py(), kw)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Error: Python: Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\io\exp\gltf2_io_user_extensions.py", line 14, in export_user_extensions
    hook(*args, export_settings)
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_export.py", line 193, in gather_material_hook
    MSFS2024_MaterialExtension.export(
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\msfs_material_extensions.py", line 255, in export
    extension.to_extension(blender_material, gltf2_material, export_settings)
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\extensions\material\asobo_material_detail_map.py", line 152, in to_extension
    MSFS2024_MaterialExtension.set_extension_texture(
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\msfs_material_extensions.py", line 237, in set_extension_texture
    extension[attribute.extension_name()] = MSFS2024_MaterialExtension.export_image(
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\msfs_material_extensions.py", line 153, in export_image
    texture_info = gather_texture_info(
                   ^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_texture_info.py", line 30, in gather_texture_info
    return __gather_texture_info_helper(primary_socket, blender_shader_sockets, 'DEFAULT', filter_type, export_settings)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_texture_info.py", line 65, in __gather_texture_info_helper
    if not __filter_texture_info(primary_socket, blender_shader_sockets, filter_type, export_settings):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_texture_info.py", line 139, in __filter_texture_info
    if get_texture_node_from_socket(primary_socket, export_settings) is None:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_search_node_tree.py", line 131, in get_texture_node_from_socket
    result = from_socket(
             ^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_search_node_tree.py", line 119, in from_socket
    if start_socket.socket is None:
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'NodeSocketColor' object has no attribute 'socket'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\io\exp\gltf2_io_user_extensions.py", line 16, in export_user_extensions
    export_settings['log'].error("Extension hook " + hook_name + " fails on " + extension)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
TypeError: can only concatenate str (not "glTF2ExportUserExtension") to str
Location: C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\modules\bpy\ops.py:109

Error: Python: Traceback (most recent call last):
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 741, in execute
    exported_paths = self.export_presets(context)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 634, in export_presets
    exported, exportpath = self.export_preset(context, preset)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 617, in export_preset
    self.export(context, export_path)
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 297, in export
    gltf = self.export_blender_4_2(context, file_path, settings)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 208, in export_blender_4_2
    return bpy.ops.export_scene.gltf(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\modules\bpy\ops.py", line 109, in __call__
    ret = _op_call(self.idname_py(), kw)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Error: Python: Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\io\exp\gltf2_io_user_extensions.py", line 14, in export_user_extensions
    hook(*args, export_settings)
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_export.py", line 193, in gather_material_hook
    MSFS2024_MaterialExtension.export(
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\msfs_material_extensions.py", line 255, in export
    extension.to_extension(blender_material, gltf2_material, export_settings)
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\extensions\material\asobo_material_detail_map.py", line 152, in to_extension
    MSFS2024_MaterialExtension.set_extension_texture(
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\msfs_material_extensions.py", line 237, in set_extension_texture
    extension[attribute.extension_name()] = MSFS2024_MaterialExtension.export_image(
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Theo\AppData\Roaming\Blender Foundation\Blender\4.2\scripts\addons\io_scene_gltf2_msfs_2024\io\com\msfs_material_extensions.py", line 153, in export_image
    texture_info = gather_texture_info(
                   ^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_texture_info.py", line 30, in gather_texture_info
    return __gather_texture_info_helper(primary_socket, blender_shader_sockets, 'DEFAULT', filter_type, export_settings)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_texture_info.py", line 65, in __gather_texture_info_helper
    if not __filter_texture_info(primary_socket, blender_shader_sockets, filter_type, export_settings):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_gather_texture_info.py", line 139, in __filter_texture_info
    if get_texture_node_from_socket(primary_socket, export_settings) is None:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\gltf2_blender_gather_cache.py", line 37, in wrapper_cached
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_search_node_tree.py", line 131, in get_texture_node_from_socket
    result = from_socket(
             ^^^^^^^^^^^^
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\blender\exp\material\gltf2_blender_search_node_tree.py", line 119, in from_socket
    if start_socket.socket is None:
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'NodeSocketColor' object has no attribute 'socket'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\addons_core\io_scene_gltf2\io\exp\gltf2_io_user_extensions.py", line 16, in export_user_extensions
    export_settings['log'].error("Extension hook " + hook_name + " fails on " + extension)
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
TypeError: can only concatenate str (not "glTF2ExportUserExtension") to str
Location: C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\modules\bpy\ops.py:109

Hello,

Can you test with the latest SDK Core (1.2.2) along with the Blender plugin version 2.3.2 to see if the issue is fixed ?

Please let us know if this resolves your problem.

Thank you

Regards,
Boris

I am having the same issue. Using Blender 4.2LTS with MSFS 2024. I can export. I get the error using Blender 4.2LTS but not in Blender 4.0

If i add blender addon 2.3.2 into Blender 4.2 i get a error just trying to add it in

Hello,

Are you using the latest SDK Core (1.2.2) which is available with the flighting version of the game ?
The blender exporter version should be 2.3.2

Regards,
Boris

Texture issue fixed with the latest plugin update with blender 3.6.
We didn’t try 4.2 yet.

Thank you

1 Like