Super exciting changes, it’s great to see this. For me, the commitment to C# is a huge plus point for Unity, and seeing it modernised to the latest standards is fantastic. Especially keen to see Code Reload in action.
But I’m also aware of how big of a task it is, so take your time!
PS: As I understand it, this will make the whole option “Don’t Reload Domain” on enter Play Mode useless, right?
For a long-running editor, many objects are being reloaded, unloaded, instantiated, and discarded, which leads to more memory fragmentation and overall reduced efficiency over time. So it makes sense to have a GC that can help with such problems. In C++, you can workaround this with Arena allocations. In C#, it’s handled through a generational GC like CoreCLR. It’s not strictly equivalent, while arena gives you explicit control, they require manual management and in the presence of long running objects with unclear lifetime, they can be difficult to manage.
In a game, you definitely want to avoid stuttering, but the issue is less about the compaction itself and more about allocations that shouldn’t be happening during critical phases of the game in the first place. Short lived allocations in gen0 in CoreCLR are extremely fast to collect and they should not cause stuttering, but an accumulation of long living memory quickly allocated would.
Yes, I can totally agree that the programmer is a first responsible for allocations, and for editor compacting GC is justified too.
But isn’t runtime perf would be lower with constant pin/unpin within the API calls (which are already heavy) and compacting may introduce a background load on it’s own (just analyzing the fragmentation) for release builds?
Seeing this renewed motivation and passion from you guys has been like waking up from a bad dream. It really means a lot to be able to see there are passionate devs within Unity that are going above and beyond to make this a great piece of software again. Behind anything of value in this crazy world are a bunch of humble, hard working people and you would have hoped that at least in these parts of fellow devs we could show some appreciation!
Seeing that you guys have been working all along, or at least wanting to and toughing out these rough years is inspiring as hell.
Thanks so much for the hard work! A lot of us get frustrated and lash out often, but that’s because we give a darn in our own deranged way.
A lot of times in life random chance and the changing tides of things can get in the way of us wanting to do great things for ourselves and others, and the past few years were really challenging for us users, but I can only imagine how wearing on the soul it was for you guys. This emerging, and exciting direction Unity is going in is testament to that.
Anyway, maybe overthinking this or getting too introspective/ sappy, but all the same it’s so heartening to hear you guys speak with all this candor and passion, not JUST because it means we might get some goofy little technical toys, but because it sounds like the human spirit is alive and well in the shell of Unity again, and without that all the fancy tech and money doesn’t amount to a hill of beans.
Is it currently clear whether the Load and Unload features of AssemblyLoadContext will be supported on the Android platform of the next generation unity?
I know it’s tempting but I’d like to remind that it is best to resist the urge to reply to them unless it’s something positive. They are clearly frustrated and engaging with that frustration doesn’t seem to yield and reflectional thought process in this moment.
This here, next major release is not the exact same wording Next Release Generation
I know full well that it likely be the same. But is it actually confirmed?
Is the only confirmed part. But which beta?
As you can see this confirmed not to be any of the 6.x beta
So 7 is the shorthand name we used to refer to next release generation right now. And people are assume if there is beta release in any of the next year, it would be 6.x not 7
To be honest I know full well that people at unity have intention to release their work at unity 7 and beta most likely came out next year
But at the same time what I can see is they don’t want to promise that 7 beta will release next year. They need to avoid saying it exactly so they can have room to have next major release be anything else. It is the indicate that the “next year beta” may or may not be the next release generation we hope for
As I have repeatedly said. I want to be optimistic. But I can’t help to be skeptic to every word unity announcing. There are people speculate from the slide’s info that the first next year beta will be unity 6.1 beta at GDC 2025 (around March-April) and 7 beta will be second next year beta at Unite 2025 (around this month). But these are only optimistic speculation. Which I hope it will be true or better
It is actually quite bad news not to have CoreCLR support in Unity 6 and shows how bad the decisions of the old management must have been - I’m not blaming the Unity Developers here at all.
I think realistically that means that we will be able to use CoreCLR in 3-4 years at the earliest, thus most games already released and most games current in production won’t profit from this upgrade.
Maybe we can demand from Untiy Management that they handle us more like enterprise customers (that we usually are) and tell us a more exact timeline when everything will arrive. I know it from experience that having a deadline for something makes a huge difference - also how many people and resources will be allocated.
And that is of course also true for all other areas of Unity - such as the “new UI Framework” or the “new Input System” all things that are constantly promised but never delivered.
Unity makes little to no money from most developers, because most developers do not make $100k/year and now $200k/year, they have no reason to put themselves under such obligations, most of their revenue comes from the top studios, which tend to be professional and respectful unlike your average random developer, they tend to work with those studios first then the rest joins in with Alpha and Beta releases when they’re ready.
If they are not confident in a timeline, they will not share it even with the big studios, because the last thing they need is give out a hazy timeline and people base their business decisions around it only for it to not be respected. When they’re confident about a date they’ll share it, like Unity 6 landing on October 17th, when they’re not confident they won’t share it, and they shouldn’t.
Just look at the competition for example Unreal - they announce a feature and immediately release it as beta - 1-2 years later it’s production ready. Instead of announcing something and then taking 5-6 years to even announce a rough estimate
There is no point in announcing something when you are so far off - it only creates false expectations and hopes in people.
Unreal is a totally different organism, both from an internal resource perspective as they didn’t have a total overhaul of leadership in the past year, while getting back on course from chasing waterfalls from venture capital motivations.
It’s also technically much more focused in FPS type games which also funnels into their push into film and ultra realism.
What this means is Unreal has had a far more narrow path without any speedbumps so it makes their path to obtaining ultra realistic graphics without worry for alternative platforms much more clear and easily realized.
Everything is 20/20 in hindsight, but at the time, you could see what Unity was going for. A robust package manager, an a la’ carte style of gamedev where you can mix and match things to create a huge combination of experiences because who knows what the future of gaming holds?
We know now that graphical pipelines make more sense to keep concise, and this was compounded by massive speedbumps in the past few years. So try to see it from their perspective, you’re burned out from years chasing this ill fated path, and any sort of internal talk about going in a different direction is run over by talks of “Growth” initiatives that don’t give a damn about improving the engine in terms of graphical fidelity, they simply want Unity in every business and every product in the world.
Weird discussion I know, but in order to understand the current landscape of Unity you need to understand the sorts of internal forces. Forward development isn’t so simple as having a solid plan, you need devs who are on board and passionate to make great things who are in the sort of state where they can suffer this intense iteration to produce these great improvements in the engine.
So why announce early? Because people need to know that not all is lost and that these long and hard journeys are underway and that the company isn’t doomed. Look at their stock of late, things are on the up and up.
Unreal hasn’t had bad leadership for years on end. Unity had been going in all the wrong directions under Riccitiello and had nothing really to show for years on end.
Announcing these things early is kind of warranted at this point to give a good indication of what is going on in near to semi (?) future.
And mind you, I feel like the games industry in general no longer gives timelines or big future release dates for games anymore. We usually only see release dates at this point when games are pretty much ready to ship.
Unity doesn’t need to make promises they can’t keep just to appease the impatient.
Successful developers invest in the current not the future. Choosing the best engine available at the time and learning to live with what’s available from it is the most practical way to ship a product. Sitting around looking at the “what if” list is a fun thing to do but it just demotivates when you know that the features you look forward to the most won’t be available before you ship. So I try to push the CoreCLR update to the back of my mind. I don’t need anything on the list to be successful.
I agree. But on a slightly different note, It’s okay that Thania is frustrated, I don’t share the same frustration, but It’s a totally valid feeling to have about the admittedly long timeline of things here. I’m not trying to change anyone’s mind. Regardless of how frustrating it is though, complaining on the forums and being drawn into multiple concurrent arguments with people responding to you isn’t a productive thing to do about it. I know when I do stuff like that I feel pretty terrible after a while. Maybe it’s better to just agree to disagree with a few people, take a break, and do something else.
For those curious about timeline on stuff Unity just released a new video dedicated to the roadmap. They say in the video the first set of testing for Unity Next Generation comes out this year by the visuals shown at 4:55 in the video. The video goes over .Net update timeline and more as well around 27:30. I haven’t seen the full video yet, but wanted to drop this here so other can watch and get information as well from Unity themselves.