How to make terrain(Landscape) with dynamic heightmap for every chunk?

I’m trying to create huge(about 10-20 km2) sand desert terrain, where player will leave trails and footsteps on the sand. To be more specific, I want to achieve something like sand feels in “Journey”, not just decals. I just start using UE4 after years in Unity, and I actually done same thing in Unity, by these steps:
[Terrain Generation]

  1. Generating terrain as tiled mesh from height map image (32x32 quads per 100 meters for each chunk)
  2. Generating basic detail height map textures for every chunk (every chunk have unique seamless texture for sand waves, footprints e.t.c.)
  3. Every chunk stores height map pixels grayscale data as array of bytes
    [Shader]
  4. Applying distance based tesselation, vertex displacement, normal from height map, all based on chunk unique heightmap texture
    [Deformation on Runtime]
  5. Calculate affected pixels for every chunk player step (chunkHeightmapPixel = Lerp(chunkHeightmapPixel, footprintBrushPixel, footprintBrushPixel.Transparency))
  6. Apply textures change
    Maybe I could use better algorithm, but it works just fine with drawing trails and footprints every frame.
    I’m very new to Unreal, so I’m asking your suggestions, what is best/easiest way to achieve same in Unreal? Can I use “Landscape” for this, writing data to each affected chunk by using unique chunk heightmap textures with tesselation/displacement shader?