There is an error with the SmartMacroInterface, where you can't use an empty wildcard "Make Array" node. This error makes the blueprint not compile and the macro unusable. Disabling the bUseSimpleWildcardInference config property fixes this issue, but of course you loose the "SmartMacroInterface" part.
This case is a regression. This error was not happening in version 5.4.
1- Create and open a Blueprint has has a macro graph (an actor for example).
2- Create a macro.
3- For the Input of the macro, add a Wildcard Array, and for the output a Wildcard object.
4- Add a Select node between the Input and the output. At the False pin, add the input array, for the True pin, add a Wildcard Make Array Node. The Return value of the Select node connect it to the output.
5- Use this macro in the EventGraph of the Blueprint. Create an array of bools for example and connect it to the input. Promote the output pin to a variable, save and compile. You will see there are several compilation errors.
FKismetCompilerContext::ValidateNoWildcardPinsInGraph(const UEdGraph *) KismetCompiler.cpp:2185
FKismetCompilerContext::PrecompileFunction(FKismetFunctionContext &, EInternalCompilerFlags) KismetCompiler.cpp:2232
FKismetCompilerContext::CompileClassLayout(EInternalCompilerFlags) KismetCompiler.cpp:4943
FBlueprintCompilationManagerImpl::FlushCompilationQueueImpl(bool, TArray<…> *, TArray<…> *, FUObjectSerializeContext *, TMap<…> *) BlueprintCompilationManager.cpp:1391
FBlueprintCompilationManager::FlushCompilationQueue(FUObjectSerializeContext *) BlueprintCompilationManager.cpp:3877
FScopedClassDependencyGather::~FScopedClassDependencyGather() BlueprintSupport.cpp:484
FLinkerLoad::CreateExport(int) LinkerLoad.cpp:5617
FAsyncPackage2::CreateLinkerLoadExports(FAsyncLoadingThreadState2 &) AsyncLoading2.cpp:6152
FAsyncPackage2::Event_CreateLinkerLoadExports(FAsyncLoadingThreadState2 &, FAsyncPackage2 *, int) AsyncLoading2.cpp:6336
FEventLoadNode2::Execute(FAsyncLoadingThreadState2 &) AsyncLoading2.cpp:4960
FAsyncLoadEventQueue2::ExecuteSyncLoadEvents(FAsyncLoadingThreadState2 &) AsyncLoading2.cpp:5166
FAsyncLoadingThread2::ProcessAsyncLoadingFromGameThread(FAsyncLoadingThreadState2 &, bool &) AsyncLoading2.cpp:8091
[Inlined] FAsyncLoadingThread2::TickAsyncThreadFromGameThread(FAsyncLoadingThreadState2 &, bool &) AsyncLoading2.cpp:8768
FAsyncLoadingThread2::TickAsyncLoadingFromGameThread(FAsyncLoadingThreadState2 &, bool, bool, double, TArrayView<…>, bool &) AsyncLoading2.cpp:8440
FAsyncLoadingThread2::FlushLoading(TArrayView<…>) AsyncLoading2.cpp:9922
FlushAsyncLoading(TArrayView<…>) AsyncPackageLoader.cpp:327
FlushAsyncLoading(int) AsyncPackageLoader.cpp:296
LoadPackageInternal(UPackage *, const FPackagePath &, unsigned int, FLinkerLoad *, FArchive *, const FLinkerInstancingContext *, const FPackagePath *) UObjectGlobals.cpp:1757
LoadPackage(UPackage *, const FPackagePath &, unsigned int, FArchive *, const FLinkerInstancingContext *, const FPackagePath *) UObjectGlobals.cpp:2121
LoadPackage(UPackage *, const wchar_t *, unsigned int, FArchive *, const FLinkerInstancingContext *) UObjectGlobals.cpp:2097
FAssetData::FastGetAsset(bool, TSet<…>) AssetData.h:533
[Inlined] FAssetData::GetAsset(TSet<…>) AssetData.h:566
ContentBrowserAssetData::EditOrPreviewAssetFileItems(TArrayView<…>, Type, EAssetTypeActivationOpenedMethod) ContentBrowserAssetDataCore.cpp:400
ContentBrowserAssetData::EditOrPreviewItems(IAssetTools *, const UContentBrowserDataSource *, TArrayView<…>, Type, EAssetTypeActivationOpenedMethod) ContentBrowserAssetDataCore.cpp:456
[Inlined] ContentBrowserAssetData::EditItems(IAssetTools *, const UContentBrowserDataSource *, TArrayView<…>) ContentBrowserAssetDataCore.cpp:463
UContentBrowserAssetDataSource::BulkEditItems(TArrayView<…>) ContentBrowserAssetDataSource.cpp:2636
SContentBrowser::OnItemsActivated(TArrayView<…>, Type) SContentBrowser.cpp:3572
[Inlined] Invoke(void (SContentBrowser::*)(TArrayView<…>, EAssetTypeActivationMethod::Type), SContentBrowser *&, TArrayView<…> &&, EAssetTypeActivationMethod::Type &&) Invoke.h:66
[Inlined] UE::Core::Private::Tuple::TTupleBase::ApplyAfter(void (SContentBrowser::*&)(TArrayView<…>, EAssetTypeActivationMethod::Type), SContentBrowser *&, TArrayView<…> &&, EAssetTypeActivationMethod::Type &&) Tuple.h:317
V::TBaseSPMethodDelegateInstance::Execute(TArrayView<…>, Type) DelegateInstancesImpl.h:282
[Inlined] TDelegate::Execute(TArrayView<…>, Type) DelegateSignatureImpl.inl:613
SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<…>) SAssetView.cpp:5306
[Inlined] Invoke(void (SAssetView::*)(TSharedPtr<…>), SAssetView *&, TSharedPtr<…> &&) Invoke.h:66
[Inlined] UE::Core::Private::Tuple::TTupleBase::ApplyAfter(void (SAssetView::*&)(TSharedPtr<…>), SAssetView *&, TSharedPtr<…> &&) Tuple.h:317
V::TBaseSPMethodDelegateInstance::ExecuteIfSafe(TSharedPtr<…>) DelegateInstancesImpl.h:299
TDelegate::ExecuteIfBound<…>(TSharedPtr<…>) DelegateSignatureImpl.inl:634
SListView::Private_OnItemDoubleClicked(TSharedPtr<…>) SListView.h:1134
STableRow::OnMouseButtonDoubleClick(const FGeometry &, const FPointerEvent &) STableRow.h:437
[Inlined] FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1>::operator()(const FArrangedWidget &, const FPointerEvent &) SlateApplication.cpp:5830
??$Route@VFReply@@VFBubblePolicy@FEventRouter@@UFPointerEvent@@V<lambda_1>@?1??RoutePointerDoubleClickEvent@FSlateApplication@@QEAA?AV1@AEBVFWidgetPath@@AEBU4@@Z@@FEventRouter@@SA?AVFReply@@PEAVFSlateApplication@@VFBubblePolicy@0@UFPointerEvent@@AEBV<lambda_1>@?1??RoutePointerDoubleClickEvent@2@QEAA?AV1@AEBVFWidgetPath@@AEBU4@@Z@W4ESlateDebuggingInputEvent@@@Z(FSlateApplication *,FBubblePolicy,FPointerEvent,const <lambda_1> &,ESlateDebuggingInputEvent) SlateApplication.cpp:456
FSlateApplication::RoutePointerDoubleClickEvent(const FWidgetPath &, const FPointerEvent &) SlateApplication.cpp:5828
FSlateApplication::ProcessMouseButtonDoubleClickEvent(const TSharedPtr<…> &, const FPointerEvent &) SlateApplication.cpp:5811
FSlateApplication::OnMouseDoubleClick(const TSharedPtr<…> &, Type, TVector2<…>) SlateApplication.cpp:5776
FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage &) WindowsApplication.cpp:2275
FWindowsApplication::DeferMessage(TSharedPtr<…> &, HWND__ *, unsigned int, unsigned long long, long long, int, int, unsigned int) WindowsApplication.cpp:2783
FWindowsApplication::ProcessMessage(HWND__ *, unsigned int, unsigned long long, long long) WindowsApplication.cpp:1944
[Inlined] WindowsApplication_WndProc(HWND__ *, unsigned int, unsigned long long, long long) WindowsApplication.cpp:939
FWindowsApplication::AppWndProc(HWND__ *, unsigned int, unsigned long long, long long) WindowsApplication.cpp:944
[Inlined] WinPumpMessages() WindowsPlatformApplicationMisc.cpp:116
FWindowsPlatformApplicationMisc::PumpMessages(bool) WindowsPlatformApplicationMisc.cpp:145
FEngineLoop::Tick() LaunchEngineLoop.cpp:5792
[Inlined] EngineTick() Launch.cpp:69
GuardedMain(const wchar_t *) Launch.cpp:190
LaunchWindowsStartup(HINSTANCE__ *, HINSTANCE__ *, char *, int, const wchar_t *) LaunchWindows.cpp:266
WinMain(HINSTANCE__ *, HINSTANCE__ *, char *, int) LaunchWindows.cpp:317
I am not able to find world outliner how to enable it?
How does TextureRenderTarget2D get TArray<uint8> type data?
What method is used to fill polygonal regions when drawing spline mesh at run time?
Undefined sysmbol: typeinfo for AActor when cross-compile linux dedicated server on windows
How can i modify the param name in EQS node
How does UMG set overlapping layouts?
How to achieve HLSL Multiple Render Target in Material blueprints?
Delay nodes occasionally don't fire the "Completed" output in a nativized build
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-235133 in the post.
1 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 5.5 |
Target Fix | 5.5.3 |
Created | Dec 19, 2024 |
---|---|
Updated | Dec 20, 2024 |