Some very simple answers to your question:
To squash it you would use a single vertical bone, parent the cube to the bone, then scale the bone in its local Y axis only - the cube would then reduce in height. If you also scaled it say by 1.4 in its local X and Z axes, it would then get “fatter” as it squashed.
To roll the cube, this is more complex if you want the cube to roll about an edge, because that has to be the centre of the roll, you could use a variety of techniques, a path for one bone to follow, multiple bones at each edge, with the cube a “Child Of” (use the Child Of constraint) then keyframe the influence of each Child Of constraint so that becomes the active constraint as it becomes the roll edge. I did this sort of animation some time ago, I will see if I still have the blend file to show you.
To make it jump, just keyframe some movements of a single bone to rise in Global Z axis.
What is the end goal here? What form of animation/rigging does Unreal Engine $ accept?
So many questions, we need some answers please.