With Sequencer.CustomTaskScheduling enabled, a task graph with more than 512 tasks can hang FEntitySystemScheduler::ExecuteTasks. Reported by a licensee, they hit it with a 528 task graph under Clang.
FTaskBitSet is a TDynamicSparseBitSet with 512 bits per bucket. Two bugs in SparseBitSet.h:
|=
{bucket 0, bucket 1}loses bucket 1. PropagatePrerequisite uses it, so system dependencies on tasks 512 and up can be lost.
Fix: IsBitSet subtracts the bucket offset from the bit index (as SetBit does), and operator|= appends the remaining entries from Other after the merge loop.
Added System.Engine.Sequencer.SparseBitSetMultiBucket. It fails on operator|= before the fix and passes after. The IsBitSet shift only misbehaves under Clang, so the test cannot fail without that fix on MSVC.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-402072 in the post.
| 0 |
| Component | UE - ACT Character - Sequencer |
|---|---|
| Affects Versions | 5.8.4 |
| Target Fix | 5.8.5 |
| Fix Commit | 59310494 |
|---|
| Created | Oct 12, 2026 |
|---|---|
| Resolved | Oct 15, 2026 |
| Updated | Oct 19, 2026 |