When I converted my Game Project from 4.7 to 4.8 I noticed that Physical Actors are no longer effected by the AddWorldOffset Node. In my game I use pipe-like actors with volumes inside to transport other Physical actors around sort of like conveyor belts. To do that I GetOverlappingActors for the ConveyorVolume and then ForEachLoop AddWorldOffset of the Value 200 * Delta Sec. It works perfectly in 4.7, moving all physical Actors along the volume.
But in 4.8 it seems the physical actors are ignored by the getOverlappingActors, since the don´t move at all or fall (If gravity is enabled). The Actors do however move again if I disable “Simulate Physics”. Is this a Bug, or intentional?
And should it be intentional (f.ex. a new feature that I have to set up), what is it?
Also: I recreated the Scenario in a Package in 4.8 to check if it has do to with the conversion from 4.7 to 4.8, but it still does not work.
The Bluepirnt of the ConveyorVolume, containing the logic for moving the StoneActors Up, once for the Phys and once for the NoPhys Actor:
And here are the two Stone objects, the only difference beeing that the PhysStone has SimulatePhysics enabled:
And finally the result ingame:
I actually can’t get either one of them to overlap and move using your method, but if I replace the actor that has the blueprint nodes with a blueprinted TriggerVolume, both of them work without issue. Can you give that a try? You should be able to copy and paste the nodes easily, just drop the references to Box as it will be referencing itself.
Hope this helps!
Hey, thanks for the answer, changing all my Conveyor Actors to Box triggers would be a huge amount of extra work since I got plenty of different parts in my game that all use this system. I uploaded the Package I made to showcase the problem in the screenshots to Dropbox, maybe you could take a look at it, since my method definetly works and was even used in this official tutorial here: Making a Simple Converyor Volume | Live Training | Unreal Engine - YouTube.
I read the changelog of the 4.8 release and there is nothing that would explain to me why PhysActors are now ignored by the GetOverlappingActors Node, it seems like an accidental change to me. I looked at it in debug mode, and the GetOverlappingActors really does not detect the PhyActor and returns an empty Array to the ForEachLoop since it never executes once.
DropboxLink: Dropbox - File Deleted
Thank you for providing the example project. It seems as though this affects any sub component of a blueprint and the only way to currently work around this would be to make the mesh that needs to move into the root component. Seeing as this isn’t always a suitable solution however, I’ve put in a bug report for this issue. For your reference, the bug number is UE-17337.
Thank you for your report and have a nice day,