def METHOD_NAME(
    self, filename, asset_dir, asset_name, replace,
    frame_start=None, frame_end=None
):
    task = unreal.AssetImportTask()
    options = unreal.AbcImportSettings()
    gc_settings = unreal.AbcGeometryCacheSettings()
    conversion_settings = unreal.AbcConversionSettings()
    sampling_settings = unreal.AbcSamplingSettings()
    task.set_editor_property('filename', filename)
    task.set_editor_property('destination_path', asset_dir)
    task.set_editor_property('destination_name', asset_name)
    task.set_editor_property('replace_existing', replace)
    task.set_editor_property('automated', True)
    task.set_editor_property('save', True)
    # set import options here
    # Unreal 4.24 ignores the settings. It works with Unreal 4.26
    options.set_editor_property(
        'import_type', unreal.AlembicImportType.GEOMETRY_CACHE)
    gc_settings.set_editor_property('flatten_tracks', False)
    conversion_settings.set_editor_property('flip_u', False)
    conversion_settings.set_editor_property('flip_v', True)
    conversion_settings.set_editor_property(
        'scale', unreal.Vector(x=100.0, y=100.0, z=100.0))
    conversion_settings.set_editor_property(
        'rotation', unreal.Vector(x=-90.0, y=0.0, z=180.0))
    if frame_start is not None:
        sampling_settings.set_editor_property('frame_start', frame_start)
    if frame_end is not None:
        sampling_settings.set_editor_property('frame_end', frame_end)
    options.geometry_cache_settings = gc_settings
    options.conversion_settings = conversion_settings
    options.sampling_settings = sampling_settings
    task.options = options
    return task