Description

Changing the default values inside of a camera modifier blueprint when referencing it in another blueprint results in a crash.

Tested in 4.21, 4.22, 4.23 and 4.24

Steps to Reproduce

SIMPLER REPRO:

  1. Open any project in editor.
  2. Create and open an actor blueprint.
  3. Add a PostProcessSettings variable and compile.
  4. Expand the Defaults Value for the variable.
  5. Under Film, enable one of the values and change them.
  6. Compile.

ORIGINAL REPRO:

  1. Create a blank project in 4.23
  2. Create a blueprint deriving from "CameraModifier"
  3. Override "BlueprintModifyPostProcess"
  4. Promote "Post Process Settings" to a variable
  5. Compile and save the blueprint
  6. Create a new Actor blueprint
  7. In the Event Graph, right click and add "Get Player Camera Manager" node
  8. Drag off of the Get Player Camera Manager node's return value and create an "Add new camera modifier" node
  9. Select the CameraModifer blueprint in the class drop down
  10. Compile and save the Actor blueprint 
  11. Navigate back to the Camera Modifier blueprint and click on the "Post Process Settings" variable. 
  12. In the details panel, under "Default Value", drop down the "Film" tab and select any check box and manipulate the value.
  13. Compile the blueprint

 

Results: Editor crashes

Expected: Successful compile

Callstack
Assertion failed: ContainerPtr [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Public\UObject/UnrealType.h] [Line: 340]

UE4Editor_Core!FWindowsErrorOutputDevice::Serialize() [d:\build\++ue4\sync\engine\source\runtime\core\private\windows\windowserroroutputdevice.cpp:79]
UE4Editor_Core!FOutputDevice::LogfImpl() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:71]
UE4Editor_Core!AssertFailedImplV() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:101]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:445]
UE4Editor_PropertyEditor!FEditConditionContext::GetBoolValue() [d:\build\++ue4\sync\engine\source\editor\propertyeditor\private\editconditioncontext.cpp:108]
UE4Editor_PropertyEditor!FEditConditionParser::Evaluate() [d:\build\++ue4\sync\engine\source\editor\propertyeditor\private\editconditionparser.cpp:647]
UE4Editor_PropertyEditor!FPropertyEditor::IsEditConditionMet() [d:\build\++ue4\sync\engine\source\editor\propertyeditor\private\presentation\propertyeditor\propertyeditor.cpp:583]
UE4Editor_PropertyEditor!SEditConditionWidget::OnGetEditConditionCheckState() [d:\build\++ue4\sync\engine\source\editor\propertyeditor\private\propertyeditorhelpers.cpp:384]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<1,SEditConditionWidget,0,enum ECheckBoxState __cdecl(void)>::Execute() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:293]
UE4Editor_Slate!SCheckBox::OnGetCheckImage() [d:\build\++ue4\sync\engine\source\runtime\slate\private\widgets\input\scheckbox.cpp:252]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<1,SCheckBox,0,FSlateBrush const * __cdecl(void)>::Execute() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:293]
UE4Editor_SlateCore!SImage::ComputeDesiredSize() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\images\simage.cpp:47]
UE4Editor_SlateCore!SWidget::CacheDesiredSize() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:667]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:556]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\build\++ue4\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:545]
UE4Editor_Slate!PrepassWindowAndChildren() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1460]
UE4Editor_Slate!PrepassWindowAndChildren() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1468]
UE4Editor_Slate!FSlateApplication::DrawPrepass() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1506]
UE4Editor_Slate!FSlateApplication::PrivateDrawWindows() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1553]
UE4Editor_Slate!FSlateApplication::DrawWindows() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1279]
UE4Editor_Slate!FSlateApplication::TickApplication() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1881]
UE4Editor_Slate!FSlateApplication::Tick() [d:\build\++ue4\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1712]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:4361]
UE4Editor!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:173]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:147]
UE4Editor!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:279]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-81793 in the post.

2
Login to Vote

Fixed
ComponentTools
Affects Versions4.234.24
Target Fix4.24
Fix Commit9743423
Main Commit11224363
Release Commit9743423
CreatedOct 14, 2019
ResolvedOct 15, 2019
UpdatedJan 25, 2021