To find out more about the new features, changes, and improvements to this Unity version, refer to the 2023.1 Release Notes.
To find the release notes for other releases, refer to the Unity download archive.
If you are upgrading existing projects from 2022 LTS, read the Upgrade Guide to 2023.1 for information about how your project might be affected.
Find out what’s changed in Unity 2023.1 since 2022 LTS and view the documentation for the affected areas.
IPerformanceModeStatus
to retrieve performance mode and listen to performance mode changes.Variant Keyword Prefiltering introduces the early exclusion of “multi_compile” keywords, based on Prefiltering Attributes driven by Render PipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
See in Glossary settings. This greatly reduces the amount of variants being enumerated for potential stripping and compilation. The result is a significant reduction in shaderA program that runs on the GPU. More info
See in Glossary processing time.
Added Verified Solutions program, a library of third-party assets and solutions that Unity curates.
Added capability to Asset Bundles that target Windows, OSX, and Linux platforms and the Dedicated Server subtarget so that they’re now built with the same Dedicated Server optimizations that built Dedicated Server Players receive (removing texture data and non-collision mesh data).
Implemented accessor for saving data to .meta files.
Rigidbody2D.Slide
method which allows a Rigidbody2D to move with a specific velocity over a specific integration time and perform various slide, gravity, slip, direction-change, and surface-anchoring behaviors automatically. This method works on all body typesDefines a fixed behavior for a 2D Rigidbody. Can be Dynamic (the body moves under simulation and is affected by forces like gravity), Kinematic (the body moves under simulation, but and isn’t affected by forces like gravity) or Static (the body doesn’t move under simulation). More infoRigidbody2D.MovePosition()
. This feature makes Character ControllersA simple, capsule-shaped collider component with specialized features for behaving as a character in a game. Unlike true collider components, a Rigidbody is not needed and the momentum effects are not realistic. More infoMerged the APV window with the Lighting window.
focusedWindowChanged
callback to the EditorWindow
class.OneTimeSetup
and OneTimeTearDown
durations in the XML result under outputs.Removed dependency on Legacy Text stack for IMGUI so that IMGUI now renders and calculates its metrics using TextCore. Some members from TextEditor have been deprecated to accommodate for the new TextUtilities used by both IMGUI and UITK. Their meanings are the same but their names have changed (from field to property):
TextEditor.multiline
is now TextEditor.isMultiline
.TextEditor.hasHorizontalCursorPos
is nowTextEditor.hasHorizontalCursor
.TextEditor.revealCursor
is now TextEditor.showCursor
.Added support for Color Glyphs and extracting OpenType font features.
SystemInfo.supportsInlineRayTracing
, SystemInfo.supportsRayTracingShaders
, ComputeShader.SetRayTracingAccelerationStructure
, and CommandBuffer.SetRayTracingAccelerationStructure
(ComputeShader, …).#pragma require inlineraytracing
to compute shaders.RayTracingAccelerationStructure.AddInstance
signature that allows adding mesh instances to the acceleration structure for GPU ray tracingThe process of generating an image by tracing out rays from the Camera through each pixel and recording the color contribution at the hit point. This is an alternative to rasterization. raytracingGraphics.RenderMesh
from the rasterizationThe process of generating an image by calculating pixels for each polygon or triangle in the geometry. This is an alternative to ray tracing.ImageConversion.LoadImage()
.ScriptableRenderContext.CullShadowCasters
API to kick theBatchRendererGroup culling jobs earlier in URP and HDRP.For a complete description of new features and improvements in URP, refer to What’s new in URP.
For a complete description of new features and improvements in URP, refer to What’s new in HDRP.
Added Multiplayer Play Mode as an experimental feature. Multiplayer Play Mode is a workflow improvement feature from our multiplayer toolset that aims to deliver a user experience that is “single-player like”, but with a focus on the development cycle of multiplayer games.
Added new Dedicated Server Standalone player options to assembly definition exclude and include platform lists.
build_fingerprint
information to Android builds.Content-Encoding: gzip
is not properly set on server, or when a web browser has a bug that prevents it from being able to decompress gzip content.Enabled Windows ARM64 Player compilation. For more information, visit the System Requirements page.
Added functionality to control player connection listen port.
Added an option to display C# source code line numbers in call stacks in player builds.
The Ray Tracing API is officially out of experimental status in Unity 2023.1. This change is introduced after recent improvements to the Ray Tracing API, ranging from stability and performance to additional compatibility with the engine’s existing feature setA feature set is a collection of related packages that you can use to achieve specific results in the Unity Editor. You can manage feature sets directly in Unity’s Package Manager. More info
See in Glossary.
HDRP/Nature/SpeedTree8.shadergraph
now uses its Subsurface Map for the Transmission Mask node to remove the unintended light transmission from tree barks and twigs. This also fixes the overly bright billboardA textured 2D object that rotates so that it always faces the Camera. More info
See in Glossary lighting which didn’t quite match the 3D geometry’s lighting.
Experimental Feature Release
The Unity Transport Protocol (or UTP) is a lower-level networkingThe Unity system that enables multiplayer gaming across a computer network. More info
See in Glossary infrastructure that handles the transport of data across the network and across connected platforms and devices. In the most recent release we are enabling Web and TCP connections to improve the reach of our netcode solutions (like Netcode for Gameobjects and Netcode for Entities).
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.