When a user tries to add a skeletal mesh component to a blueprint with a niagara system to use the skeletal mesh with that niagara system, the niagara system will stop rendering because it does not have CPU access for the new skeletal mesh. The blueprint gives the user no errors or feedback indicating that this is what has happened and there is no way to grant this access through the blueprint.

Instead, the user must load the Niagara system, manually switch out the skeletal mesh it is using, and grant CPU Access from within the system, switch the system back to the original mesh value, and then return to their blueprint. This is confusing to the user and hinders the user's ability to troubleshoot the issue.

Steps to Reproduce
  1. Open the Niagara map from ContentExamples in the editor
  2. In the Content Browser, search for and open the SkeletalMeshReproductionSystem_Demo niagara system
  3. In the SkeletalMeshReproduction Emitter stack, delete Event Handler - Source LocationEvent
  4. In the SkeletalMeshInfluencer Emitter stack, enable Requires Persistent IDs (Emitter Spawn > EmitterProperties)
  5. In the Content Browser, create a new blueprint class based on Actor and call it niagaraSkelMeshBP
  6. With the Default Scene Root selected in the Components pane, add the following components to the Blueprint:
    • SkeletalMesh
    • Niagara Particle System
  7. Select the Niagara Particle System component and set the Niagara System Asset to SkeletalMeshReproductionSystem_Demo
  8. In the Details pane for the SkeletalMesh component under the Rendering heading, disable Visible
  9. Under the Mesh heading, set the Skeletal Mesh to ProtoOwen
  10. Note that the Niagara system stops rendering
  11. Back in the SkeletalMeshReproduction Emitter stack for the Niagara system, set User.Mesh's Default Mesh to ProtoOwen
  12. Click the Fix Now button that pops up above in the Errors section
  13. Note that the Niagara system is now rendering again using the ProtoOwen skeletal mesh

Expected Result
The blueprint provides the user a pop up to give the Niagara system CPU access to the skeletal mesh, or automatically gives the system CPU access

Actual Result
The user is required to switch the skeletal mesh used by the Niagara system to manually give the system CPU Access for the skeletal mesh through the Niagara system instead of through the blueprint


Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-72349 in the post.

Login to Vote

ComponentRendering - Niagara
Affects Versions4.23
CreatedApr 4, 2019
UpdatedDec 16, 2019