Search Unity

パッケージベースの機能配信システムへ進化することで、Unity は、2020 年の TECH ストリームのリリース数を減らす一方、1 年を通してすべての機能領域の継続的な更新を提供します。

先日のブログ で説明したように、2018 年以来、Unity TECH ストリームリリースを 1 年に 3 つ、長期サポート(LTS)リリースを年に 1 つ作成し、テストし、提供してきました。 2020 年からは新たに、1 年に 2 つの TECH ストリームリリース、その翌年の早い時期に LTS リリースを提供します。LTS スケジュールに変更はありません。

2020 年からは新たに、1 年に 2 つの TECH ストリームリリース(青の表示)と 2021 年の早い時期に LTS リリースが予定されています

機能の迅速な修正と拡張

TECH ストリームのリリース数の変更は、Unityの パッケージマネージャーによって開発の柔軟性が向上されたためです。パッケージマネージャーのおかげで、TECH ストリームリリースから多くの機能、API、その他の更新を切り離すことができます。品質担当 VP の Thomas Petersen は、次のように説明しています。「現在、より多くの機能を パッケージに移行しています。これには多くの利点があります。その 1 つは、コードベース全体を更新することなく、個々の機能の問題を簡単に更新または修正できることです。これにより、Unity のコアも安定します。」

TECH ストリームのリリーススケジュールの変更が Unity コミュニティにとって有益な例を、いくつか挙げてみましょう。

より深いベータテスト、安定性の向上

私たちの ベータプログラム は皆さんによく知られており、それに参加してくださる何千人もの開発者のご協力に常に感謝しています。年間の TECH ストリームリリース数を減らすことにより、ベータテスターが各コアベータリリースのツールと機能を評価し深く掘り下げるために、より多くの時間を使うことができます。一方、私たちも報告された問題に対処して修正するのにより多くの時間を取ることができます。

開発者とスタジオの作業の削減

私たちは、Unity の新しい TECH ストリームバージョンをインストールしてアップグレードするために費やされる時間とリソースの必要性を十分に認識しています。すべての開発者やスタジオが TECH ストリームのリリースに足並みをそろえているわけではありませんが、そのようなユーザーもいます。 年に 3 回から 2 回のリリースに移行することで、4 か月ではなく、6 か月ごとに新しい TECH ストリームリリースを統合するだけで済みます。

ゲーム以外の産業とユースケース向けパワーの強化

ビデオやモバイルゲーム関連ではない開発者が、Unity を使用して AR/VRアプリケーション、リアルタイム3D体験、動画などを作成して、自動車・輸送機器・製造建築・エンジニアリング・建設映像・アニメーション・シネマティクス などの業界の幅広いユースケースに対応する機会が増えています。パッケージによって、より業界に特化された Unity 機能を得ることにより、クリエイティブな目標と市場の目標をよりすばやく達成できます。

次々と現れる新しいサードパーティプラットフォーム

最後に、Unityは、常にできる限り多くのサードパーティプラットフォーム(現在 25 以上)をサポートし、開発者が同じプロジェクトから iOS、PlayStation 4、Oculus、Magic Leap などに出力できるよう努力しています。私たちの新しい TECH ストリームサイクルとパッケージベースのアプローチは、その取り組みを強調するものです。新しいハードウェアおよびソフトウェアプラットフォームが次々と現れる中で、Unity を利用する開発者が、最新の革新的なデバイスを使うオーディエンスにより速くアクセスできるよう支援します。

DOTS 効果をより早く

ご存知かもしれませんが、高性能なマルチスレッドプロジェクト向けの DOTS(Data-Oriented Technology Stack)は、開発者がUnityでゲームやアプリケーションを作成する方法を根本的に進化させています。DOTSは、増え続けるパッケージで構成されています。Unity では、DOTS テクノロジーとツールの迅速な開発と展開を強力に進めているため、開発者は最新の DOTS 機能とバグ修正の効果をより早く得られます。

詳細について

新しいリリースサイクルの詳細は、こちらのフォーラムに質問を投稿するか、下からコメントを送信してください。

22 replies on “2020 TECH ストリームから 2 リリースに”

They can’t stop releasing new features because of 3 pressure points:
– the competition is not sitting idle
– the looming IPO requires them to show forward momentum
– because they’re on a transition to port the entire editor and engine to DOTS, with that comes the nature tendency of wanting to share awesome things, anyone who has made a game knows it is hard to resist :)

I just find it very dishonest that they release a beta version of something and then essentially abandon it. New input system was released in 2016, still not finished.
Baking solutions were being re-made and they are still work in progress.
Shader graph is nigh unusable because it doesn’t provide you with basic nodes, such as lighting information out of the box, which both of it’s alternatives (shaderforge and amplify) give you by default.

So you’re either stuck on an old version that’s not getting the new features, or you have to update your workflow to a new version to get them, but that mean’s you’re updating to more preview features that will never be finished.

The Unity community can be pretty difficult at times. Gross exaggerations after gross exaggerations, angry at everything all the time, self-contradicting in their demands, and a large portion of them don’t have the slightest idea of what they are talking about even though they act as if they are experts. They want you to fix fundamental problems with the engine, but as soon as you give them the fix, they complain that you’ve changed things. They complain that upgrading Unity versions sometimes causes issues, even though Unity is by far the most upgrade-friendly big game engine out there.

