How to add a new destrucible mesh to an actor that already has one without an editor crash?

Possible bug report? I can provide more detailed information if anybody else reproduces this.

I was attempting to make a “death animation” for this actor that has a destructible mesh being damaged. I:

-Added an empty destructible mesh to the actor’s parent class
-Upon “death”, I set this destructible mesh to the desired one

Right here the editor crashes. Am I doing something I shouldn’t be doing?

Hi,

Can you post a screen shot of your setup or more detailed repro steps so I can see if I can reproduce this on my end?

Thank you!

Tim

Definitely Tim!

Step 1: Create an “enemy class” with parent class Character

2: Add a destructible component but leave it unset

3: Set the destructible component to be a property

4: In the event graph add this code:

[Destructible mesh parent class event graph] 1

Event Any Damage → (Check to see if “HP” is <= 0) → Set Destructible Mesh (target: previously referred to destructible component property - new mesh: any mesh)

5: Create a new class with parent class the previously mentioned “enemy” class

6: Run some damage to this class!

At runtime when the Set Destructible Mesh node is called the editor crashes

Here’s the callstack (the assertion failed comment seems relevant):

!Id:b80078869002b12a7ed264db3b3da1f5

Unknown exception - code 00000001 (first/second chance not available)

Assertion failed: CI [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.4\Engine\Source\Runtime\Engine\Private\DestructibleComponent.cpp] [Line: 766]
If a chunk actor has user data and it is not a DestructibleChunkInfo, something is messed up

Rest of callstack:

KERNELBASE + 23544 bytes
UE4Editor_Core + 3095292 bytes
UE4Editor_Core + 1661738 bytes
UE4Editor_Core + 1541824 bytes
UE4Editor_Engine + 3137466 bytes
UE4Editor_Engine + 1128514 bytes
UE4Editor_CoreUObject + 547972 bytes
UE4Editor_CoreUObject + 1302075 bytes
UE4Editor_CoreUObject + 1411042 bytes
UE4Editor_CoreUObject + 1416047 bytes
UE4Editor_CoreUObject + 1303464 bytes
UE4Editor_CoreUObject + 1416047 bytes
UE4Editor_CoreUObject + 547972 bytes
UE4Editor_CoreUObject + 1414048 bytes
UE4Editor_Engine + 1749361 bytes
UE4Editor_Engine + 16234328 bytes
UE4Editor_Engine + 1839425 bytes
UE4Editor_Engine + 5802503 bytes
UE4Editor_Engine + 3368684 bytes
UE4Editor_Engine + 1041237 bytes
UE4Editor_CoreUObject + 547972 bytes
UE4Editor_CoreUObject + 1302075 bytes
UE4Editor_CoreUObject + 1411042 bytes
UE4Editor_CoreUObject + 1416047 bytes
UE4Editor_CoreUObject + 1303464 bytes
UE4Editor_CoreUObject + 1416047 bytes
UE4Editor_CoreUObject + 547972 bytes
UE4Editor_CoreUObject + 1414048 bytes
UE4Editor_Engine + 1749361 bytes
UE4Editor_Engine + 16234991 bytes
UE4Editor_Engine + 1554053 bytes
UE4Editor_Engine + 14149061 bytes
UE4Editor_Engine + 14175798 bytes
UE4Editor_Engine + 14182701 bytes
UE4Editor_Engine + 8419590 bytes
UE4Editor_Engine + 8471261 bytes
UE4Editor_Core + 749570 bytes
UE4Editor_Core + 749965 bytes
UE4Editor_Core + 870533 bytes
UE4Editor_Engine + 8676473 bytes
UE4Editor_Engine + 8588400 bytes
UE4Editor_Engine + 8598183 bytes
UE4Editor_Engine + 5363542 bytes
UE4Editor_Engine + 5391080 bytes
UE4Editor_UnrealEd + 1814406 bytes
UE4Editor_UnrealEd + 5925286 bytes
UE4Editor!FEngineLoop::Tick() + 3294 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.4\engine\source\runtime\launch\private\launchengineloop.cpp:2098]
UE4Editor!GuardedMain() + 476 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.4\engine\source\runtime\launch\private\launch.cpp:133]
UE4Editor!GuardedMainWrapper() + 26 bytes

[d:\buildfarm\buildmachine_++depot+ue4-releases+4.4\engine\source\runtime\launch\private\windows\launchwindows.cpp:125]
UE4Editor!WinMain() + 249 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.4\engine\source\runtime\launch\private\windows\launchwindows.cpp:201]
UE4Editor!__tmainCRTStartup() + 329 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]

I’m not sure this is an exact same as your issue but I’ve got a similar issue with Set Destructible Mesh that will cause a crash with the engine. This has been bugged and is being looked into currently.

You’ve got a setup that I cannot throw together in a short amount of time on my end. I would be willing to bet that the Set Destructible Mesh node is the root issue though.

If you’re able to provide the project or reproduce with simple steps in a blank project that doesn’t require massive setup I could test then and make sure it is the same issue.

Thank you!

Tim

I spent about an hour trying to recreate it from scratch but I couldn’t get the mesh to destruct in this first person template project. I was going to attach the project but it’s 600MB so here’s just the assets I changed/created. If that doesn’t work out I can dropbox the project to you or something like that. assets

  • I added destructible damage to MyProjectile
  • I created a subclass of Character (“IllFatedEnemy”) that has a destructible mesh as well as the event to swap its mesh if it is ever damaged.
  • I set the skeletal mesh to the DM and set it’s collision type to custom > destructible > overlap all
  • The 2nd enemy in the zip is a variation I created in a failed attempt to get it to destruct. You might have luck with either one if you can get them to break.

I couldn’t get it to take damage even though as far as I can tell it’s the exact same settings I’m using in my correctly-destructing game project. I must have overlooked something critical - you might spot it right away.

Thanks for looking into it! :slight_smile:

This bug was fixed in 4.5’s release. When using the “Set Destructible Mesh” node will no longer cause a crash in the editor.

Tim