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.1.14f1

  • Asset - Database: An Infinite import error is thrown when modifying the contents of a "folder plugin" (UUM-47972)
  • Asset Importers: OnImportAsset leaks 5GB of memory (UUM-43067)
  • Cloth: Cannot use Paint tool (UUM-35062)
  • Contextual Menu: [TextMeshPro] "CONTEXT" menu item appears and Editor crashes when TMP 3.2.0-pre.4 package is imported (UUM-40410)
  • Culling: [Mobile] Player freezes on "UnityClassic::Baselib_SystemFutex_Wait" or silently crashes (UUM-41806)
  • DirectX11: [AMD] [DX11] Additional lights are broken when Spotlight is added to the Scene (UUM-20625)
  • Graphics Device Features: Severe performance degradation in Play Mode when using multiple Cameras with "Direct3D12", "OpenGLCore", and "OpenGLES3" Graphics APIs in URP & HDRP (UUM-42795)
  • Metal: [iOS] Rendering freezes when the orientation is changed (UUM-9480)
  • OpenGL: [Linux][URP][OpenGL] Scene View has a red texture overlay when the project is using URP and OpenGLCore Graphics API (UUM-44222)
  • Optimization: Crash on RendererUpdateManager::RemoveRenderer when undoing painting tiles to the scene (UUM-48842)
  • Scripting Runtime: "InvalidOperationException" is thrown when creating new Input Action (UUM-26520)
  • Scripting Runtime: Sometimes the wrong image is displayed when using Cursor.SetCursor in software mode (UUM-46718)
  • Serialization: Crash and or slow update when List items are reordered in the Inspector Window (UUM-46703)
  • Serialization: Crash on SerializedProperty_CUSTOM_GetStringValueInternal when renaming a ScriptableObject Asset (UUM-41704)
  • Serialization: Editor Crashes on WalkTypeTreeComplete<SerializedObjectTypeTreeWalk::ContainsManagedReferences'::2'::IsManagedReferenceVisitor> when a list with serialize reference fields is re-ordered (UUM-47108)
  • UI Builder: The Editor fails to load Layout Preset when it includes the UI Builder (UUM-48802)
  • UI Toolkit Framework: "ArgumentNullException" error in the Console when selecting certain ScriptableObjects and entering Play Mode (UUM-39898)
  • Visual Effects - Legacy: Particles are not adhering to the Mesh shape selected when being spawned by Sub Emitter Particles (UUM-47307)

2023.1.14f1 Release Notes

Improvements

  • Editor: Moving files in the Project window now takes less memory and is faster. (UUM-44466)
  • Graphics: Fixed an issue where some functionality of the CubemapInspector was unintentionally left available when inspecting native Cubemap textures. (UUM-22094)
  • HDRP: Avoid clamping to integers for HDR manipulation. (UUM-29767)
  • HDRP: Reduced GC Alloc when using raytracing and HDRP. (UUM-40657)
  • HDRP: Updated description of Decal Projector Draw Distance setting to mention HDRP asset setting. (UUM-42539)

API Changes

  • SRP Core: Added: ObjectID Render Request that provides a render texture with the ObjectId of each pixel.

Changes

  • Editor: [Android] Exceptions for "Unspecified Version" when including Play Libraries have been removed on 23.1 due to the logic changes when fixing Regex for Core-Common. (UUM-44744)
  • Editor: [Android] Moved Play Library checks for plugins and gradle dependencies into methods in 23.1 for use in Editor Tests, to avoid building player in every test. (UUM-44744)
  • XR: The Oculus XR Plugin package has been updated to 4.1.1.

