Procedural mesh component lost his collision in packaged project if manually placed into map

Hi,

i noticed a problem with Procedural Mesh Component, if i manually place an actor with it into the map it lost his collision in the packaged project.

This NOT happen if you spawn it in the map with a spawner.

Step to reproduce

1) Create a Blueprint actor with a Static Mesh and a Procedural Mesh Component and on event Begin Play use the “Copy Procedural Mesh from Static Mesh Component” node like this (remember to check “Allow CPUAccess” in the Static Mesh editor):

2) Create a Blueprint actor as a spawner like this:

3) Place both in the map and play in editor, all collision will be ok, now package the project (or Launch on Desktop) and you will notice that the collision of manually placed actor is gone.

Video demostration.
https://www…com/watch?v=hpW2LAvo4-o

Hi ZioYuri78,

  • Does this occur in a clean, blank project with no additional content or is it limited to one project?
  • Is this limited to one blueprint or any procedurally generated blueprint?
  • What device are you packaging for?
  1. Occur in my testbed project, replicated it in a clean, blank project with only starter content and still happen.

  2. Happen with any procedural generated Blueprint, both if you use the “Copy Procedural Mesh from Static Mesh Component” node or the “Create Mesh Section” node, note that i checked the Create Collision checkbox in any case.

  3. I’m packaging for Windows (64-bit), happen in both Development or Shipping buid configuration.

If you remove the destroy component do you still see this occur? I receive a warning when I have the destroy component in PIE:

I believe the error you are experiencing is probably due to this, if you don’t destroy the static mesh component it may work correctly.

You have this warning if you not check AllowCPUAccess in static mesh editor.

As i said last time i lost collision same if i made a simple Procedural Mesh Component from scratch with Create Mesh Section" node.

This has been the only error I’ve experienced on my end thus far. Do you have a sample project I can look at to see this in effect?

Of course, i made an example project, you can download it here
https://1drv.ms/u/s!AkT_FprkHbUDgzGQGXbsRZK_dWZ8

meanwhile i discovered that if i move the code from BeginPlay to the Constructor Script all work fine, the problem persist if i generate the Procedural Mesh on BeginPlay and i manually place it into the map.

It may be due to the immediacy of begin play, try adding a brief (.5 second) delay before your code in your begin play, do you see the same errors occur?

Done, it still lost the collision.

Unfortunately, the project sent seems to be unable to package. Do you have a packaged version of the project you can send?

I re-uploaded the project, could be last time i deleted the wrong files to save bandwidth (i live in Italy and we still have potato adsl)

https://1drv.ms/u/s!AkT_FprkHbUDgzGQGXbsRZK_dWZ8

Here the packaged project

https://1drv.ms/u/s!AkT_FprkHbUDgzL-PJkO3UsXDNO7

Thank you for submitting a bug report. I have reproduced this issue and logged a report for it here. You can track the report’s status as the issue is reviewed by our development

I had the same problem, no collision at all no matter how hard I tried until I edited collision on static mesh from which I copied the mesh.

I really cant tell you what exactly I have done, I just played with some settings here and it started to work (removed collision, applied again and so on, tried different types etc.).

I have a procedural mesh that I create with these instructions: A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums

While playing the game “Simulation”, “Standalone”, or “New Editor Window”, the mesh collides with the player object, but when "Launch"ing the game, no collision meshes seem to be present, and no collision takes place.

I used the runtime to draw something, but after I packed it, I couldn’t use it.

Don’t call copy procedural mesh function in Construction,Add procedural mesh component and call “copy procedural mesh from static mesh component” in Event Begin Play.