In my opinion, if you know the standard programming paradigms, it's not that hard. Then, you will just need some time to learn the basic structure of a new engine. But you need to know the basics first.

This includes things like variables, statements, function calls, branches, loops, data types, classes, attributes, methods, encapsulation, access modifiers, interfaces, inheritance, polymorphism.

If somebody would wake you up in the middle of the night to ask you about one of these concepts you should be able to answer this person immediately and speak at least one minute without pause about this specific concept (why, how, pros and cons).

It sounds boring but if you know this everything will become much easier and you will not care anymore if you have to code in C, C++, C#, Java, Python etc. The only problem is to find time to learn these things if you're not doing it professionally.

The best way is to deal with these things (and things you want to learn in general) every(!) day for just 15 minutes even if you don't feel like it. The key idea is consistency. After the 15 minutes are up, do what you want but you have to invest 15 minutes even if you only read one paragraph or code one example. This will work in the long run. Just do it.