Reviving this thread because I came up with a solution:
-set moving object location with SWEEP enabled
-if sweep hit anything, add offset to hit object
-set location again without sweeping
images here:
video here: 3FKKE5KRSc
It currently has a limitation I’m attempting to work around, which is that even if the player is standing on top of the object, the sweep detects it and causes the player to get thrown off if it has a movement component that supports objects beneath it, like the CharacterMovementComponent. Another potential downside is that since the “set location” sweep doesn’t seem to return an array of hit actors, it might not support multiple collisions at once. A simple shape multi-trace would fix that specific issue, but then you wouldn’t be able to use complex geometry for the platforms.
If anyone has ideas on how to fix the problem of being on top of the platform, please share!