Unity Game Engine lets you create real-time 3D projects for games, animation, film, architecture, engineering, manufacturing and construction. Unity includes tools to empower artists to create cinematic content and gameplay sequences without the need of an engineer.

Many high-profile games have been created using Unity, supporting multiple platforms including desktop, mobile, console and VR.

Is Unity free?

Unity offers a free Personal plan that includes all core features to create games and interactive experiences. It also includes support for Unity Ads and the in-app purchase plugin. You can download it and use Unity free of charge as long as your revenue (or funds raised in the last year) does not pass $100K.

Can I create AAA games with Unity?

Yes, you can. Unity has been used to create hundreds of popular games. Highlights include the likes of Among Us, Beat Saber, Genshin Impact, Pokémon Go, Super Mario Run, Iron Man VR, PC Building Simulator, Pillars of Eternity, Kerbal Space Program, Hearthstone, Temple Run, among many others.

Which is easier to use, Unity or Unreal Engine?

There is no right answer to that question. Both game engines are extremely robust and offer a fully featured free version to get you started. Both have strong communities in which you can participate and consult with. The general consensus at this stage is that Unity and Unreal Engine both are beginner friendly and won't require advanced programming knowledge for simple projects which will get the ball rolling as you learn.

Can I make money with Unity (free)?

Yes, you can create a game and legally sell it with the free version of Unity. You won't pay royalties or any revenue share unless you exceed sales of $100K in a year.

Can I create a game in Unity without coding?

Unity relies on the C# programming language and does require text-based programming. However, to be more welcoming to users with no coding experience, there is a "First-time Users" option that offers completed mini-games that you can edit and play around with, so you can get a better grasp at how the engine works. In that mode, Unity will guide you with step-by-step instructions to create your own tasks and build your own projects.

Features

Unity Personal

For beginners, students and hobbyists who want to explore and get started with Unity. Completely free --- no royalties, no credit card required. You fully own any content you create

Everything you need to get started

Unity Personal is a great place for beginners and hobbyists to get started. It includes access to all core game engine features, continuous updates, beta releases, and all publishing platforms.

Start creating

Move efficiently from prototyping to full production with a truly flexible editor and intuitive workflows supported by tons of tutorials and ready-made assets to guide your learning and development.

Work with the latest

Continuous updates allow you to develop with all the latest and most advanced features for high-end visuals, audio, animation, physics --- everything you need to make any kind of game.

Build for all audiences

Target more devices more easily --- with Unity, you can build once and deploy to the largest range of mobile, VR, desktop, Web, Console and TV platforms in the industry with a single click.

Note: You can download the latest version as well as the LTS (Long Term Support) version. The LTS stream is for users who wish to continue to develop and ship their games/content and stay on a stable version for an extended period. Note that Unity does not support downgrading a project to a previous version of the editor. However, you can import projects to a new version of the editor.

What's New

Known Issues in 2023.2.20f1

  • Asset - Database: Crash on UnityEditor.AssetDatabase:OpenAsset because assertion fails on prefabInstance.GetRootGameObject().IsValid() expression while opening a specific Scene (UUM-66207)
  • Audio Authoring: Crash on AudioUtil_CUSTOM_HasAudioCallback when exiting Play Mode while the Inspector is displaying a GameObject with a script attached (UUM-58481)
  • IL2CPP: [Android] Crash on Android when AndroidJavaProxy is calling from multiple threads (UUM-49357)
  • Lighting: The Editor becomes unresponsive and memory allocation errors are spammed in the Console when Generating Lightning (UUM-58017)
  • Platform Audio: Crash on FMOD::CodecMPEG::setPositionInternal when a mobile platform is selected and a specific audio clip is played (UUM-62086)
  • WebRequest: UnityWebRequest crashes if invoked when player is quitting (UUM-63150)

2023.2.20f1 Release Notes

Improvements

  • Android: Switched to GameActivity 3.0.0 package.

