Unity 6.3 LTS is now available

Unity 6.3 LTS, the first Long-Term Support release since Unity 6.0 LTS, is now available on the download page and in the Unity Hub!

Curious about what’s new Unity 6.3 LTS? Check out our feature overview blog post or dive into our release notes and the Unity Documentation. Additionally, you can find all official topics here on Unity Discussions that are related to 6.3 via our dedicated filter. Join us in those topics and share your feedback with us!

Unsure how to go about upgrading? Check out the upgrade guides to help you go from previous Unity releases to Unity 6.3 LTS. For complex productions with a high number of dependencies, find out how our Success Plans can ensure the upgrade process goes smoothly.

Join us for our Unity 6.3 LTS live stream from 2025-12-04T17:00:00Z2025-12-04T18:30:00Z.

26 Likes

Can you give a sense of how significant this optimization is in practice? Are we typically talking about memory savings on the order of kilobytes or megabytes?

3 Likes

Noticed that polybrush got deprecated for 6.3.
What can I use to paint vertex color on my prefabs from now on?

7 Likes

Do anybody know where to get new Multiplayer Templates sample projects?

3 Likes

Nice to see DLSS upgrade on 6.3! Good job!

1 Like

Good stuff!

Minor issue: a few of the hyperlinks in the blog post are all incorrectly redirecting to the Render Graph discussion. For instance, it happens with the links after the xAtlas and per-renderer shader vaules sections.

Why no announcement of the deprecation of Polybrush in 6.3 (RIP Polybrush)? It is still advertised as a feature amazingly: Polybrush

I don’t really care about Polybrush particularly but in-editor vertex painting seems like something Unity should have!

6 Likes

Polybrush was a nice tool. I would recommend you use your 3D software.
Chances are it has much better tools for that. At least 3dsmax does.

Please see the bug report I submitted on Nov 19 for the pre-release f1 version, which still affects the release f1, and has still not been assigned.

Upgrade from 6.2 to 6.3 Far from smooth release. same error as on beta: The type or namespace name ‘Messaging’ does not exist in the namespace ‘System.Runtime.Remoting’ (are you missing an assembly reference?)

1 Like

Yep…same error for me too…very disappointing for a supposed LTS release.

Part of this may be the fault of marketing, but my experience has been that you should only view the LTS branch as something that is supported long term, not something that is robust out of the gate. They only become robust after point releases reach well into double digits, same as every other branch. Maybe branches should only be given the LTS label after they reach that point, to avoid this misunderstanding.

It’s possible more care goes into an initial LTS release than otherwise, but you still shouldn’t expect an initial LTS release to be anywhere near as robust as the preceding, more mature, non-LTS branch. No plan survives first contact with the enemy, as the saying goes.

4 Likes

What is the ‘Api Compatibility Level’ in your Project Settings -> Player set to? I think that namespace is only available when you’re targeting the .NET Framework, not .NET Standard. (Note that this means it will no longer be available once we migrate to CoreCLR, so I recommend migrating away from it anyway).

5 Likes

Not a great workflow if you have a scene full of objects and they are using, say, Unity Shader Graph or HDRP Layered Lit.

1 Like

Hi, Does Unity 6.3 change their internal glibc dependecy version? linux player of 6000.3.0f1 does not work on Amazon Linux 2023 :frowning:

