It looks like you have various topics you’ll have to investigate (how to use noise how to set and displace vertices etc). I think Unity can be a good starter, a lot of things you need are already there and you can setup a scene and place your first objects and experiment easily. Sure it has its limitations, but right now you want to start to understand things, not create a 100% perfect engine from scratch - no, be prepared to start and throw away your work and restart again a few times.
My advice, but thats just my personal opinion, you could start with Unity but you should try to create everything on CPU first! - Results are achiveable more easy, and the very very very basic process is the same. IMHO, if you are not able to create a procedural planet on the CPU and dont understand what to do, you’ll have an even more tough time to do that on the GPU. Decide for a an object type that represents a plane (an quadsphere or an icosphere for example), apply noise , etc etc. And: dont start in 1:1 scales initially. Its more easier to inspect the meshes in Unity’s scene viewer when they are at scales Unity typically handles - and an earth is something Unity is not used to handle
Typically start with a quadsphere. So yo create six planes that represent a cube within [-1,+1] value range. When I say “create six planes” I mean create them from scratch. So you completely (!) create your own mesh by setting each vertice position, UVs, normals. Nothing out of the box. Then, normalise the vertice positions and you have a sphere. Multiply with a radius value (nothing too big) and you have a bigger sphere. Finally you apply a noise value to each vertice position by multiplying it with a noise value (input values for the noise are your vertice positions).
Then you have your first sphere with “hills” and can start to experiment further (apply textures etc).
Things you should google and read
"procedural planet" or “procedural terrain” - obvious, but there a are lots of articles around that cover the above.
"perlin noise" or “simplex noise” - typical noise representation, and you should understand how the different parameters (amplitute, frequency, etc.) influence your noise result. e.g.: http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
"fBm" or “fractional Brownian motion” which orchestrates noise in multiple octaves. Using this you can create very natural looking surfaces already.
And if you feel settled with noise and have created a quadsphere with noise applied yourself, you should google for “quadtree” which helps you to organise your data when you start splitting and merging planes to add more detail.
Again, my best advice I can give: Start on the CPU, Unity is a good engine for that, and really understand what you do, and try yourself first here by checking some tutorials or artices. Then you’ll be able to ask detailed questions instead of “whats next” of course I can only guess how far you are already by these few lines here. But the above would be my 2 cents.
Yes you should, lots of things covered there. Althoug I think you should first be able to create a CPU terrain on your own by using various other articles before jumping into the above one.
cybercritic is 100% right. A lot of work, you’ll get crazy, and loose a lot of time.