Two bits of big news about the Unity game engine to share today, one specifically about Linux and one about the Unity engine as a whole.
Firstly, remember the team at Unity announced back in May that the Unity Editor for Linux was going to be fully supported instead of staying experimental? Well, sadly the release date slipped. Still happening though! In an update to the original blog post announcing it, they said it's been pushed from 2019.3 and so it's now happening in 2020. No exact date or version number for when it happens is being given. When we get more news about the Unity Editor getting a date again to move from experimental to supported, we will let you know.
Why though? Well, that's the other bit of news. Unity 2019.3 is taking quite a bit longer than expected, as they announced today that it's such a big and complex release that they "want to ensure all these tools work well together before the release leaves the beta testing phase". So Unity 2019.3 will fully release sometime in January 2020.
The big thing about Unity 2019.3 for game developers and Linux gamers is that this release will be the first to officially support IL2CPP on Linux which the lack-of has caused issues for some developers. Will be nice to have us back on some more feature parity with the Unity game engine.
But ever since I laid my hands on Godot I never looked back. It has a really nice integrated scripting language (Unity did not work so well together with MonoDevelop on my system), is all open source and made life much easier for my private 2D game projects.
I think it has something to do with the Canada Pension Plan.The IL2CPP issue has been a big one. Nice to see we'll get rid of it
Would someone mind explaining what that is and why it's an issue?
Anyway once this comes out I might play around with it a bit and test out vulkan support, see why so many developers ignore vulkan when using Unity3d.
Last edited by TheRiddick on 13 December 2019 at 2:40 am UTC
It is a transpiler that takes the intermediate language (IL) from C# interpreter and convert it to C++ (CPP).The IL2CPP issue has been a big one. Nice to see we'll get rid of it
Would someone mind explaining what that is and why it's an issue?
Then the C++ code is compiled to the targeted platform.
The result is a binary that runs faster than if using the .net framework.
Doc: https://docs.unity3d.com/Manual/IL2CPP.html
Last edited by Creak on 13 December 2019 at 5:03 am UTC
So, a bit like Vala?It is a transpiler that takes the intermediate language (IL) from C# interpreter and convert it to C++ (CPP).The IL2CPP issue has been a big one. Nice to see we'll get rid of it
Would someone mind explaining what that is and why it's an issue?
Then the C++ code is compiled to the targeted platform.
The result is a binary that runs faster than if using the .net framework.
Doc: https://docs.unity3d.com/Manual/IL2CPP.html
Anyway once this comes out I might play around with it a bit and test out vulkan support, see why so many developers ignore vulkan when using Unity3d.Think a lot of that is just legacy shaders they don't want to update. Though it seems like it's really little trouble to get them running in general but sometimes just a matter of adding "vulkan" to the list of supported APIs within each shader :D
Wouldn't see a single reason not to support Vulkan, unlike Metal, which is at least an issue in terms of build management as this requires you to rebuild asset bundles *just* for macOS (thanks Unity for ignoring that issue). Which is even more troublesome when you want modding to come into play :(
Then the C++ code is compiled to the targeted platform.And it's only faster because Unity focuses more on ways to hack around using .NET code (IL2CPP, ECS, etc) instead of finally updating the .NET runtime in use to something more polished like .NET Core. It's mostly a false impression that people think native code *has* to be faster than code for VMs like Java / .NET.
The result is a binary that runs faster than if using the .net framework.
Also, IL2CPP kills one of the big pros that Unity games currently have imho: Easy access to modding, no matter if the dev support it or not :(
Vulkan is great, but it doesn't have the knowledge database of the other graphics APIs. That's probably the main reason why it's not wildly used. But it will come in time. Successes like Doom is a good advertisement for Vulkan.
C++ is faster because you have more control over the memory, and in game engine development, memory is everything.
That is exactly why DOTS (formerly known as ECS) is being worked on at Unity: it is a Data Oriented Tech Stack. When the data is properly layed out in memory, it can do wonders in terms of optimization.
And I tell you that as a game developer myself, who works at Ubisoft right now, and actually worked on DOTS at Unity.
Last edited by Creak on 14 December 2019 at 1:09 pm UTC
See more from me