If a Blueprint is made from a custom Blueprintable StaticMeshComponent, and that Blueprint is added as a component to another Blueprint, an Ensure is triggered.
No Ensure occurs if the custom native StaticMeshComponent is added to the Blueprint instead.
public: UPROPERTY(EditAnywhere, Category = Default) USpotLightComponent* SpotLight; UTestComponent(const FObjectInitializer& ObjectInitializer);
UTestComponent::UTestComponent(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { SpotLight = ObjectInitializer.CreateDefaultSubobject<USpotLightComponent>(this, TEXT("SpotLight")); SpotLight->AttachParent = this; }
RESULT:
An Ensure is triggered.
EXPECTED:
No Ensure is triggered.
WORKAROUND:
Adding the native custom StaticMeshComponent to the Blueprint instead of using the Blueprint made from the native custom component works without triggering an Ensure.
The following is the callstack generated by the Ensure, as reported in the Output Log window:
LogOutputDevice: === Handled error: ===
Ensure condition failed: false [File:D:\Source\UnrealEngine-4.8.3-release\Engine\Source\Runtime\Engine\Private\Components\SceneComponent.cpp] [Line: 1149]
Template Mismatch during attachment. Attaching instanced component to template component. Parent 'Default__NewBlueprint_C' Self 'SpotLight'
Stack:
UE4Editor-Core.dll!FWindowsPlatformStackWalk::StackWalkAndDump() {0x000007feea3a7616} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-Core.dll!FDebug::EnsureFailed() {0x000007feea1d89b1} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-Core.dll!FDebug::EnsureNotFalse_OptionallyLogFormattedEnsureMessageReturningFalse() {0x000007feea1d8c63} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-Engine.dll!USceneComponent::AttachTo() {0x000007fee750cc96} + 122 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!USceneComponent::OnRegister() {0x000007fee753c004} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!ULightComponentBase::OnRegister() {0x000007fee74d7447} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!ULightComponent::OnRegister() {0x000007fee74d73ee} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!UActorComponent::ExecuteRegisterEvents() {0x000007fee74428d4} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!UActorComponent::RegisterComponentWithWorld() {0x000007fee746a24d} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!UActorComponent::RegisterComponentWithWorld() {0x000007fee746a337} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!UActorComponent::RegisterComponent() {0x000007fee7469c9e} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!`anonymous namespace'::RegisterInstancedComponent() {0x000007fee6f4261b} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!`anonymous namespace'::RegisterInstancedComponent() {0x000007fee6f426ed} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!USimpleConstructionScript::ExecuteScriptOnActor() {0x000007fee6f13210} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!AActor::ExecuteConstruction() {0x000007fee6938cfd} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!AActor::RerunConstructionScripts() {0x000007fee69770b4} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-Engine.dll!AActor::PostEditChangeProperty() {0x000007fee69632ef} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\en
UE4Editor-CoreUObject.dll!UObject::PostEditChange() {0x000007fee990fcb4} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-UnrealEd.dll!FBlueprintEditorUtils::PostEditChangeBlueprintActors() {0x000007fee48b1af3} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\editor\unr
UE4Editor-Kismet.dll!FBlueprintEditor::OnBlueprintChangedImpl() {0x000007fee0f84aa2} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\editor\kis
UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl(UBlueprint * __ptr64)>::Execute() {0x000007fee0f3e7cc} + 35 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl(UBlueprint * __ptr64)>::ExecuteIfSafe() {0x000007fee0f41fcc} + 11 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-Engine.dll!TBaseMulticastDelegate<void,UBlueprint * __ptr64>::Broadcast() {0x000007fee685d21d} + 14 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-UnrealEd.dll!FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified() {0x000007fee48ae202} + 9 bytes [d:\source\unrealengine-4.8.3-release\engine\source\editor\unr
UE4Editor-Kismet.dll!SSCSEditor::AddNewNode() {0x000007fee11a1086} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\editor\kis
UE4Editor-Kismet.dll!SSCSEditor::AddNewComponent() {0x000007fee11a0af6} + 54 bytes [d:\source\unrealengine-4.8.3-release\engine\source\editor\kis
UE4Editor-Kismet.dll!SSCSEditor::PerformComboAddClass() {0x000007fee1248792} + 14 bytes [d:\source\unrealengine-4.8.3-release\engine\source\editor\kis
UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,SSCSEditor,0,UActorComponent * __ptr64 __cdecl(TSubclassOf<UActorComponent>,enum EComponentCreateAction::Type,UObject * __ptr64)>::Execute() {0x000007fee11e68d0} + 43 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-UnrealEd.dll!SComponentClassCombo::OnAddComponentSelectionChanged() {0x000007fee437226e} + 247 bytes [d:\source\unrealengine-4.8.3-release\engine\source\editor\unr
UE4Editor-UnrealEd.dll!TBaseSPMethodDelegateInstance<0,SComponentClassCombo,0,TTypeWrapper<void> __cdecl(TSharedPtr<FComponentClassComboEntry,0>,enum ESelectInfo::Type)>::Execute() {0x000007fee433c38a} + 55 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-UnrealEd.dll!TBaseSPMethodDelegateInstance<0,SComponentClassCombo,0,void __cdecl(TSharedPtr<FComponentClassComboEntry,0>,enum ESelectInfo::Type)>::ExecuteIfSafe() {0x000007fee433e805} + 40 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-UnrealEd.dll!TBaseDelegate<void,TSharedPtr<FComponentClassComboEntry,0>,enum ESelectInfo::Type>::ExecuteIfBound() {0x000007fee433d6a1} + 41 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-UnrealEd.dll!SListView<TSharedPtr<FComponentClassComboEntry,0> >::Private_SignalSelectionChanged() {0x000007fee43a13da} + 33 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\sl
UE4Editor-UnrealEd.dll!SComboRow<TSharedPtr<FString,0> >::OnMouseButtonDown() {0x000007fee437edbb} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\sl
UE4Editor-Slate.dll!<lambda_2944fcd867c13fce09ac1f6fe9cbe583>::operator()() {0x000007fee5f23bf3} + 21 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\sl
UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,<lambda_2944fcd867c13fce09ac1f6fe9cbe583> >() {0x000007fee5edc2e6} + 47 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\sl
UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonDownEvent() {0x000007fee5f980c8} + 102 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\sl
UE4Editor-Slate.dll!FSlateApplication::OnMouseDown() {0x000007fee5f85709} + 19 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\sl
UE4Editor-Core.dll!FWindowsApplication::ProcessDeferredMessage() {0x000007feea2ed91f} + 32 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-Core.dll!FWindowsApplication::DeferMessage() {0x000007feea2db4a7} + 74 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-Core.dll!FWindowsApplication::ProcessMessage() {0x000007feea2eefa5} + 44 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor-Core.dll!FWindowsApplication::AppWndProc() {0x000007feea2d77fc} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
USER32.dll {0x0000000077329bd1} + 0 bytes
USER32.dll {0x00000000773298da} + 0 bytes
UE4Editor-Core.dll!FWindowsPlatformMisc::PumpMessages() {0x000007feea39eb46} + 48 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\co
UE4Editor.exe!FEngineLoop::Tick() {0x000000013f0d3c7a} + 8 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\la
UE4Editor.exe!GuardedMain() {0x000000013f0c49cc} + 0 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\la
UE4Editor.exe!GuardedMainWrapper() {0x000000013f0c4a4a} + 5 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\la
UE4Editor.exe!WinMain() {0x000000013f0d65c9} + 17 bytes [d:\source\unrealengine-4.8.3-release\engine\source\runtime\la
UE4Editor.exe!__tmainCRTStartup() {0x000000013f0d75d9} + 21 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]
kernel32.dll {0x00000000772059ed} + 0 bytes
ntdll.dll {0x000000007743c541} + 0 bytes
ntdll.dll {0x000000007743c541} + 0 bytes
Head over to the existing Questions & Answers thread and let us know what's up.
| 14 |
| Component | UE - Gameplay - Components |
|---|---|
| Affects Versions | 4.8.3, 4.9, 4.10, 4.19 |
| Created | Aug 24, 2015 |
|---|---|
| Resolved | Aug 18, 2021 |
| Updated | Aug 18, 2021 |