Description

If a custom AIController class defines an AISenseConfig_Sight pointer, creating a blueprint of this class and attempting to edit values in the drop down for the array elements causes the editor to crash.

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. Add code to project based on AIController (MyAIController)
  3. In MyAIController.h and the following:
    • Includes:
      #include "Perception/AIPerceptionSystem.h"
      #include "Perception/AIPerceptionComponent.h"
      #include "Perception/AISenseConfig_Sight.h"
      
    • Inside class definition:
      public:
      	AMyAIController(const FObjectInitializer& ObjectInitializer);
      	UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "Test")
      		UAIPerceptionComponent* PerceptionComp;
      	UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Test")
      		UAISenseConfig_Sight* SightConfig;
      
  4. In MyAIController.cpp add the following:
    AMyAIController::AMyAIController(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
    {
    	PerceptionComp = ObjectInitializer.CreateDefaultSubobject<UAIPerceptionComponent>(this, "Perception Comp");
    
    	SightConfig = CreateDefaultSubobject<UAISenseConfig_Sight>("Sight Sense");
    	PerceptionComp->ConfigureSense(*SightConfig);
    	PerceptionComp->SetDominantSense(SightConfig->GetSenseImplementation());
    }
    
  5. Compile
  6. In the editor, make a blueprint based on MyAIController and open it
  7. Select the "PerceptionComp" component and find AI Perception in the details panel
  8. Expand the arrow for Sense Config->0->Sense
  9. Click in any of the value fields and enter a new number
  10. Press enter to confirm new value

Result:
Editor crashes immediately when the value is changed. This also occurs if the sliders are used to edit the values

Expected:
Value changes are recognized and recorded by the editor

Repro Rate:
5/5

Callstack
MachineId:9FA88CA44B7C623122B0039D6C8BA1B0
EpicAccountId:67b2dfbf573f4ca89257ae6f4e56a46c

Access violation - code c0000005 (first/second chance not available)

""

UE4Editor_PropertyEditor!FPropertyNode::PropagatePropertyChange() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\propertyeditor\private\propertynode.cpp:2400]
UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:426]
UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:297]
UE4Editor_PropertyEditor!FPropertyHandleFloat::SetValue() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:2334]
UE4Editor_PropertyEditor!SPropertyEditorNumeric<float>::OnValueCommitted() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\propertyeditor\private\userinterface\propertyeditor\spropertyeditornumeric.h:297]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyEditorNumeric<float>,0,TTypeWrapper<void> __cdecl(float,enum ETextCommit::Type)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyEditorNumeric<float>,0,void __cdecl(float,enum ETextCommit::Type)>::ExecuteIfSafe() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:388]
UE4Editor_PropertyEditor!SSpinBox<float>::CommitValue() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\public\widgets\input\sspinbox.h:614]
UE4Editor_PropertyEditor!SSpinBox<float>::TextField_OnTextCommitted() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\public\widgets\input\sspinbox.h:544]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SSpinBox<float>,0,TTypeWrapper<void> __cdecl(FText const & __ptr64,enum ETextCommit::Type)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SSpinBox<float>,0,void __cdecl(FText const & __ptr64,enum ETextCommit::Type)>::ExecuteIfSafe() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:388]
UE4Editor_Slate!SEditableText::OnEnter() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\widgets\input\seditabletext.cpp:911]
UE4Editor_Slate!FTextEditHelper::OnKeyDown() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\text\textedithelper.cpp:191]
UE4Editor_Slate!SEditableText::OnKeyDown() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\widgets\input\seditabletext.cpp:1518]
UE4Editor_Slate!<lambda_aecc0dcd28a75afb5aabe6b3b7d4c719>::operator()() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:3920]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,<lambda_aecc0dcd28a75afb5aabe6b3b7d4c719> >() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:214]
UE4Editor_Slate!FEventRouter::RouteAlongFocusPath<FEventRouter::FBubblePolicy,<lambda_aecc0dcd28a75afb5aabe6b3b7d4c719>,FKeyEvent>() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:196]
UE4Editor_Slate!FSlateApplication::ProcessKeyDownEvent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:3918]
UE4Editor_Slate!FSlateApplication::OnKeyDown() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:3845]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:1272]
UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:1721]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:719]
UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:641]
user32
user32
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:884]
UE4Editor!FEngineLoop::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\launchengineloop.cpp:2391]
UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32
ntdll

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Cannot Reproduce
ComponentUE - Gameplay - Blueprint
Affects Versions4.10.4
Target Fix4.11
CreatedMar 2, 2016
ResolvedMar 4, 2016
UpdatedApr 27, 2018