I would C# before C++. C++ has many complexities that C# deals with for you. I haven't tried it myself but I know Unity bought Bolt which is a visual scripting language that might make the transition from blocks to C# easier for you.
I would suggest actually before you jump into a game engine that uses C#, just learn C# on it's own. Don't focus on games, just learn how to write code first. That will make Unity much easier to learn.