SourySK / NiagaraUIRenderer

Niagara UI Renderer | Free Plugin for Unreal Engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

crash in Game

eaglefly628 opened this issue · comments

0x00007ff6579b32a1 UObjectBase::IsValidLowLevel() [UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectBase.cpp:290]
0x00007ff6566393c5 SNiagaraUISystemWidget::CreateSlateMaterialBrush() [Plugins\UIPlugins\NiagaraUIRenderer\Source\NiagaraUIRenderer\Private\SNiagaraUISystemWidget.cpp:79]
0x00007ff656635a58 SNiagaraUISystemWidget::AddRenderData() [Plugins\UIPlugins\NiagaraUIRenderer\Source\NiagaraUIRenderer\Private\SNiagaraUISystemWidget.cpp:60]
0x00007ff656637c14 UNiagaraUIComponent::AddSpriteRendererData() [Plugins\UIPlugins\NiagaraUIRenderer\Source\NiagaraUIRenderer\Private\NiagaraUIComponent.cpp:175]
0x00007ff65663b076 UNiagaraUIComponent::RenderUI() [Plugins\UIPlugins\NiagaraUIRenderer\Source\NiagaraUIRenderer\Private\NiagaraUIComponent.cpp:78]
0x00007ff65663a2d0 SNiagaraUISystemWidget::OnPaint() [Plugins\UIPlugins\NiagaraUIRenderer\Source\NiagaraUIRenderer\Private\SNiagaraUISystemWidget.cpp:42]
0x00007ff657bfd06c SWidget::Paint() [UnrealEngine\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1393]
0x00007ff657e57b55 SBox::OnPaint() [UnrealEngine\Engine\Source\Runtime\Slate\Private\Widgets\Layout\SBox.cpp:293]

Can you please be more specific?

In a crash report I would appreciate to have some more information:

  1. What's the version of the engine and plugin?
  2. Is the crash happening in the editor or packaged project, if packaged is it development or shipping build?
  3. What are steps to reproduce the crash?

hi,my unreal engine is 4.26, it's happen in editor and packaged game.
As I debug.here is a trick.
1 you have a code in CheckForInvalidBrushes Brush.Value->GetResourceObject()->RemoveFromRoot(); but I can't find where you add to root,.
2 auto MaterialInstanceDynamic = UMaterialInstanceDynamic::Create(MaterialToUse, GetTransientPackage()); created and add to shareptr blush. how can we make sure MaterialInstanceDynamic not GC in period?
thanks for so quick reply!!

current problem is Brush.Value->GetResourceObject() is GCed during realtime. packageversion is more easy to reproduce it. editor is hard due to it's GC rule.

I find you add some code try to clean the invalidBrush
SNiagaraUISystemWidget::~SNiagaraUISystemWidget()
CheckForInvalidBrushes();
but seems not working,it's too late, Brush.Value->GetResourceObject() is already wild point.

I think this should fix the issue. Please let me know if it doesn't, or if you have any other problems. Thank you for your investigation of the crash, it helped me a lot.

I think this should fix the issue. Please let me know if it doesn't, or if you have any other problems. Thank you for your investigation of the crash, it helped me a lot.

hi,Soury,great it fixed, BTW,our project had apporved we can try to using this plugin in our game。
but you know,once it apply in real title game, we need it stable and efficient and flexible, Can we keep in touch to imporve it,special in mobile platform performence。 send mail to 185113526@qq.com for more detail