masterneme
(masterneme)
August 19, 2016, 1:59pm
164
Thanks but I’m not looking for an answer, I’m only expressing a need for this which I wish Epic decides to do something about it, that’s all.
And btw you’re not Epic so calm your hooves down.
I’m not Epic but is.
Philippe St-Amand;583384:
And then there’s also the fact that adding an officially-supported scripting language would attract the milions of devs from Unity to UE4, which would surely benefit Epic. Because, you know, royalties. Unity has tons of problems. Trust me when I say scripting support is the only thing keeping most of Unity’s userbase from switching to UE4
I disagree because humans are humans and we’re all protective with our believes and like being in our comfort zone. Yes many devs will try UE4 for a while, but then they will miss many features that Unity has that UE4 doesn’t and they’ll go back to Unity. And many don’t like UE4 for the exact reason you mentioned, royalties.
Maya, Max, Modo users don’t switch unless the workflow is substantially better with other program. And, if this is such a gold mine and there are so many devs interested, how is that out of those millions of people no one has even started doing a plugin or anything close to it?
At the end of the day these are all assumptions and presuppositions, unless someone gets his/her hands dirty and make it happen we won’t know.
Edit: Someone (thank you) sent me a link to another thread, from the man himself:
The first three generations of the Unreal Engine included a sandboxed scripting language, UnrealScript, which provided a simple interface for gameplay programming that was shielded from the complexity of the C++ engine.
The scripting approach is very welcoming to new programmers, but eventually it breaks down and becomes an obstacle to innovation and shipping. We experienced this over time as the Unreal Engine grew until finally, in 2011, we moved to a pure C++ architecture. The causative factors were both pervasive and general:
As an engine and its community grows, there is increasing pressure to expose more of the its native C++ features to the scripting environment. What starts out as a sandbox full of toys eventually grows into a desert of complexity and duplication.
As the script interface expands, there is a seemingly exponential increase in the cost and complexity of its interoperability or “interop” layer where C++ and script code communicate through a multi-language interface for calling functions and marshaling data. Interop becomes very tricky for advanced data types such as containers where standard scripting-language idioms differ greatly in representation and semantics from their templated C++ counterparts.
Developers seeking to take advantage of the engine’s native C++ features end up dividing their code unnaturally between the script world and the C++ world, with significant development time lost in this Interop Hell.
Developers need to look at program behavior holistically, but quickly find that script debugging tools and C++ debugging tools are separate and incompatible. Seeing where script code had gone wrong is of little value if you can’t trace the C++ that code led to it, and vice-versa.
It is these reasons, ultimately, that led to Epic’s move to pure C++. And the benefits are numerous: UE4 is a unified and fully-debuggable code base, freed from Interop Hell and totally open to programmers to study, modify, and extend. There are side-benefits, too, such as increased performance in gameplay code, and ease of integrating other middleware written in C++.
Building Unreal Engine 4 as a unified C++ codebase has been very freeing, giving engine and gameplay programmers enormous flexibility to write code without unnecessary interop barriers.
This isn’t to say that C++ is the ideal language for simple gameplay code. It is more complex and more dangerous than UnrealScript, C#, and JavaScript. But that is another way of saying that it’s more powerful.
By making peace with complexity and writing code in C++, there is absolutely no limit to what you can accomplish, whether it involves debugging your entire codebase in-context, interfacing to low-level engine systems, modifying them, or talking to the operating system or advanced third-party libraries.
Source: Why C++ for Unreal 4? - C++ - Epic Developer Community Forums