Here’s my take on this:
I have an object with a collision box (the thin black wireframe box) and I spawn a bunch of cubes.
By clicking on any of the cubes, I move the collider on one axis only and change its shape so it envelops a slice of the big cube. You can extend the collider to include more than a single slice since that would be how an ordinary cube works.
In this case, a slice would be 25 small cubes on an axis. (you can remove the ones inside, of course, since they’re not really used). I then add overlapping actors (small cubes) to an array.
I use *ctrl *or *shift + click *to choose a 25-slice:
The cubes that collided with the collider are attached to it. A timeline will then add 90 deg rotation to the collider which, in turn, will rotate all the attached cubes around its own axis. Once the timeline finishes playing, the cubes are detached. The CE_CubeClicked is called by a component onClicked inside the small cubes and fetches its own location.
(open in a new tab for full res)
The end result:
https://i.gyazo.com/8c61e5c58468d3c4…e41327f912.mp4
That was a cool exercise. Let me know if anything is unclear.