Fixes

  • 2D: Fixed FullScreenRenderPass when using with Pixel Perfect Camera. (UUM-34852)
  • 2D: Fixed Post Processing and Anti-aliasing during camera stacking when using Renderer2D. (UUM-40770)
  • Android: Fixed Input.multiTouchEnabled setter when it's called before any touch event, previously such values would be disregarded since internally there was no touch device available for multiTouch to set to. (UUM-47104)
  • Android: Fixed locations of unaligned load/stores on 32-bit Android. (UUM-46550)
  • Android: Removed screen with centred app icon before the splash screen. (UUM-41488)
  • Apple TV: Fixed on screen keyboard unresponsive to controller when Remote.allowExitToHome is set to false. (UUM-39962)
  • Core: Fixed an issue where importing a hybrid package could fail if there was already a package whose name was a prefix of the hybrid package's UPM package name. (UUM-43102)
  • Editor: Ensure "Delete Shortcut Profile" window is a fixed size. (UUM-48165)
  • Editor: Ensure empty parent after reparenting jumps into rename mode if needed. (UUM-15042)
  • Editor: Fixed an incremental rebuild error when the build contains VideoClip or VideoPlayer object types.
  • Editor: Fixed an issue where the editor would temporarily freeze when selecting large compressed cubemaps with no mipchain. (UUM-28610)
  • Editor: Fixed an issue where the Texture3D previewer (volume mode) would not function with DX12 / Vulkan. (UUM-39954)
  • Editor: Fixed an issue where tooltips related to mipmap limit groups were flipped around. (a negative mipmap limit offset uploads more mips, a positive offset uploads less mips – not the other way around!). (UUM-41881)
  • Editor: Fixed helper bar not being visible when exiting play mode. (UUM-28357)
  • Editor: Fixed renderqueue override with shadergraph materials. (UUM-42131)
  • Editor: Rare case of static batching with transparent shadow rendering issue fixed. (UUM-36082)
  • Editor: Stop popping the Wizard windows when the Global Settings is invalid. (UUM-45694)
  • Editor: The stage priority for Sprite renderer and Canvas renderer now updates the value as expected. (UUM-35594)
  • Editor: [Android] Fixing Regex that checks for Play Libraries on 23.1 to avoid errors when using Core-Common libraries instead of only Play Core errors as expected. Regex now expects a series of digits/dots after the term "core" to avoid the confusion. (UUM-44744)
  • Graphics: 2023.1 Backport: Fix CustomRenderTexture artifact on sphere game object and material preview. (UUM-43540)
  • Graphics: Fixed a BatchRendererGroup thread race condition under special circumstances. (UUM-46934)
  • Graphics: Fixed an issue where Unity would crash when building a project with a sprite, mipstripping enabled and the "Load texture data on demand" project setting enabled. (UUM-31364)
  • Graphics: Fixed game window display position on-screen for additional uncommon multi-monitor layouts. (UUM-33795)
  • Graphics: Hide legacy probe debugging when APV is enabled. (UUM-33050)
  • Graphics: Improved warning issued when GraphicsBuffer.LockBufferForWrite is called more than once per frame on D3D11. (UUM-48133)
  • Graphics: [Vulkan] Crash in HybridHDRPGfxTest Standalone. (UUM-35004)
  • HDRP: Added error when the Rendering Layer names in HDRP Global Settings is empty. (UUM-41803)
  • HDRP: Allow the game to switch HDR on or off during run time. (UUM-29770)
  • HDRP: Fixed a potential GPU crash/hang when using local volumetric fogs. (UUM-48064)
  • HDRP: Fixed an issue where an async pass would try to sync to a culled pass mistakenly. (UUM-44493)
  • HDRP: Fixed custom post process volume component example in doc. (UUM-45394)
  • HDRP: Fixed error on water inspector when no SRP is active. (UUM-40843)
  • HDRP: Fixed GraphicsBuffer leak from APV binding code.
  • HDRP: Fixed Helpbox UI for LightProbeGroup Inspector. (UUM-38113)
  • HDRP: Fixed preview for refractive materials with MSAA.
  • HDRP: Fixed ShaderGraph Decal material position issue by using world space position. (UUM-42716)
  • HDRP: Fixed the logic used to set up materials featuring displacement mapping that would sometimes result in artifacts or suboptimal performance. (UUM-44723)
  • HDRP: Fixed the sharpening pass in order to avoid washed-out colors when using a render target with an alpha channel. (UUM-44448)
  • HDRP: Fixed: realtime Reflection probe makes volumetrics clouds wind stop. (UUM-37387)
  • HDRP: Mixed tracing mode for transparent screenspace reflections now mixes both tracing modes as expected, instead of only using ray traced reflections. (UUM-33701)
  • HDRP: Re-enabled HDR output on Mac (Was disabled).
  • IL2CPP: Fixed a crash in some cases where a generic type was being used. (UUM-42694)
  • IL2CPP: Fixed ExceptionSupportStack overflow with exception filters in loops. (UUM-42937)
  • IL2CPP: Fixed get_base_method() to behave as mono does, preventing a crash when the method slot is outside of the vtable. (UUM-44323)
  • IL2CPP: Fixed LoadIndirectNativeInteger to use a temp variable. (UUM-43502)
  • Linux: Exposing -datafolder command line argument for Linux Player release builds. (UUM-46895)
  • Linux: Fixed Linux Player generating mouse delta values when clicking the left mouse button repeatedly. (UUM-46825)
  • Linux: Fixed Scroll doesn't work when a window is attached to the left half of the secondary monitor. (UUM-43910)
  • macOS: Fixed driver issue when enabling the water system. (UUM-47762)
  • Mono: Fixed crash in Rider when hovering a symbol to view it's value. (UUM-43492)
  • Mono: Fixed Editor crash when mini_get_method fails. (UUM-45293)
  • Mono: Fixed min alignment of structures with explicit layout. (UUM-46084)
  • Mono: Produce crash dump when g_assertion_message is called. (UUM-43015)
  • Package Manager: Custom, local and git packages will only follow information from the package.json from now on. (UUM-47732)
  • Physics: Fixed up a crash that happened when ArticulationBody was added next to TerrainCollider that had trees on it. (UUM-46116)
  • Terrain: Fixed a player crash when a terrain tile completely made of holes was viewed from a distance. (UUM-45970)
  • UI Toolkit: Added a workaround for a Intel Graphics 3000 driver bug that would cause textures rendered by UI Toolkit to show incorrectly. (UUM-13134)
  • UI Toolkit: Fixed ScrollView produces jittery animation when playing PostPointerUpAnimation. (UUM-40352)
  • Universal RP: Added GBuffer (fill) passes to ComplexLit and Unlit shader to prevent GBuffer data holes. (UUM-21919)
  • Universal RP: Added Shader Keywords for Soft Shadow quality levels and disable per-light quality level on untethered XR platforms. (UUM-33025)
  • Universal RP: Fixed an issue causing 'implicit truncation of vector type' warning when using ShaderGraph shaders in the Forward+ Rendering Path. (UUM-46851)
  • Universal RP: Fixed an issue where it wasn't possible to add a Renderer Feature on a renderer if another feature had a missing/broken script. (UUM-45664)
  • Universal RP: Fixed an issue where reflection probes were not updating correctly when using Forward+. (UUM-44032)
  • VFX Graph: Picking Overlay when the rotation is applied on VisualEffect component. (UUM-13531)
  • WebGL: Fixed Build & Run for WebGL platform to establish needed COOP, COEP and CORP headers for web browsers to enable SharedArrayBuffer multithreading. (UUM-33017)