From Licensee:

The bug comes from the call of the function `FoliagePartitioningUtils::Update` in the method `AInstancedFoliageActor::MoveInstancesForMovedComponent`. When the function `FoliagePartitioningUtils::Update` reassigns the instances to the foliage actors, it calls the function `UpdateLocationFromComponent` on the BaseInfo And when the method `AInstancedFoliageActor::MoveInstancesForMovedComponent` is called afterwards, the CurrentBaseInfo contains the new position of the actor and not the old one (So, the delta is null and the foliage instances are not moved).


When moving a base component causes instances to change from source IFA to target IFA, the instances of the target IFA may not have their positions updated.

Steps to Reproduce

To reproduce the bug, you have to

  1. create a new world with the open world template.
  2. Add a cube (then scale it) at the intersection of cells (1,0) and (2,0).
  3. In the foliage mode, add some foliage instances on the cube first on cell (1,0), then on cell (2,0). (This order will determine the direction in which the bug will appear)
  4. Move the actor on the positive x axis.
  5. The instances located in cell (2,0) didn't move.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-184366 in the post.

Login to Vote

Fix Commit25316835
Main Commit25321932
CreatedApr 26, 2023
ResolvedMay 3, 2023
UpdatedMay 4, 2023