[Bug-Report] Bink Media Broken in 5.6

Something seems totally broken with Bink in 5.6
After getting crashes with an existing project using Bink, I attempted to see if it works with a clean 5.6 project.

Steps to reproduce in a blank project:

  • Add the Bink Media plugin.
  • Create a Bink Media Player, then add a Bink Media Texture.
  • Open the texture and use the ‘…’ to provide a path to a bk2 file.
  • CRASH OCCURS

The crash seems related to the Bink texture.
The moment the texture is given a URL of a bink video, unreal crashes.

With an existing project, this means that the project is effectively unloadable in 5.6 (as there will most likely already be a URL)

The only way I could get an existing project to open, was to manually disable the Bink Media plugin in the .uproject file first.

This enables the project to be opened, and optionally any existing Bink Textures to be deleted,
allowing the plugin to be reenabled. But that is rather pointless, as the moment you try to use it, it crashes the editor again.

Potential duplicate
(Sorry, I don’t read ?Korean?, but there is no actual description in there anyway)

2 Likes

Looks like it is UE-289895
https://issues.unrealengine.com/issue/UE-289895

(Bug created on May 23, 2025)
Seems like the Licensee was also kind enough to post a (potential) fix for the bug.

Shame no one included it in 5.6
I mean, completely breaking an existing feature, that’s something you would expect regression testing to have caught, no?

3 Likes

Hi, we are hitting something similar, but with Vulkan on Windows.

Almost the same repro steps:

  • Add the Bink Media plugin.
  • Create a Bink Media Player
  • Add bk2 to URL
  • CRASH

It’s really an assert in FVulkanTexture::InternalLockWrite

Callstack is as follows:

> [Inline Frame] UnrealEditor-VulkanRHI.dll!FVulkanTexture::InternalLockWrite::__l2::<lambda_1>::operator()() Line 122 C++
UnrealEditor-VulkanRHI.dll!FVulkanTexture::InternalLockWrite(FVulkanContextCommon & Context, FVulkanTexture * Surface, const VkBufferImageCopy & Region, VulkanRHI::FStagingBuffer * StagingBuffer) Line 122 C++
[Inline Frame] UnrealEditor-VulkanRHI.dll!FVulkanDynamicRHI::InternalUpdateTexture2D::__l2::<lambda_1>::operator()(FRHICommandListBase &) Line 1338 C++
UnrealEditor-VulkanRHI.dll!?ExecuteAndDestruct@?$TRHILambdaCommand@VFRHICommandListBase@@V<lambda_1>@?1??InternalUpdateTexture2D@FVulkanDynamicRHI@@IEAAXAEAV1@PEAVFRHITexture@@IAEBUFUpdateTextureRegion2D@@IPEBE@Z@@@UEAAXAEAVFRHICommandListBase@@@Z(FRHICommandListBase & CmdList) Line 387 C++
UnrealEditor-RHI.dll!FRHICommandListBase::Execute() Line 527 C++
UnrealEditor-RHI.dll!FRHICommandListExecutor::FTranslateState::Translate(FRHICommandListBase * CmdList) Line 1081 C++
UnrealEditor-RHI.dll!??R<lambda_1>@?9??Dispatch@FSubmitState@FRHICommandListExecutor@@QEAAXPEAVFRHICommandListBase@@@Z@QEBA@XZ() Line 1028 C++
[Inline Frame] UnrealEditor-RHI.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<0>,void __cdecl(void)>::operator()() Line 471 C++
UnrealEditor-RHI.dll!FRHICommandListExecutor::FTaskPipe::Execute(FRHICommandListExecutor::FTaskPipe::FTask * Task, const TRefCountPtr & CurrentEvent) Line 725 C++
[Inline Frame] UnrealEditor-RHI.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,void __cdecl(enum ENamedThreads::Type,TRefCountPtr const &)>::operator()(ENamedThreads::Type <Params_0>, const TRefCountPtr &) Line 471 C++
[Inline Frame] UnrealEditor-RHI.dll!TFunctionGraphTaskImpl<void __cdecl(enum ENamedThreads::Type,TRefCountPtr const &),0>::DoTaskImpl(TUniqueFunction<void __cdecl(enum ENamedThreads::Type,TRefCountPtr const &)> & Function, ENamedThreads::Type) Line 1123 C++
[Inline Frame] UnrealEditor-RHI.dll!TFunctionGraphTaskImpl<void __cdecl(enum ENamedThreads::Type,TRefCountPtr const &),0>::DoTask(ENamedThreads::Type CurrentThread, const TRefCountPtr &) Line 1104 C++
UnrealEditor-RHI.dll!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(ENamedThreads::Type,TRefCountPtr const & __ptr64),0>>::ExecuteTask() Line 706 C++
UnrealEditor-Core.dll!UE::Tasks::Private::FTaskBase::TryExecuteTask() Line 527 C++
[Inline Frame] UnrealEditor-Core.dll!FBaseGraphTask::Execute(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32>> &) Line 505 C++
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Line 779 C++
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit(int QueueIndex) Line 668 C++
UnrealEditor-RenderCore.dll!FRHIThread::Run() Line 270 C++
UnrealEditor-Core.dll!FRunnableThreadWin::Run() Line 159 C++
UnrealEditor-Core.dll!FRunnableThreadWin::GuardedRun() Line 71 C++