When an instance is removed from a Hierarchical Instanced Static Mesh's array, if there are indices that are further along in the array that fill that index, the last index in the array is used to do so instead of the next in the order.

Example: If you have a Hierarchical Instanced Static Mesh component with 5 instances in it and you remove the instance at index 0, the instance at index 4 (the last one) will be used to fill index 0 instead of index 1.

Reproduction Project: [Link Removed]

Regression?: No
This also occurred in 4.13

Steps to Reproduce
  1. Download the project in the description and open it
  2. Press play
  3. Press "T" 5 times to spawn 5 instances, index 0-4
  4. Press "R" 5 times to remove all instances, removing at index 0 each time
    Result: When index 0 is removed, the last index is being moved to index 0, meaning that the instances are deleted in order of 0, 4, 3, 2, 1.
    Expected: When index 0 is removed, all indexes are shifted down 1. This means that the instances would be deleted in order of 0, 1, 2, 3, 4.

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

Login to Vote

Won't Fix
ComponentUE - Rendering
Affects Versions4.
CreatedJan 16, 2017
ResolvedAug 18, 2021
UpdatedAug 18, 2021