[BUG] Custom Node will assert when used.

Hello!

Custom Nodes can presently not be used at all, as per the comments on this thread: https://rocket.unrealengine.com/questions/6612/question-custom-material-node.html

I can confirm there is a crash, and it seems to be related to the new interface. The node does not correctly update to show user created inputs, nor can the input type be specified.

As a result it will hit the assertion Assertion failed: InputPins.Num() == ExpressionInputs.Num() inside of UMaterialGraph::LinkExpressionsFromGraph() if you try to connect it to anything,

Call stack in full:
Assertion failed: InputPins.Num() == ExpressionInputs.Num() [File:C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Source\Editor\UnrealEd\Private\MaterialGraph.cpp] [Line: 218]

Stack:
FWindowsPlatformStackWalk::StackWalkAndDump() 0xed8129d6 + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsplatformstackwalk.cpp:173] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FDebug::AssertFailed() 0xed70353a + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\misc\outputdevice.cpp:176] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
UMaterialGraph::LinkMaterialExpressionsFromGraph() 0xe8af8cd7 + 43 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\unrealed\private\materialgraph.cpp:218] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-UnrealEd-Win64-DebugGame.dll]
FMaterialEditor::UpdateMaterialAfterGraphChange() 0xe6a9264d + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\materialeditor\private\materialeditor.cpp:3721] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-MaterialEditor-Win64-DebugGame.dll]
FMaterialEditorUtilities::UpdateMaterialAfterGraphChange() 0xe6a926b0 + 9 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\materialeditor\private\materialeditorutilities.cpp:75] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-MaterialEditor-Win64-DebugGame.dll]
UMaterialGraphSchema::TryCreateConnection() 0xe8b0a4ea + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\unrealed\private\materialgraphschema.cpp:303] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-UnrealEd-Win64-DebugGame.dll]
FDragConnection::DroppedOnPin() 0xe7b5e25e + 28 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\grapheditor\private\dragconnection.cpp:182] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-GraphEditor-Win64-DebugGame.dll]
SGraphPin::OnDrop() 0xe7bc0d24 + 61 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\grapheditor\private\sgraphpin.cpp:571] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-GraphEditor-Win64-DebugGame.dll]
FSlateApplication::ProcessMouseButtonUpMessage() 0xe9f44fa4 + 35 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\slate\private\slateapplication.cpp:3465] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Slate-Win64-DebugGame.dll]
FSlateApplication::OnMouseUp() 0xe9f3caf1 + 12 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\slate\private\slateapplication.cpp:3399] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Slate-Win64-DebugGame.dll]
FWindowsApplication::ProcessDeferredMessage() 0xed7c8901 + 12 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsapplication.cpp:1047] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FWindowsApplication::DeferMessage() 0xed7ba3d1 + 74 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsapplication.cpp:1302] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FWindowsApplication::ProcessMessage() 0xed7c9303 + 41 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsapplication.cpp:505] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FWindowsApplication::AppWndProc() 0xed7b7a62 + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsapplication.cpp:443] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
Address = 0x76bf9bd1 (filename not found) [in C:\Windows\system32\USER32.dll]
Address = 0x76bf98da (filename not found) [in C:\Windows\system32\USER32.dll]
WinPumpMessages() 0xed8041c9 + 11 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:561] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FWindowsPlatformMisc::PumpMessages() 0xed7c974b + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:589] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FEngineLoop::Tick() 0x3f5a8bef + 8 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\launch\private\launchengineloop.cpp:1857] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Win64-DebugGame.exe]
GuardedMain() 0x3f59e8dc + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\launch\private\launch.cpp:138] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Win64-DebugGame.exe]
GuardedMainWrapper() 0x3f59e94a + 5 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\launch\private\windows\launchwindows.cpp:118] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Win64-DebugGame.exe]
WinMain() 0x3f5aa60b + 17 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\launch\private\windows\launchwindows.cpp:183] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Win64-DebugGame.exe]
__tmainCRTStartup() 0x3f5ab2bf + 21 bytes [File=f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c:528] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Win64-DebugGame.exe]
Address = 0x76cf652d (filename not found) [in C:\Windows\system32\kernel32.dll]
Address = 0x76e2c541 (filename not found) [in C:\Windows\SYSTEM32\ntdll.dll]
Address = 0x76e2c541 (filename not found) [in C:\Windows\SYSTEM32\ntdll.dll]