So all I’m trying to say is, take these comment sections with a grain of salt, Unity. You’re giving us the best engine there is out there currently, otherwise we wouldn’t be commenting in here. Packages are solving the engine’s bloat & upgradability problems. SRPs are solving the old renderer’s problem of trying to do everything all at once and being great at none of those things. DOTS is solving the performance issue and much more. Etc…

There are people out there who, for some unfathomable reason, do not like to have options. For those people, the vanilla Unity is still there and still supported.

My only criticism would be that I’m not sure if there is value in imposing the “2 releases per year” rule on yourselves. A lot of major software only release new versions whenever they feel like it, and that seems reasonable to me

Yeah, I agree in general.

I think their declared release schedule is good for setting expectations, but beyond that I think setting less arbitrary dates will give better results.

Part of the trouble is that SRPs, Packages and DOTS are huge, long-term investments that are causing a lot of short & medium-term turmoil. They need to ship with these to TECH and LTS streams to get devs using them so that they can evolve with real-world feedback. Everyone wants them to be magically completed within a year of being declared, but that’s just not possible. Unity is scaling up and tackling a lot of problems at once, and so far, the results are promising.

Everyone wants to use the latest and greatest, but smaller dev teams can’t manage this turmoil well, and it’s not clear to them how much it will cost them to use these incomplete features that are technically “production ready” but still under heavy revision.

So, I think it boils down to a communication problem. Do you have fewer than 5 devs and need to ship within the next 18 months? Stay on a last years LTS stream, and don’t transition to the next years LTS stream unless you have 6+ months before shipping.

Are you actively shipping? Stay on LTS and don’t transition to the next year’s LTS unless it’s been out for 3+ months AND has something you need.

Did it occur to you to dedicate one 2020.x version to bug-fixing and performance improvements of existing features only, to catch up with all those issues that exist for so long?

I’m not asking to dedicate one version to bug-fixes every cycle, this would be just an one time thing for now.

I know that your LTS releases are basically bug-fix releases and pretty much what I’m asking for, but there are many issues in your software today and you don’t seem to be able to catch up anymore. Having such bug-fix release should help to get a lot of issues fixed in a short amount of time.

In my opinion, having existing features of today with fewer bugs has higher value than new features with many bugs.

With every new release on Unity is clear the downgrade of the performance, possibly users with highend hardware doenst notice this but for almost users is a big problem, then please update past versions as 2018 and 2019.1

I’ve installed and uninstalled packages using the package manager, personally never had any issue with this. Packages have a list of dependencies, with version numbers. When you download a package, it also automatically installs the correct version of any other packages it depends on. See: https://docs.unity3d.com/Manual/upm-dependencies.html

Maybe the implementation is not fail-proof, but it’s not hard to see the *huge* advantage a package-based system is over a large, monolithic codebase, both from maintenance and usability perspectives.

Still no course correction away from the complete mess that is putting everything into separate packages.
This is a horrible usability nightmare for users.
Nothing works reliably with any other package, one has to search together packages for everything, install everything separately manually, search together for everything with which version of which plugin it may theoretically work together.

This is a disastrous direction and it is incredible you are still not realizing this and still not correcting course.

I’ve installed and uninstalled packages using the package manager, personally never had any issue with this. Packages have a list of dependencies, with version numbers. When you download a package, it also automatically installs the correct version of any other packages it depends on. See: https://docs.unity3d.com/Manual/upm-dependencies.html

Maybe the implementation is not fail-proof, but it’s not hard to see the *huge* advantage a package-based system is over a large, monolithic codebase, both from maintenance and usability perspectives.

I haven’t had major issues with packages either. Packages were a very good idea if you ask me. Less bloat, more options, easier upgrades, faster releases, etc…..

The time to search for and install packages represents an infinitely small portion of the total time that your project takes. This is not at all an issue for me, and I encourage Unity to continue in this direction

Also keep in mind that an enormous portion of the complaints about “packages not working together” come from people who misuse them

No, the plans for going to two releases has been cooking for a while. We started user surveys about it last GDC.

Why not 1 instead of 2 if it’s a good thing? Why don’t you admit that you just cannot keep up? And many Packages depend on the release. This means that Packages development will slow down as well. You may want to say they are independent but Packages are at preview/out-of-preview at 2019.x release and it’s likely take longer now. Oh well.. whatever.

Note that you have released 2019.3 yesterday (1/28). You mention the 2019 LTS will ship “this Spring” in the blog post. You should probably adjust your chart before you mislead us into believing that there is anything stable but 2018 LTS at the beginning of the year 2020.

Thank you for this… even though I love the improvements we’ve been getting over the last 2 years, trying to keep up with these releases and the (sometimes) breaking changes.. have been a headache. I’d rather less releases of higher quality any day.

No idea why this is needed. In Unreal they simply have version 4.23, 4.24 every few months. There’s no need to be setting deadlines with version names.

In practice it means that Unity LTS are stable versions, normal version are betas, betas are alphas and alphas and pre-alphas ;/

I totally agree with you (the LTS will be the official from now on haha good one), this year.x model is awful (even the name is ugly). Still, it’s better two tech releases than three, so this is great, at least.

I hope one day Unity will announce the “Dead of the year.x versions” and “Unity 6” at the same time :) it would be awesome.

“Unity LTS are stable versions, normal version are betas, betas are alphas and alphas and pre-alphas” Couldn’t have said it better myself, you summed it up.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です