Lauralex: Access to the source code is not the most crucial part in using a game engine, but HOW you write your gameplay it is.
Unity: C# (you can get some visual scripting library from the asset store but it’s not a native feature of the engine)
Unreal Engine 4: C++ + Blueprints/Visual Scripting
Stingray: Lua + Flowgraph
Conclusion: I love the C# of the Unity (as a game programmer/developer that I am) it’s easy and powerful. I like the C++ of the UE4, it’s harder and more verbose that it could be, but it gives you the power of C++. Unity team are working on their IL2CPP compiler witch is super but too young right now and only available to iOS and Android so far. Stingray has LUA, a scripting language used by big gaming companies for years (because C# wasn’t viable back then and now it’s to new technology for their legacy code). I just don’t like it. So far Stingray dose not give me anything over Unity or UnrealEngine4, even more I hate it a bit. I recommend CryEngine over Stingray. In the end Unity and Unreal Engine 4 are the best, each with their good parts and their bad parts