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

  • Asset - Database: Crash in CollectManagedImportDependencyGetters inside OpenScene in batch mode (UUM-57742)
  • Asset - Database: Crash on UnityEditor.AssetDatabase:OpenAsset because assertion fails on prefabInstance.GetRootGameObject().IsValid() expression while opening a specific Scene (UUM-66207)
  • Asset Bundles: Memory leak when building AssetBundle with Sprite Atlas enabled on macOS (UUM-56323)
  • Asset Importers: Unity crashes on strtol_l when importing a specific .obj file (UUM-42697)
  • Audio Authoring: Crash on AudioUtil_CUSTOM_HasAudioCallback when exiting Play Mode while the Inspector is displaying a GameObject with a script attached (UUM-58481)
  • IAP: [Android] The Player crashes with a "JNI ERROR (app bug)" error when the global reference table gets overflowed by BillingClientStateListener (UUM-55105)
  • IL2CPP: [Android] Crash on Android when AndroidJavaProxy is calling from multiple threads (UUM-49357)
  • Input: Crash on InputDeviceIOCTL when closing Unity editor (UUM-10774)
  • License: Editor exits Play mode when another project is being created using Unity Hub 3.8.0-beta.1 (UUM-68141)
  • Metal: Player hangs when re-focusing the Player window after switching to a window that covers the Player window (UUM-67400)
  • Metal: [iOS] App crashes with out of memory exception in UnityGfxDeviceWorker when starting the app (UUM-55488)
  • Platform Audio: Crash on FMOD::CodecMPEG::setPositionInternal when a mobile platform is selected and a specific audio clip is played (UUM-62086)
  • Progressive Lightmapper: The Editor becomes unresponsive and memory allocation errors are spammed in the Console when Generating Lightning (UUM-58017)
  • RP Foundation: Stacked camera is not rendering when using custom post effects is done in PreRender PostRender and Camera is not in HDR (UUM-22444)
  • Text: Blurry Text (UUM-49006)
  • Text: Crash on invalid_parameter_internal when entering Play Mode (UUM-68490)
  • WebRequest: UnityWebRequest crashes if invoked when player is quitting (UUM-63150)

2023.2.17f1 Release Notes

Features

  • Package: Adds Apple privacy manifest in moderation package.

Improvements

  • Editor: Throw a warning when RenderPipelineAsset.renderPipelineShaderTag hasn't been overriden. (UUM-61556)
  • VisionOS: Add support for Burst with the VisionOS simulator SDK. This requires Burst version 1.8.13.

Fixes

  • 2D: Fixed flickering for 2D Renderer on macOS silicon. (UUM-67306)
  • Android: Fixed an issue where a black frame flashes when returning to Unity Game Activity from the home screen. (UUM-58966)
  • Android: Fixed issue with updating the minimum value of maxAspectRatio value. (UUM-66208)
  • Asset Pipeline: Fixed crash loading Content Archive from different version. (UUM-64609)
  • Audio: Fixed AudioRandomContainer crash after domain reload and playing an audiosource in edit mode. (UUM-60125)
  • Audio: Fixed AudioRandomContainer crash after domain reload if scene reloading disabled / already in playmode. (UUM-63433)
  • Editor: Capitalize the compiler generated name of serialized field. (UUM-45789)
  • Editor: Fixed a crash on BucketAllocator::Allocate when entering Play mode. (UUM-65101)
  • Editor: Fixed an error in the calculation of the available space for the children when min/max were involved and margin were set on the parent. (UUM-29965)
  • Editor: Fixed an issue where Joint components would never wake up ArticulationBody components, when the constraint data was changed. (UUM-64395)
  • Editor: Fixed an issue where Joint components wouldn't properly wake up Rigidbody components, when the constraint data was changed. (UUM-64395)
  • Editor: Fixed an issue with context menu in scene hierarchy when multiple objects are selected.
  • Editor: Fixed an opening style tag overflow issue. (UUM-30205)
  • Editor: Fixed crash in FBX importer when importing Blender file. (UUM-63758)
  • Editor: Fixed issue with GUI.skin.font not being applied properly. (UUM-65857)
  • Editor: Fixed issue with incorrect font size when renaming an asset. (UUM-66104)
  • Editor: Fixed issue with overriden prefab field not being bold. (UUM-61084)
  • Editor: Fixed LOD Group Cross Fade effect does not function when the GameObject is dynamically loaded. (UUM-65463)
  • Editor: Fixed unrelated Objects/Metadata that showed up assigned to samples in the CPU Timeline view and were repeating the data from the last sample in the thread & frame that had valid Object/Metadata information associated with it. (UUM-66592)
  • Editor: Updated the FBX SDK version to 2020.3.4. (UUM-60185)
  • Graphics: Fixed a crash in Mesh bounds recalculation when not enough vertices are assigned to the mesh for each sub-mesh. (UUM-5812)
  • HDRP: Fixed game view flicker while on HDR and Reflection probe. (UUM-64343)
  • HDRP: HDRP: Fixed invalid AABB error in the console when using the APV with reflection probes. (UUM-64617)
  • iOS: Fixed potential memory leak when reallocating memory. (UUM-64048)
  • Package: Fixes an issue in moderation package where initialization would fail on certain occasion.
  • Physics: Fixed an issue where Rigidbody::Move and Rigidbody::MoveRotation would not respect position constraints when used with Rigidbody components set to kinematic. (UUM-61558)
  • Physics 2D: Ensure that certain overloads of Rigidbody2D.Cast() correctly use the implicit body rotation. (UUM-65646)
  • Shaders: Fixed a rare crash when rendering using a replacement shader that has dynamic keywords. (UUM-66898)
  • SRP Core: Fixed DebugUI.Button not working in Rendering Debugger runtime UI. (UUM-65457)
  • Universal RP: Added logic to enforce consistent hardware dynamic resolution settings during rendering to avoid issues when external code changes the global setting. (UUM-58686)
  • Universal RP: Fixed an issue where an incorrect WorldToCamera matrix was used in the main and additional light shadow passes. (UUM-63267)
  • Universal RP: Fixed an issue where logging an error gave a NullReferenceException for Server Builds. (UUM-56965)
  • VFX Graph: Fixed an issue when trying to connect incompatible types, the error popup was left over if the action was canceled with Escape key. (UUM-61583)
  • VFX Graph: Fixed an issue where tooltips to the VFX Control panel were missing. (UUM-8907)
  • WebGL: Fixed an issue that prevented multithreaded builds from working if user repeatedly upgraded and then downgraded their project. (UUM-33218)
  • WebGL: Fixed issue using WebcamTexture.GetPixel(s) functions would return blank textures using the WebGL graphics API. (UUM-46144)
  • WebGL: Improved IndexedDB filesystem performance by avoiding redundant filesystem persistence operations. (UUM-65276)
  • WebGL: Remove "The PlayerLoop has been called recursively." error message spam. (UUM-55075)

Package changes in 2023.2.17f1

Packages updated

  • com.unity.2d.aseprite: 1.1.1 → 1.1.2
  • com.unity.services.qos: 1.2.0 → 1.3.0
  • com.unity.services.wire: 1.2.2 → 1.2.3