Address = 0xfcca940d (filename not found) [in C:\Windows\system32\KERNELBASE.dll]
FOutputDeviceWindowsError::Serialize() 0xed81129c + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:113] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FMsg::Logf__VA() 0xed71c1d2 + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\misc\outputdevice.cpp:489] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FDebug::AssertFailed() 0xed7035df + 165 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\misc\outputdevice.cpp:176] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
UMaterialGraph::LinkMaterialExpressionsFromGraph() 0xe8af8cd7 + 43 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\unrealed\private\materialgraph.cpp:218] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-UnrealEd-Win64-DebugGame.dll]
FMaterialEditor::UpdateMaterialAfterGraphChange() 0xe6a9264d + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\materialeditor\private\materialeditor.cpp:3721] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-MaterialEditor-Win64-DebugGame.dll]
FMaterialEditorUtilities::UpdateMaterialAfterGraphChange() 0xe6a926b0 + 9 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\materialeditor\private\materialeditorutilities.cpp:75] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-MaterialEditor-Win64-DebugGame.dll]
UMaterialGraphSchema::TryCreateConnection() 0xe8b0a4ea + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\unrealed\private\materialgraphschema.cpp:303] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-UnrealEd-Win64-DebugGame.dll]
FDragConnection::DroppedOnPin() 0xe7b5e25e + 28 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\grapheditor\private\dragconnection.cpp:182] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-GraphEditor-Win64-DebugGame.dll]
SGraphPin::OnDrop() 0xe7bc0d24 + 61 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\editor\grapheditor\private\sgraphpin.cpp:571] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-GraphEditor-Win64-DebugGame.dll]
FSlateApplication::ProcessMouseButtonUpMessage() 0xe9f44fa4 + 35 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\slate\private\slateapplication.cpp:3465] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Slate-Win64-DebugGame.dll]
FSlateApplication::OnMouseUp() 0xe9f3caf1 + 12 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\slate\private\slateapplication.cpp:3399] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Slate-Win64-DebugGame.dll]
FWindowsApplication::ProcessDeferredMessage() 0xed7c8901 + 12 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsapplication.cpp:1047] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FWindowsApplication::DeferMessage() 0xed7ba3d1 + 74 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsapplication.cpp:1302] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FWindowsApplication::ProcessMessage() 0xed7c9303 + 41 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsapplication.cpp:505] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FWindowsApplication::AppWndProc() 0xed7b7a62 + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsapplication.cpp:443] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
Address = 0x76bf9bd1 (filename not found) [in C:\Windows\system32\USER32.dll]
Address = 0x76bf98da (filename not found) [in C:\Windows\system32\USER32.dll]
WinPumpMessages() 0xed8041c9 + 11 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:561] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FWindowsPlatformMisc::PumpMessages() 0xed7c974b + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:589] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Core-Win64-DebugGame.dll]
FEngineLoop::Tick() 0x3f5a8bef + 8 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\launch\private\launchengineloop.cpp:1857] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Win64-DebugGame.exe]
GuardedMain() 0x3f59e8dc + 0 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\launch\private\launch.cpp:138] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Win64-DebugGame.exe]
GuardedMainWrapper() 0x3f59e94a + 5 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\launch\private\windows\launchwindows.cpp:118] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Win64-DebugGame.exe]
WinMain() 0x3f5aa60b + 17 bytes [File=c:\ue4\ue4-dec-qa\ue4-qa\engine\source\runtime\launch\private\windows\launchwindows.cpp:183] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Win64-DebugGame.exe]
__tmainCRTStartup() 0x3f5ab2bf + 21 bytes [File=f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c:528] [in C:\UE4\UE4-Dec-QA\UE4-QA\Engine\Binaries\Win64\UE4Editor-Win64-DebugGame.exe]
Address = 0x76cf652d (filename not found) [in C:\Windows\system32\kernel32.dll]
Address = 0x76e2c541 (filename not found) [in C:\Windows\SYSTEM32\ntdll.dll]
Address = 0x76e2c541 (filename not found) [in C:\Windows\SYSTEM32\ntdll.dll]

Hi Luke,

Thank you for your report. The crash you are experiencing is a known issue with input nodes. It has been resolved internally and will be fixed in a future release of the editor. If you experience any other unexpected behavior, please let us know.

Cheers!

Alexander