Error message is here:
/lib64/libm.so.6: version `GLIBC_2.35’ not found (required by /local/game/UnityPlayer.so)

It seems that Amazon Linux 2023 only supports GLIBC 2.34.

Of course, 6000.2.x build does not have any problem on same Amazon Linux.

2 Likes

After upgrading my project from 6.2 to 6.3, all the Sorting Group components are like this:

image

It was like that on Unity 6.2:

New project created with 6.3:

Does anyone know which setting do I need to set in order to make it work properly, since a new 6.3 project shows it correctly?


I’ve created a dedicated thread for this question: Sorting Group component broken in Unity 6.3?

1 Like
ArgumentException: Object of type 'System.Int32' cannot be converted to type 'UnityEngine.EntityId'.
System.RuntimeType.CheckValue (System.Object value, System.Reflection.Binder binder, System.Globalization.CultureInfo culture, System.Reflection.BindingFlags invokeAttr) (at <1eb9db207454431c84a47bcd81e79c37>:0)
System.Reflection.RuntimeMethodInfo.ConvertValues (System.Reflection.Binder binder, System.Object[] args, System.Reflection.ParameterInfo[] pinfo, System.Globalization.CultureInfo culture, System.Reflection.BindingFlags invokeAttr) (at <1eb9db207454431c84a47bcd81e79c37>:0)
System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <1eb9db207454431c84a47bcd81e79c37>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <1eb9db207454431c84a47bcd81e79c37>:0)
MBS.HierarchyTools.CollapseAllHierarchyObjects () (at Assets/Standard Assets/Utils/HierarchyTools/Editor/HierarchyTools.cs:61)
MBS.HierarchyHelper.GoToHierarchyTop () (at Assets/Standard Assets/Utils/HierarchyTools/Editor/HierarchyHelper.cs:62)
System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <1eb9db207454431c84a47bcd81e79c37>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <1eb9db207454431c84a47bcd81e79c37>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <1eb9db207454431c84a47bcd81e79c37>:0)
Sirenix.OdinInspector.Editor.Drawers.DefaultMethodDrawer.InvokeMethodInfo (System.Reflection.MethodInfo methodInfo) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/DefaultMethodDrawer.cs:545)
UnityEngine.Debug:LogException(Exception)
Sirenix.OdinInspector.Editor.Drawers.DefaultMethodDrawer:InvokeMethodInfo(MethodInfo) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/DefaultMethodDrawer.cs:574)
Sirenix.OdinInspector.Editor.Drawers.DefaultMethodDrawer:InvokeButton() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/DefaultMethodDrawer.cs:450)
Sirenix.OdinInspector.Editor.Drawers.DefaultMethodDrawer:DrawNormalButton() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/DefaultMethodDrawer.cs:297)
Sirenix.OdinInspector.Editor.Drawers.DefaultMethodDrawer:DrawPropertyLayout(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Misc Drawers/DefaultMethodDrawer.cs:195)
Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:109)
Sirenix.OdinInspector.Editor.InspectorProperty:Draw(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/InspectorProperty.cs:863)
Sirenix.OdinInspector.Editor.InspectorProperty:Draw() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/InspectorProperty.cs:742)
Sirenix.OdinInspector.Editor.Drawers.UnityObjectRootDrawer`1:DrawPropertyLayout(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/Value Drawers/UnityObjectRootDrawer.cs:60)
Sirenix.OdinInspector.Editor.OdinDrawer:CallNextDrawer(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:155)
Sirenix.OdinInspector.Editor.Validation.ValidationDrawer`1:DrawPropertyLayout(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Validation/Core/ValidationDrawer.cs:142)
Sirenix.OdinInspector.Editor.OdinDrawer:DrawProperty(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Drawers/OdinDrawer.cs:109)
Sirenix.OdinInspector.Editor.InspectorProperty:Draw(GUIContent) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/InspectorProperty.cs:863)
Sirenix.OdinInspector.Editor.PropertyTree:DrawProperties() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/PropertyTree.cs:562)
Sirenix.OdinInspector.Editor.PropertyTree:Draw(Boolean) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/Core/PropertyTree.cs:446)
Sirenix.OdinInspector.Editor.OdinEditorWindow:DrawEditor(Int32) (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/OdinEditorWindow/OdinEditorWindow.cs:1014)
Sirenix.OdinInspector.Editor.OdinEditorWindow:DrawEditors() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/OdinEditorWindow/OdinEditorWindow.cs:786)
Sirenix.OdinInspector.Editor.OdinEditorWindow:OnImGUI() (at C:/Sirenix/Sirenix Solution/Sirenix.OdinInspector.Editor/OdinEditorWindow/OdinEditorWindow.cs:730)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

What you describe is not a great workflow to begin with.
But yeah, if you had not planned or for whatever reason your change choices led you to having to do that, yes.

With proper research and planning early in your project your workflows and pipeline should not lead you to what you described. Sounds messy.

Doing it in your 3D application is the recommended workflow really. Doing it in the engine is meant as a quick touch up solution. Not an efficient workflow. It creates problems down the line too. With different versions of assets between your engine and asset library. Possibly also adds an extra layer of data on your assets where you would only have vertex color data from your 3D application. Doing it en masse may not be optimal.

1 Like

Of course im using .NET Standard 2.1, .Net Framework is relict of past and even here on forum you can find your employes that dont recommend using .net framework api compability so why someone was thinking its good idea to force everyone switch to this relict with newest LTS version? I just wasted yesterday 3 hours of trying make it work and back to 6.2, no energy to try again, It should be smooth to transist and if there are extra steps that need to be taken with migration then there should be instruction with all required steps.

1 Like