I've been working with the Unity 3D engine for about 3 years now and I've grown quite fond of it. The only problem though with the Unity 3D engine is it's graphical quality. And while since I started using Unity (with version 4.2) a lot has changed already in terms of graphical quality (with the release of Unity 5 the shaders have become very good), it's still below par when comparing it to the Unreal Engine.
The reason for this change is that lead designer for the RPG I've been invited to work on has decided to change from Unity to Unreal. And because of the graphical quality I've mentioned above, I can understand the change. The problem though, I have no real knowledge of C++ and it differs quite a lot from C#, even while the 2 languages are related.
To get to know C++ a bit better, I've already bought a book to learn the basics of the language (which is all I need - I learn a programming language by it's structure, not the statements it's using) and I think I can master the language in a couple of weeks. My only concern is that for the RPG I've been very busy on the d20 project and that has already grown pretty big in size (275Kb of code already ) and converting it from C# to C++ will take me quite a while. Therefor I figured to complete the d20 project in Unity (and release it as a plugin) and then convert it to C++ for the Unreal engine and thus the RPG project I've been invited for.
Even with the change to Unreal, I think I'll still be using Unity a lot. I've made a list of investments in tools for Unity I've made the last year (for tax purposes) and the amount is HUGE. It'll be a waste to throw that all overboard, even more when I'm more skilled in Unity than Unreal at the moment...