Deforming mesh on collision

I am pretty new to Unreal Engine so not familiar with many possibilities so just looking for opinion/suggestions.

I want to make a mesh that would deform based on force it collides ground/wall with.

So in example on picture - There is a ball falling down at certain speed, once it hits ground - it needs to collapse/deform slightly (based on force) and then it needs to rebound back to normal shape.

What approaches are possible to take here?

My only idea so far is:

On Collision Hit detect:
-> Determine point/side of collision (From rotation and velocity of object to determine which direction it was going [Forward/Down/Left])
-> Change scale based on velocity (The faster it was going - the stronger the hit - the more collapse it should take) along local Z axis
-> Add impulse upwards (so the stronger it hits - the more it bounces off) [Although I am not sure if this could be handled by physical material alone?]
-> Scale back to normal.

That’s just rough idea but I heard there is something like dynamic/deformable meshes in Unreal Engine?