Steps to Reproduce

Create or open a material

Create a "Power" node and plug the output into base color

Create a Texture Sample node, select any 2D texture and plug this into the Power node (base input)

Right click the Texture Sample node and select "Convert To Texture Object". Crash will occur (see attached image for setup guidance)

Callstack
Assertion failed: bAllowNonFloat [File:D:\Unreal\UE5_Release-5.2\Engine\Source\Runtime\Engine\Private\Materials\HLSLMaterialDerivativeAutogen.cpp] [Line: 140] A breakpoint instruction (__debugbreak() statement or a similar call) was executed in UnrealEditor.exe.

 

>    UnrealEditor-Engine.dll!GetDerivType(EMaterialValueType ValueType, bool bAllowNonFloat) Line 140    C++
     [Inline Frame] UnrealEditor-Engine.dll!FHLSLMaterialTranslator::GetDerivInfo(int) Line 2590    C++
     UnrealEditor-Engine.dll!FMaterialDerivativeAutogen::GenerateExpressionFunc2(FHLSLMaterialTranslator & Translator, FMaterialDerivativeAutogen::EFunc2 Op, int LhsCode, int RhsCode) Line 785    C++
     UnrealEditor-Engine.dll!FHLSLMaterialTranslator::Power(int Base, int Exponent) Line 7916    C++
     UnrealEditor-Engine.dll!FHLSLMaterialTranslator::CallExpression(FMaterialExpressionKey ExpressionKey, FMaterialCompiler * Compiler) Line 3907    C++
     UnrealEditor-Engine.dll!FExpressionInput::Compile(FMaterialCompiler * Compiler) Line 319    C++
     UnrealEditor-Engine.dll!FColorMaterialInput::CompileWithDefault(FMaterialCompiler * Compiler, EMaterialProperty Property) Line 597    C++
     UnrealEditor-Engine.dll!UMaterial::CompilePropertyEx(FMaterialCompiler * Compiler, const FGuid & AttributeID) Line 6191    C++
     UnrealEditor-Engine.dll!UMaterialInterface::CompileProperty(FMaterialCompiler * Compiler, EMaterialProperty Property, unsigned int ForceCastFlags) Line 4318    C++
     [Inline Frame] UnrealEditor-Engine.dll!FMaterialAttributeDefinitionMap::GetValueType(EMaterialProperty) Line 171    C++
     UnrealEditor-Engine.dll!FMaterialResource::CompilePropertyAndSetMaterialProperty(EMaterialProperty Property, FMaterialCompiler * Compiler, EShaderFrequency OverrideShaderFrequency, bool bUsePreviousFrameTime) Line 259    C++
     UnrealEditor-Engine.dll!FHLSLMaterialTranslator::Translate() Line 926    C++
     UnrealEditor-Engine.dll!FMaterial::Translate_Legacy(const FMaterialShaderMapId & ShaderMapId, const FStaticParameterSet & InStaticParameters, EShaderPlatform InPlatform, const ITargetPlatform * InTargetPlatform, FMaterialCompilationOutput & OutCompilationOutput, TRefCountPtr<FSharedShaderCompilerEnvironment> & OutMaterialEnvironment) Line 3000    C++
     [Inline Frame] UnrealEditor-Engine.dll!FMaterial::Translate(const FMaterialShaderMapId &) Line 3038    C++
     UnrealEditor-Engine.dll!FMaterial::BeginCompileShaderMap(const FMaterialShaderMapId & ShaderMapId, const FStaticParameterSet & StaticParameterSet, EShaderPlatform Platform, EMaterialShaderPrecompileMode PrecompileMode, const ITargetPlatform * TargetPlatform) Line 3072    C++
     UnrealEditor-Engine.dll!FMaterial::BeginCacheShaders::__l2::<lambda_1>::operator()() Line 2764    C++
     [Inline Frame] UnrealEditor-Engine.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,bool __cdecl(void)>::operator()() Line 600    C++
     UnrealEditor-Engine.dll!FMaterial::FinishCacheShaders() Line 2891    C++
     [Inline Frame] UnrealEditor-Engine.dll!FMaterial::CacheShaders(const FMaterialShaderMapId &) Line 2901    C++
     UnrealEditor-Engine.dll!FMaterial::CacheShaders(EShaderPlatform Platform, EMaterialShaderPrecompileMode PrecompileMode, const ITargetPlatform * TargetPlatform) Line 2541    C++
     [Inline Frame] UnrealEditor-Engine.dll!UMaterial::CacheShadersForResources(EShaderPlatform) Line 2491    C++
     UnrealEditor-Engine.dll!UMaterial::CacheResourceShadersForRendering(bool bRegenerateId, EMaterialShaderPrecompileMode PrecompileMode) Line 2365    C++
     UnrealEditor-Engine.dll!UMaterial::PostEditChangePropertyInternal(FPropertyChangedEvent & PropertyChangedEvent, const UMaterial::EPostEditChangeEffectOnShaders EffectOnShaders) Line 4562    C++
     UnrealEditor-CoreUObject.dll!UObject::PostEditChange() Line 374    C++
     UnrealEditor-MaterialEditor.dll!FMaterialEditor::UpdatePreviewMaterial(bool bForce) Line 2534    C++
     UnrealEditor-MaterialEditor.dll!FMaterialEditor::DeleteNodes(const TArray<UEdGraphNode *,TSizedDefaultAllocator<32>> & NodesToDelete) Line 5610    C++
     UnrealEditor-MaterialEditor.dll!FMaterialEditor::OnConvertTextures() Line 4175    C++
     [Inline Frame] UnrealEditor-MaterialEditor.dll!Invoke(void(FMaterialEditor::*)()) Line 66    C++
     [Inline Frame] UnrealEditor-MaterialEditor.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(FMaterialEditor::*)() &) Line 321    C++
     UnrealEditor-MaterialEditor.dll!TBaseSPMethodDelegateInstance<0,FMaterialEditor,1,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() Line 292    C++
     UnrealEditor-Slate.dll!FUICommandList::ExecuteAction(const TSharedRef<FUICommandInfo const ,1> InUICommandInfo) Line 111    C++
     UnrealEditor-Slate.dll!SMenuEntryBlock::OnClicked(bool bCheckBoxClicked) Line 1148    C++
     UnrealEditor-Slate.dll!SMenuEntryBlock::OnMenuItemButtonClicked() Line 1108    C++
     [Inline Frame] UnrealEditor-Slate.dll!Invoke(FReply(SMenuEntryBlock::*)()) Line 66    C++
     [Inline Frame] UnrealEditor-Slate.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(FReply(SMenuEntryBlock::*)() &) Line 321    C++
     UnrealEditor-Slate.dll!TBaseSPMethodDelegateInstance<0,SMenuEntryBlock,1,FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 275    C++
     [Inline Frame] UnrealEditor-Slate.dll!TDelegate<FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 632    C++
     UnrealEditor-Slate.dll!SButton::ExecuteOnClick() Line 465    C++
     UnrealEditor-Slate.dll!SButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 390    C++
     UnrealEditor-Slate.dll!SMenuEntryButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 434    C++
     [Inline Frame] UnrealEditor-Slate.dll!FSlateApplication::RoutePointerUpEvent::__l8::<lambda_3>::operator()(const FArrangedWidget &) Line 5129    C++
     UnrealEditor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,`FSlateApplication::RoutePointerUpEvent'::`8'::<lambda_3>>(FSlateApplication * ThisApplication, FEventRouter::FToLeafmostPolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerUpEvent::__l8::<lambda_3> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 420    C++
     UnrealEditor-Slate.dll!FSlateApplication::RoutePointerUpEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 5115    C++
     UnrealEditor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent(const FPointerEvent & MouseEvent) Line 5684    C++
     UnrealEditor-Slate.dll!FSlateApplication::OnMouseUp(const EMouseButtons::Type Button, const UE::Math::TVector2<double> CursorPos) Line 5649    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 2219    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2726    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1895    C++
     [Inline Frame] UnrealEditor-ApplicationCore.dll!WindowsApplication_WndProc(HWND__ *) Line 919    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 925    C++
     [External Code]    
     [Inline Frame] UnrealEditor-ApplicationCore.dll!WinPumpMessages() Line 113    C++
     UnrealEditor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 142    C++
     UnrealEditor.exe!FEngineLoop::Tick() Line 5736    C++
     [Inline Frame] UnrealEditor.exe!EngineTick() Line 61    C++
     UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 188    C++
     UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 233    C++
     UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 284    C++
     [External Code]    

Have Comments or More Details?

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

0
Login to Vote

Cannot Reproduce
ComponentUE - Rendering Architecture - Materials
Affects Versions5.15.2
Target Fix5.4
CreatedApr 11, 2023
ResolvedNov 9, 2023
UpdatedNov 9, 2023