Fixes

  • 2D: Fixed unable to create Sprite in Sprite Editor Window in certain cases. (UUM-67197)
  • Accessibility: Fixed an issue where accessibility frame is shifted when "render outside safe area" is unchecked. (UUM-63896)
  • Android: Fixed an issue where the back button did not correctly close TouchScreenkeyboard with GameActivity. (UUM-37017)
  • Android: Fixed an issue where TouchScreenkeyboard type for GameActivity, previously it was stuck on text keyboard even though Numerical keyboard was requested. (UUM-43150)
  • Android: Fixed issue where TouchScreenkeyboard couldn't be reopened with GameActivity once closed via Navigational button. (UUM-31651)
  • Android: Fixed issue where TouchScreenkeyboard would act as multiline, even though multiline was not requested, this happens with GameActivity. (UUM-65277)
  • Android: Fixed logic for overriding builtin java file, Unity will also now respect package name inside java file. Previously the logic was driven only by java file name. (UUM-67826)
  • Asset Bundles: Fixed performance regression when clearing bundle cache folders. (UUM-60063)
  • Audio: Fixed an issue that would cause the transport buttons in the ARC editor window to be displayed wrongly after the window is focused. (UUM-66290)
  • Audio: Fixed an issue that would cause Unity to crash when you manually destroy a streamed audio clip. (UUM-14330)
  • Audio: Fixed AudioMixer.SetFloat not working correctly on assets loaded from an asset bundle in play mode in the editor. (UUM-68181)
  • Core: Fixed floating point issue in APV sampling. (UUM-47714)
  • Documentation: Fixed EditorUtility.OpenFilePanelWithFilters documentation. (UUM-44679)
  • Documentation: Fixed EditorUtility.SetDialogOptOutDecision documentation. (UUM-43878)
  • Editor: Changed the behaviour of the slider range trackers in the Audio Random Container window, so that they're greyed out when randomisation is disabled. (UUM-55692)
  • Editor: Disable minimise if the Windows general Preference "Show All Windows in Taskbar" is unchecked to work around a MS Windows limitation. (UUM-63821)
  • Editor: Fixed a crash when entering and leaving play mode while UnityWebRequest is downloading texture using DownloadHandlerTexture. (UUM-68555)
  • Editor: Fixed an issue where the ObjectPool counter returned wrong count if returning instance to full pool. (UUM-49060)
  • Editor: Fixed crash of an import worker process during asset importing which results in "Unexpected transport error from import worker 0" error in the Editor log (UUM-64341)
  • Editor: Fixed Drag and Drop changing order when reparenting multiple gameobjects. (UUM-67905)
  • Editor: Fixed flickering when using baked gi node and TAA. (UUM-65682)
  • Editor: Fixed for an AMD crash when using virtual offset computation in APV. (UUM-59522)
  • Editor: Fixed issue where dialog box with a progress bar can cause a crash when entering play mode on macOS. (UUM-66854)
  • Editor: Removed "Autofill" menu item from the "Edit" menu. (UUM-62774)
  • Editor: Removed "Close All" menu item from the "File" menu. (UUM-65192)
  • Graphics: Fixed a rare crash that can happen when using procedural geometries (intersections shaders) in ray tracing effects. (UUM-68610)
  • Graphics: Fixed artifacts along the borders of a texture with transparency when the legacy ETC compressor is used. (UUM-65381)
  • Graphics: Fixed screen flickering when depth/stencil is disabled in player settings and graphics API is set to Vulkan. (UUM-66721)
  • HDRP: Fixed a Banding in IES importer issue. (UUM-68033)
  • HDRP: Fixed a scaling issue with the recorder. (UUM-58379)
  • HDRP: Fixed cinematic eye shader lighting from directional lights. (UUM-65500)
  • HDRP: Fixed HDRP clouds (volumetrics and background) not being affected by main directionnal light intensity multiplier. (UUM-68313)
  • HDRP: Fixed invalid AABB errors in some other cases. (UUM-69928)
  • HDRP: Fixed Move water specific global shader variables to separate file. (UUM-68132)
  • HDRP: Fixed realloc of history buffer when XR was enabled. (UUM-41386)
  • HDRP: Fixed TAA post sharpen in XR. (UUM-32872)
  • iOS: Fixed UnityWebRequest URLs with unescaped symbols [ and ] in query and containing other spec characters like space will now fail on iOS 17 instead of sending request to improperly escaped (and as such - wrong) url. URLs that are properly percent-escaped are recommended and will work correctly. (UUM-66942)
  • License: Don't exit play-mode when another project is being created (using Unity Hub 3.8.0-beta.1) (UUM-68141)
  • Linux: In our Linux Pulse audio driver, make sure to select the correct default output device. Previously, on some systems and some versions of Linux, we could end up with no audio output or audio output being routed to an unexpected device. (UUM-53143)
  • macOS: Fixed custom cursor not used if mouse leaves the window. (UUM-67592)
  • Mono: Fixed InvalidProgramException (Invalid IL code in (wrapper managed-to-native) : IL_0004: ldloc 65535)getting thrown when calling COM interop methods. (UUM-62035)
  • Mono: Fixed issue where incorrect TimeZones would be returned on some devices due to an exception being thrown. (UUM-67254)
  • Package: Undo the Vuforia deprecation. (UUM-65386)
  • Prefabs: Fixed a crash on PhysicsManager::SetBodyTransformChangeInterest when opening a scene. (UUM-56057)
  • Search: Fixed GUIStyle error when installing/uninstalling a package. (UUM-65607)
  • UI Toolkit: Fixed dynamic height TreeView does not refresh when resizing. (UUM-54787)
  • UI Toolkit: Fixed Inspector sometimes becoming black when displaying nested lists. (UUM-69458)
  • UI Toolkit: Fixed InvalidOperationException sometimes thrown when calling property.NextVisible in a CustomPropertyDrawer's CreatePropertyGUI. (UUM-12851)
  • UI Toolkit: Fixed justify-content doesn't align content properly when min-width is used with borders or padding on the parent. (UUM-19900)
  • UI Toolkit: Fixed large memory allocation sometimes happening when processing style variables. (UUM-69741)
  • UI Toolkit: Fixed renaming not working when changing selection. (UUM-62652)
  • UI Toolkit: Fixed rendering of UI Toolkit when using LLVMpipe. (UUM-68128)
  • UI Toolkit: Fixed UI Builder Spacing/Border widgets are missing labels. (UUM-68447)
  • UI Toolkit: Fixed UIDocument component not showing on some Inspector windows when multiple inspectors are open. (UUM-67033)
  • UI Toolkit: Make the label of any BaseField elided with ellipsis when needed. (UUM-42121)
  • Undo System: Fixed crash when undoing an action in a graph using Undo.RecordObject. (UUM-58380)
  • Universal RP: Fixed an issue where the built in error shader didn't work correctly with depth priming. (UUM-62825)
  • Universal RP: Fixed broken setting shadow rendering layer is not changing shadow when using shadowRenderingLayers in the script. (UUM-28061)
  • URP: Fixed an issue where Runtime intensity of non real-time reflection probes were not immediately reflected in scene view. (UUM-67982)
  • VFX Graph: Fixed an issue where selected gizmo for nodes with multiple gizmos (for instance: Set Position Sequential Line) did not change. (UUM-52509)
  • VFX Graph: Fixed gizmo overlay's drop down was cut at the bottom. (UUM-48125)
  • Video: Fixed an issue where Playback becomes erratic in web browsers upon losing and regaining browser focus. (UUM-63591)
  • Video: Fixed an issue where VideoPlayer support of multiple audio tracks was broken on a few platforms. (UUM-55268)
  • Video: Fixed the Video Player to play the video after seeking back to frame 0 when Loop and Skip On Drop are enabled and the video has looped once. (UUM-66728)
  • Video: Video repeats the first frame on Android when it is played via Unity's Video Player component. (UUM-45914)
  • WebGL: Fixed spatial blend implementation to enable 2D/3D audio ratio. (UUM-57740)
  • XR: Fixed an issue where, if the render pass count was greater than 0 SPI would use the proper one instead of always using 0. (UUM-57876)

Package changes in 2023.2.20f1

Packages updated

  • com.unity.2d.psdimporter: 9.0.2 → 9.0.3
  • com.unity.2d.spriteshape: 10.0.3 → 10.0.4
  • com.unity.cinemachine: 2.9.5 → 2.10.0
  • com.unity.mobile.android-logcat: 1.4.0 → 1.4.1
  • com.unity.services.cloud-diagnostics: 1.0.6 → 1.0.7
  • com.unity.rendering.light-transport: 1.0.1 → 1.0.2
  • com.unity.services.authentication: 3.3.0 → 3.3.1
  • com.unity.services.core: 1.12.4 → 1.12.5
  • com.unity.xr.hands: 1.3.0 → 1.4.0
  • com.unity.xr.interaction.toolkit: 2.5.2 → 2.5.4
  • com.unity.dt.app-ui: 1.0.2 → 1.0.3

Packages added

  • com.unity.services.vivox@16.2.0