Clicking on a Behavior Tree decorator that references an Enum blackboard key will crash the editor if that Enum has been altered in the method described in the repro steps.
If you set decorators to reference Enum elements 1-4, then add another element to that Enum, say 0, and reorder it so that 0 is at the top of the list, it will alter the values of the decorators as necessary (0-3 in this case). Then, if you change the decorator values back to the original values and remove element 0 from the Enum, clicking on the decorator that referenced the last element in the enum will cause the editor to crash.
Alternate Repro:
Result: Editor Crashes
Assertion failed: (Index >= 0) & (Index < ArrayNum) [Link Removed] [Line: 633] Array index out of bounds: 5 from an array of size 5
UE4Editor_BehaviorTreeEditor!FBlackboardDecoratorDetails::GetCurrentEnumValueDesc() blackboarddecoratordetails.cpp:209 UE4Editor_BehaviorTreeEditor!TMemberFunctionCaller<FBlackboardDecoratorDetails,FText() delegateinstanceinterface.h:165 UE4Editor_BehaviorTreeEditor!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<FBlackboardDecoratorDetails,FText() tuple.h:134 UE4Editor_BehaviorTreeEditor!TBaseSPMethodDelegateInstance<1,FBlackboardDecoratorDetails,0,FText __cdecl() delegateinstancesimpl.h:327 UE4Editor_Slate!TBaseDelegate<FText>::Execute() delegatesignatureimpl.inl:537 UE4Editor_Slate!TAttribute<FText>::Get() attribute.h:137 UE4Editor_Slate!FTextBlockLayout::ComputeDesiredSize() textblocklayout.cpp:48 UE4Editor_Slate!STextBlock::ComputeDesiredSize() stextblock.cpp:177 UE4Editor_SlateCore!SWidget::CacheDesiredSize() swidget.cpp:485 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_SlateCore!SWidget::SlatePrepass() swidget.cpp:473 UE4Editor_PropertyEditor!SListView<TSharedRef<IDetailTreeNode,0> >::GenerateWidgetForItem() slistview.h:1011 UE4Editor_PropertyEditor!SListView<TSharedRef<IDetailTreeNode,0> >::ReGenerateItems() slistview.h:906 UE4Editor_Slate!STableViewBase::Tick() stableviewbase.cpp:251 UE4Editor_PropertyEditor!STreeView<TSharedRef<IDetailTreeNode,0> >::Tick() streeview.h:444 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:776 UE4Editor_SlateCore!SOverlay::OnPaint() soverlay.cpp:102 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SPanel::PaintArrangedChildren() spanel.cpp:46 UE4Editor_SlateCore!SPanel::OnPaint() spanel.cpp:21 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SCompoundWidget::OnPaint() scompoundwidget.cpp:37 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SPanel::PaintArrangedChildren() spanel.cpp:46 UE4Editor_SlateCore!SPanel::OnPaint() spanel.cpp:21 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SCompoundWidget::OnPaint() scompoundwidget.cpp:37 UE4Editor_Slate!SBorder::OnPaint() sborder.cpp:86 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SOverlay::OnPaint() soverlay.cpp:102 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SPanel::PaintArrangedChildren() spanel.cpp:46 UE4Editor_SlateCore!SPanel::OnPaint() spanel.cpp:21 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SCompoundWidget::OnPaint() scompoundwidget.cpp:37 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SPanel::PaintArrangedChildren() spanel.cpp:46 UE4Editor_Slate!SSplitter::OnPaint() ssplitter.cpp:167 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SCompoundWidget::OnPaint() scompoundwidget.cpp:37 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SPanel::PaintArrangedChildren() spanel.cpp:46 UE4Editor_Slate!SSplitter::OnPaint() ssplitter.cpp:167 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SCompoundWidget::OnPaint() scompoundwidget.cpp:37 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SPanel::PaintArrangedChildren() spanel.cpp:46 UE4Editor_Slate!SSplitter::OnPaint() ssplitter.cpp:167 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SOverlay::OnPaint() soverlay.cpp:102 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SCompoundWidget::OnPaint() scompoundwidget.cpp:37 UE4Editor_SlateCore!SWidget::Paint() swidget.cpp:779 UE4Editor_SlateCore!SPanel::PaintArrangedChildren() spanel.cpp:46 UE4Editor_SlateCore!SPanel::OnPaint() spanel.cpp:21
Head over to the existing Questions & Answers thread and let us know what's up.