Skip to content

Discontinue support for .NET Standard 1.x, NetCoreApp 1.x, and .NET 4.0 #312

@ENikS

Description

@ENikS

Discontinuing support for legacy frameworks

Unity team faithfully tried to maintain backward compatibility with varying degree of success for years . Unfortunately, when even Microsoft no longer supports these platforms, Unity has to throw in the towel as well.

One could argue that with enough effort it could still be possible to maintain the support for these platforms, but the effort required is growing exponentially and provides only diminishing returns.
Of course, if someone would like to contribute the implementation or financial support, it could still be added back to the library.

Issues

The decision was forced by luck of features that Unity relies upon to operate. These are just a few of big ones:

  • Net Standard 1.0 - 1.5 missing support for MethodInfo.MethodHandle. Without it, unique identification of MethodBase members in some generic cases is completely impossible

  • .NET 4.0 is not supported by System.Threading.Tasks.Extensions. Without it, ValueTask is not available. Without ValueTask Unity can't operate.

  • Net Core and Standard version 1.x do not implement System.ComponentModel.Composition namespace which Unity relies upon for dependency annotation.

Supported Platform

Version 6 of Unity will be released with support for the following frameworks:

.NET Framework 6.0;
.NET Framework 5.0;
.NET Framework 4.8;
.NET Framework 4.7;
.NET Framework 4.6;
.NET Framework 4.5

.NET Standard 2.1;
.NET Standard 2.0;

.NET Core 3.0;
.NET Core 2.0;

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions