One thing I've found is, using the pre-made engine, at first it seems relatively easy as you're using only stuffs it provides. Once you're stepping out of that then you'd realized that the thing that make it easy to begin now becomes difficulties you have to solve.
For example, I was working on a game a long time ago. At one point I had to display Thai text, so I loaded Thai fonts in and think the engine would render it as nicely as in English. I found out later that almost no engine in the market is capable of displaying Thai properly (the only exception I've found is Unreal Engine 4, which utilize ICU and Harfbuzz internally. Godot has plan to support this AFAIK).
If this is my own engine, I could write my text rendering routine to support my language. I have to maintain this engine anyway so it doesn't cost much more, and I have control over the engine. But in the pre-made engine case things are more difficult. If it's closed-source, I'd have to find a work around. If it's open-source, then I have to push it into upstream or separately maintain the code base and merge in changes from the upstream from time to time. I have to explained a couple of hundred developers that why this is needed, and they might just ignore me.
PS. shameless plug ? I have a report on Thai displaying capability in game engines in my website. Feel free to check it out.