What draws me to Unity is C# because learning C++ is a decade long project.
Unreal vs. Unity Opinion
151–160 of 319 posts
Re: Unreal vs. Unity Opinion
#152Earlier quoted context omitted.
Why does every game engine seem to write their own language? Why not choose an existing one - in this case C# seems like an obvious choice because it's already used in another major game engine and seems to be well liked.
First of all, you need to understand that all current (serious) game engines primarily use C++, in order to provide maximum performance at the low-level. But C++ is incredibly unproductive as a language for actual high-level game development, since C++ takes ages to compile and has more weird and dangerous footguns than any other language. So developers often end up binding a scripting language onto their C++ core, s…
Re: Unreal vs. Unity Opinion
#153Having worked in Unity as a hobbyist for about a decade and considering the switch to Unreal due to obvious issues Unity is currently facing (3 rendering pipelines being the main one), I'd like to hear more input from the programmer experience in both engines. I think C# in Unity hits a really nice sweet spot: You have a powerful and expressive type system, can use nice high level features like async/await, you get (…
As someone who generally hates visual programming and just wants a text editor, I'd say blueprints is actually one of the most enjoyable of these. They really nailed the editor and you can have a lot of fun just playing around. Also the c++ unreal shouldn't be compared to pure C++. You're working with the unreal framework which adds a lot of quality of life features. I've been working with it for the last month or so…
Add a couple custom attributes implemented as a clang plug-in like e.g.
[[ue::name("Player HP")]]
int hp{};
which can be done in a couple afternoons by an intern and things would look sooo muuuch better.Re: Unreal vs. Unity Opinion
#154This speaks sooo close to the trends that pushed Microsoft to go create WSL, to become a viable healthy platform for multi-platform development: they had to. They had to create a platform people could use as they wanted to, had to support something that takes upstream pull requests. Simply shipping Ubuntu is basically the biggest possible fix they had for long term development, going where the puck is headed. This di…
Anyone could already enjoy a similar experience since Virtual box and VMware exist.
Re: Unreal vs. Unity Opinion
#155Re: Unreal vs. Unity Opinion
#156What’s the story for developing in UE without C++ these days? Can you get along with just scripting and shaders? What sort of functionality would require new C++ and wouldn’t be possible in script? What draws me to Unity is C# because learning C++ is a decade long project.
Re: Unreal vs. Unity Opinion
#157Earlier quoted context omitted.
You clearly have no idea what's he is all about. His message is very clear: Modern software is crap. It's orders of magnitude slower than it should be, it's buggy, and,yes, bloated. And if you ever used any piece of software today I don't see how you can you not agree with it... He is never advocating NOT using engines, but rather that one can be much better and more efficient developer with just a little bit knowled…
> Modern software is crap. It's orders of magnitude slower than it should be, it's buggy, and,yes, bloated. And, that's where he lost me. Software was always crap. Emacs = Eight Megabytes and constantly swapping. Because even if you squeeze every last cent of performance, someone will have a great idea that will spend each dime you saved and then even add some debt on it. Performance is never a positive as much as a…
It’s in a genre with notorious performance issues and limitations as well as bugs, but they managed to put in the time and effort. Some of the lessons and solutions are quite educational even.
There’s games that are ridiculously simple in comparison let your fans spinning for no reason, grind to a halt or crash.
Performance is key here, as it is one of the most limiting factors for _both_ quality and features. Namely the things you can do and how well you can do them is tied to performance. If you are pushing those in any dimension, then you want control.
Re: Unreal vs. Unity Opinion
#158Earlier quoted context omitted.
This is what i was wondering that wasn't explained in the article... does UE offer some guardrails for working with c++ that make the jump from C# an easier decision?
short answer: yes. If you stay within their uclass/uproperty framework, you have garbage collection, guaranteed initialization of class members, type reflection, etc. Rare issues come up like: ``` int* Element = &Array[0]; Array.Add(0); *Element = 3; // could be access violation or memory-stomp if array was resized ``` Which can be addressed somewhat by code style policies. Their garbage collector is also slightly we…
Re: Unreal vs. Unity Opinion
#159Earlier quoted context omitted.
Running a unity build [1] means the compiler only has to parse and reason about the headers once. So you lose the parallelism of multiple TUs, but you gain on not doing the header crunching over and over again. Whether your codebase will benefit from that is a matter for testing, but many do. [1]: https://en.wikipedia.org/wiki/Unity_build
also by using unity build you don't need to link object files. I think that is main reason to use unity build, it eliminates need for any build system and compiling source code in a new machine is as simple as compiling a single transition unit.
Re: Unreal vs. Unity Opinion
#160Earlier quoted context omitted.
It’s not as bad as you imagine. Here are some of my experiences regarding swapping to unreal: - the c++ gameplay framework is very friendly. It’s GC, with good high level wrappers that provide stuff like options, maps, classes (ie. Reflection). - The unreal discord c++ channel is full of people who will actually answer your questions, it’s brilliant. - Every high level blueprint function is a c++ function. I cannot e…
By unity build I think they mean all cpp files within a module are compiled included into one (so each cpp isn't a separate execution unit, anonymous namespace etc. will bleed over between files unless they are in separate unreal module or plugin). Similar to SQLite amalgamation. Turning it off could parralelize the build more, except linkers are often singlethreaded and bottleneck things enough to undo that benefit…