Vivox Unreal SDK versions previous to 5.16.0.unr.0 experience issues in Unreal Engine 4.26 and later when targeting the Android and iOS platforms. Upgrading to Vivox Unreal 5.16.0.unr.0 resolves these issues by disabling Unreal Engine management of Vivox memory for Unreal Engine versions 4.26 and 4.27 when targeting the Android and iOS platforms.
Note: It is expected that Unreal Engine management of Vivox memory will be re-enabled in a Vivox Unreal SDK plugin after Unreal Engine is updated to address this issue.
If you continue to use a Vivox Unreal SDK version previous to 5.16.0.unr.0, and use or upgrade to an affected Unreal Engine version, you can manually apply the following workaround.
VivoxConfig.cpp
#if (ENGINE_MAJOR_VERSION == 4) && (ENGINE_MINOR_VERSION > 25)
# define WORKAROUND_UE4_26_27_MEMORY_MGR_CRASH 1
#endif
. . .
VivoxConfig::VivoxConfig()
{
. . .
config.pf_logging_callback = LoggingCallback;
// Disable Unreal Engine management of Vivox memory for Unreal Engine versions 4.26 and 4.27 when targeting the Android and iOS platforms.
#if !(WORKAROUND_UE4_26_27_MEMORY_MGR_CRASH && (PLATFORM_ANDROID || PLATFORM_IOS))
config.pf_malloc_func = &VivoxMalloc;
config.pf_realloc_func = &VivoxRealloc;
config.pf_calloc_func = &VivoxCalloc;
config.pf_malloc_aligned_func = &VivoxMallocAligned;
config.pf_free_func = &VivoxFree;
config.pf_free_aligned_func = &VivoxFreeAligned;
#endif
config.initial_log_level = vx_log_level::log_error;
. . .
}
Comments
0 comments
Article is closed for comments.