Why don’t place NameData->PendingState.Reset(false); before WrappedDelegate.ExecuteIfBound(); so as to LoadPrimaryAsset in WrappedDelegate?Like this:
NameData->CurrentState.Handle = NameData->PendingState.Handle;
NameData->CurrentState.BundleNames = NameData->PendingState.BundleNames;
// Clear old state, but don’t cancel handle as we just copied it into current
NameData->PendingState.Reset(false);
WrappedDelegate.ExecuteIfBound();
Original order will clear PendingState if LoadPrimaryAsset in WrappedDelegate.