Critical compilation error - UE5.4, MacOS, FMOD 2.03.08 (down to 2.02.22)

On both versions of FMOD plugin for Unreal 2.02.22 and 2.03.08 build crashes on MacOS with error

[76/124] Compile [Apple] FMODStudioModule.cpp
/Volumes/PROJECT/UNREAL_PROJECT/space_dog/Plugins/FMODStudio/Source/FMODStudio/Private/FMODStudioModule.cpp:743:43: error: object backing the pointer advStudioSettings.encryptionkey will be destroyed at the end of the full-expression [-Werror,-Wdangling-assignment]
  743 |         advStudioSettings.encryptionkey = TCHAR_TO_UTF8(*Settings.StudioBankKey);
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/Shared/Epic Games/UE_5.4/Engine/Source/Runtime/Core/Public/Containers/StringConv.h:1002:159: note: expanded from macro 'TCHAR_TO_UTF8'
 1002 | #define TCHAR_TO_UTF8(str) /*UE_DEPRECATED_MACRO(5.xx, "TCHAR_TO_UTF8(Ptr) is deprecated, please use StringCast<UTF8CHAR>(PtrToTChar) instead.")*/ (ANSICHAR*)FTCHARToUTF8((const TCHAR*)str).Get()
      |                                                                                                                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Thats started after updating xcode recently to have opportunity to run UE5.5. Looks like unreal interprets such warnings from plugins as errors by default

Full log
14Overmind (10).log (24.7 KB)

Found temporary fix - in FMOD plugin just wrap this line with clang ignore

// Plugins/FMODStudio/Source/FMODStudio/Private/FMODStudioModule.cpp
    if (!Settings.StudioBankKey.IsEmpty())
    {
#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdangling-assignment"
#endif

        advStudioSettings.encryptionkey = TCHAR_TO_UTF8(*Settings.StudioBankKey);

#if defined(__clang__)
#pragma clang diagnostic pop
#endif
    }

k it seems unstable when we have bForceCompilationAtStartup enabled and after second run it throws error again better to just fix it

#include "Containers/StringConv.h"

// replace this
// advStudioSettings.encryptionkey = TCHAR_TO_UTF8(*Settings.StudioBankKey);

// by this
FTCHARToUTF8 EncryptionKeyUtf8(*Settings.StudioBankKey);
advStudioSettings.encryptionkey = EncryptionKeyUtf8.Get();