這是歷史版本頁面 — 看 Unity 最新版本

想做遊戲但不知從哪開始,Unity能幫你什麼

Unity 軟體圖示 Unity 5.3.2 資料更新 2016-01-29 閱讀約 7 分鐘

你大概有過這種時刻:玩了某款遊戲之後,心裡冒出「這我也做得出來」的念頭,於是打開電腦想找一套能開發遊戲的軟體。結果搜尋到的東西不是太專業看不懂,就是下載下來不知道從哪裡開始,連要建一個角色、讓它動起來都找不到按鈕。你只是想先做一個簡單的小遊戲試試看,卻卡在第一步。

如果從程式語言開始學,光是理解變數、迴圈、物件導向就要花上好幾個月,還沒碰到遊戲畫面就先放棄了。就算找到現成的遊戲範例,也常常因為版本不對、缺少素材、不知道怎麼修改而卡住。這類遊戲開發工具的切入點,是把「寫程式」和「做遊戲」之間的距離縮短——用視覺化的編輯器排列場景、拖曳物件、設定參數,需要寫程式的部分再補上程式碼,同時提供大量現成素材和教學資源,讓你能夠從一個小原型開始,逐步做出完整的遊戲。

Unity 操作介面
Unity 的操作介面

01Unity能做什麼類型的遊戲?

官方說明指出它同時支援2D和3D開發,包含AI尋路工具、UI系統、物理引擎(Box2D和NVIDIA PhysX)、動畫工具、後製特效等,可以製作各種類型的遊戲。官方也提到可以用於VR、AR、手機、桌機、網頁、電視等多種平台。具體想做什麼類型的遊戲,可以參考官方教學和Asset Store的資源。

02它支援哪些平台發布?

官方說明提到可以發布到25個以上平台,包括手機(iOS、Android)、桌機(Windows、Mac)、遊戲主機、電視、VR、AR和網頁。它的跨平台功能可以「build once and deploy to the largest range」,也就是一次建置就能發布到多個平台。但具體支援哪些平台,建議到官方網站確認最新清單。

03免費版有什麼限制?

官方說明提到「Unity 6 Personal - Free Plan」是免費版本,但資格是「Revenue or funding less than $200K in the last 12 months」,也就是過去12個月收入或資金少於20萬美元。超過這個門檻就需要付費方案。免費版包含核心開發平台功能,但可能缺少某些進階功能,建議到官方網站查看免費版與付費版的詳細比較。

Unity 介面畫面 2
Unity 介面畫面

04Asset Store是什麼?

sset Store是Unity的資源商店,官方說明提到裡面有「thousands of quality, ready-made assets」,包括資源、工具、擴充功能等,可以加速專案開發。你可以購買或下載免費的素材、外掛、教學資源等。它同時也是社群分享知識的地方,對初學者來說是很好的學習資源。

05Unity Hub是做什麼的?

官方說明提到Unity Hub是用來管理多個Unity Editor安裝、建立新專案、存取你的工作的工具。也就是說,你可以用Unity Hub來安裝不同版本的Unity、切換專案、管理編輯器。它算是Unity開發流程的入口,建議先安裝Unity Hub再開始使用。

06完全沒寫過程式的人適合用嗎?

官方說明提到「beginners, students and hobbyists」是目標使用者之一,而且有「tons of tutorials and ready-made assets」可以引導學習。但Unity本身是專業遊戲引擎,需要學習程式語言(C#)和遊戲開發概念。如果完全沒寫過程式,建議先從官方教學和簡單的2D專案開始,逐步學習。

Unity 介面畫面 3
Unity 介面畫面

07獨立開發者適合嗎?

官方說明提到「independent developers and studios」是主要使用者,而且免費版就是為了獨立開發者設計的(收入低於20萬美元)。官方也提到「democratizing ecosystem smashes the time and cost barriers」,意思是降低開發時間和成本門檻。如果你是自己一個人或小團隊開發,Unity的資源和社群應該能提供足夠支援。

08學生或業餘愛好者適合嗎?

官方說明提到「beginners, students and hobbyists」是目標使用者,而且有大量教學資源和免費版可以使用。學生可以用免費版學習遊戲開發,業餘愛好者也可以用它來做自己喜歡的專案。但要注意免費版的收入限制,如果未來你的遊戲開始賺錢且超過20萬美元,就需要升級付費方案。

09不會英文的人用這套軟體會很吃力嗎?

這套軟體的介面語系是英文,官方說明也是英文,所以不會英文的話確實會比較吃力。但Unity有龐大的中文社群和教學資源,網路上有許多中文教學影片和文章。建議可以先從中文教學開始學習,同時慢慢熟悉英文介面。如果完全無法接受英文介面,可能需要考慮其他有中文介面的遊戲引擎。

Unity 介面畫面 4
Unity 介面畫面

10我公司收入超過20萬美元,還能用免費版嗎?

根據官方說明,免費版的資格是「Revenue or funding less than $200K in the last 12 months」,也就是過去12個月收入或資金少於20萬美元。如果你的公司收入超過這個門檻,就不能使用免費版,需要購買付費方案。建議到Unity官方網站查看最新的授權方案和價格。

11我的電腦還是Windows 7,能用嗎?

官方支援系統包含Windows 7 64位元,所以如果你的電腦是Windows 7 64位元,應該可以安裝使用。但要注意,Windows 7已經停止支援,Unity後續版本可能不再支援Windows 7。建議確認你使用的Unity版本是否支援Windows 7,並考慮升級作業系統以獲得更好的相容性和安全性。

12我只想做簡單的2D小遊戲,用這套軟體會不會太複雜?

Unity支援2D開發,官方說明提到「The app supports both 2D and 3D development with features and functionality for your specific needs across genres」,所以2D遊戲是沒問題的。但Unity本身是專業引擎,功能很多,學習曲線可能比專門的2D遊戲工具(如GameMaker)陡峭。如果你只想做非常簡單的2D遊戲,可以先從Unity的2D教學開始,評估自己是否能接受它的複雜度。

下載與官方連結

前往官方網站 下載 Unity

UnityDownloadAssistant-5.3.2f1.exe · 614.4 KB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

Improvements
- Compute: Improved compute shader import times, particularly on Windows. Since 5.1 we were always compiling them for GL4.3+GLES3.1 too, while most people only need DX11.
- Editor: Added link to learn more about Unity Cloud Build in the Build Player window.
- Editor/Scenes: Add Scene.GetRootGameObjects() to return the root game objects of the scene.
- Editor/Scenes: Add SceneManager.CreateScene() API to allow creating new empty scene at runtime.
- GI: Light probes and ambient (everything with SH calculations) match ground truth more closely now.
- IL2CPP: Optimize method prologues for code size and incremental builds.
- iOS: Added bitcode support.
- iOS/IL2CPP: Added support for Xcode 7.3 (don't use __declspec attributes).
- Samsung TV: Added support for 2016 TVs.
- Tizen: Now supports tizenstore URL protocol to open up Tizen store pages.
- tvOS: Enable Dynamic GI.
- VR: Applications that lost focus no longer throttle the CPU.

Changes
- iOS: Enable bitcode support by default.
- Editor/Scenes: Prevent calling some Editor mode only APIs on EditorSceneManager from play mode, including EditorSceneManager.OpenScene, EditorSceneManager.SaveScene etc.
- Editor/Scenes: Prevent calling some play mode only APIs on SceneManager from Editor mode, including SceneManager.LoadLevel, SceneManager.LoadLevelAsync etc.

Fixes
- Android: Fixed crash when loading many asset bundles.
- Android: Fixed crash in Cloth vertex buffer setup.
- Android: Fixed NullReferenceException on x86 devices running Android 5.0 or newer.
- Animation: Fixed an issue with stepped keys having the wrong value.
- Animation: Fixed animation events not firing on the last frame of a looping animation.
- Animation: Fixed crash when deleting all Euler keys in animation curve.
- Animation: Fixed Crossfade called subsequently not properly interrupting transition.
- API Updater: Fixed possible crashes in script updater when resolving types.
- AssetBundles: Fixed AssetBundle.CreateFromFile retaining file descriptor.
- AssetBundles: Fixed excessive memory usage when decompressing asset bundles with many objects inside.
- AssetBundles: Fixed memory leak when loading asset bundles with LZMA compression.
- AssetBundles: Fixed possible asset bundle caching error when starting multiple downloads with an empty cache.
- AssetBundles: Fixed the asset bundle reading bug when compressed data could be read as uncompressed.
- Core: '~' folders were no longer ignored in projects; fixed.
- DX11: Improved performance in GPU bound scenarios.
- DX11: Fixed wrong VRAM detection on some Intel GPUs, resulting in shadows not being rendered.
- DX11/XB1: Fixed FP16 static batched mesh vertex compression to actually work there, was always decompressing to FP32 before.
- Editor: Display console platform doc items in the help menu, when console docs are present, but the main documentation is not installed.
- Editor: Fixed MissingMethodException when using some APIs from UnityEngine.WSA namespace.
- Editor: Make right and left arrow select next/previous parent for fast expand/collapse in hierarchy views.
- Editor/Scenes: Fixed a crash when trying to get the root count on an invalid Scene.
- Editor/Scenes: Fixed loading new unsaved scene during playmode using Application.LoadLevel(index) or SceneManager.LoadScene(index).
- Editor/Scenes: Fixed the issue that script association was lost when another scene was loaded.
- Editor/Scenes: Fixed the issue that the unloaded scenes would be removed from the hierarchy when entering playmode, if they were first in the hierarchy.
- Editor/Scenes: Now make sure inspector in ActiveEditorTracker for MonoBehaviours are not garbage collected. The ActiveEditorTracked manages the objects itself.
- Editor/Scenes: Throw null reference exception if SerializedObject has been disposed.
- Global Illumination: Enlighten; fixed an issue where Unity crashed if scene was unloaded before it got a chance to fully load. (740808, 747666)
- Global Illumination: Fixed light probes / skybox ambient being wrong in some cases, 5.3 regression.
- Graphics: More consistency between editor & player when setting up color space sRGB write modes.
- Graphics: Fixed an issue where enabling vertex compression for positions could result in geometry not being rendered.
- Graphics: Realtime reflection probes in some cases did not have trilinear filtering properly set on them; fixed.
- Graphics: Fixed crash when setting shader properties.
- IL2CPP: Do not incorrectly free blittable arrays marshaled as [In,Out] parameters.
- IL2CPP: Ensure that the header file for a type defined in a different assembly is included when that type is used for a method parameter.
- IL2CPP: Ensure thread ID is valid for all threads.
- IL2CPP: Fixed an issue that caused a crash in Class::IsSubclassOf.,
- IL2CPP: Fixed double.Parse with InvariantCulture.
- IL2CPP: Fixed ExecutionEngineException being thrown on System.Reflection.MonoProperty::GetterAdapterFrame.
- IL2CPP: Fixed StateMachineBehaviour messages not being executed if stripping is enabled.
- IL2CPP: Forward declare a type and marshaled type in the method declarations header for marshaling methods so that the order of includes does not matter.
- IL2CPP: Implemented out marshaling for arrays correctly.
- IL2CPP: Implemented support for MetadataToken property on the following types: FieldInfo, EventInfo, MethodInfo, ConstructorInfo, PropertyInfo, Type, and Module.
- IL2CPP: Implemented the Thread::Abort and Thread::ResetAbort methods. This should allow a Socket to be closed properly while another thread is waiting in a call to Accept or Connect on that socket.
- IL2CPP: Prevent a NotImplementedException exception from occurring in il2cpp.exe when the Unbox opcode is used with certain generics. This usually occurs when an assembly is built with Visual Studio.
- IL2CPP: Properly cleanup when a native thread is cancelled rather than exiting normally. (749988, 733609)
- IL2CPP: Provide a proper argument for instance methods on value types invoked via a delegate.
- IL2CPP: Removed an unnecessary Box used to null check before calling a virtual method.
- iOS: Added font containing Lao characters to the fallback list.
- iOS: Added Xcode 7.2 to iOS plugin compatibility list.
- iOS: Duplicate another image layer when not all are defined.
- iOS: Fixed Apple Pencil position reporting on iPad Pro.
- iOS: Hindi characters are displayed now.
- iOS/IL2CPP: Correct stack traces in exception messages, which could sometimes miss managed frames.
- iOS/IL2CPP: Fire all GC profiler events. Fixed GC data in internal profiler.
- iOS/tvOS: Build all object files with correct SDK.
- Linux: Fixed a corner case where tearing would occur on some window managers even with VSync enabled.
- Mecanim: Fixed a bug where Euler rotations would be retained in scene after scrubbing animation.
- Mecanim: Fixed a bug where Euler rotations would not work in Legacy Animations.
- Mecanim: Fixed a bug where lights would not be animated in Legacy mode.
- Mecanim: Fixed a bug where RectTransform couldn't be animated in Legacy.
- Metal: Wrongly claimed to support DXT1/DXT5 texture formats on iOS, and ETC on Mac.
- Mono: Preserve non-volatile XMM registers across calls on 64-bit Windows during JIT compilation.
- Networking: Added a 'connecting' state and cancel button to NetworkManagerHUD UI to prevent multiple attempts to connect at the same time.
- Networking: Fixed 'recursion depth exceeded' error for complex NetworkBehaviour scripts.
- Networking: Fixed ClientScene object list being wrong after host migration.
- Networking: Fixed NetworkAnimator not working for non-player objects
- Networking: Fixed NetworkServer.SendToAll sends the message to the host twice.
- Networking: Fixed SyncEvent regression issue.
- Networking: Fixed SyncList updates don't use a configurable network channel.
- Networking: Fixed UI that allowed host migration to be enabled for WebGl platform where it is not supported.
- Networking: OnStopAuthority called on server when it should not be.
- Networking: Prevent [Command] functions from accepting NetworkConnection objects as parameters, which causes a UNetWeaver error.
- Networking: Prevent NetworkIdentity objects from being server-only and local-player-authority at the same time, as this is not a valid configuration.
- OpenGL Core: Fixed a crash with AMD and NVIDIA on Windows when using RenderTexture with recent drivers.
- OpenGL Core: Fixed a crash with Intel GPUs on Linux.
- OpenGL Core: Fixed shaders with multiple constant arrays.
- OpenGL Core: Fixed text rendering with AMD GPUs on OSX 10.9.
- OpenGL ES: Fixed crashes with new Samsung firmware. (756734, 756754)
- OpenGL ES: Fixed mipmap generation for render textures.
- OpenGL: Fixed binary shader cache, cache was always disabled.
- OpenGL (legacy): Added work around buffer state tracking failure.
- Particles: Fixed error message spam on particle systems that have no particles (5.3.1 regression).
- Physics: Fixed memory corruption/crash when deactivating a collider from inside of OnTriggerStay.
- Physics: PlatformEffector2D now supports negative scaling on parent Transform.
- Profiler: Fixed excessive memory usage in development players.
- Samsung TV: Fixed the smarthub button problem.
- Samsung TV: Fixed wrong JPG library access problem.
- Scripting: UnusedByteCodeStripper2 will show a better error message when processing assemblies, so it will be easier to identify offending assembly.
- Shaders: During surface shader generation, do not initialise non-vector type members of the Input struct i.e. a struct/int/matrix as a member variable of the Input struct.
- Shaders: Fixed a bug in Standard shader GGX specular term, introduced in 5.3.
- Shaders: More proper environment reflection in Standard shader for very rough surfaces.
- Substance: Fixed a crash when checking/unchecking 'Generate all outputs' or 'Generate mipmaps' on OSX.
- Substance: Fixed a crash when reimporting SBSARs with multiple material instances on OSX.
- Substance: Fixed a rare crash that could happen around the destruction of animated ProceduralMaterials.
- Substance: Fixed console spam about unavailable material properties.
- Substance: Fixed editor stutter when using RebuildTextures on OSX.
- Substance: Fixed emission color being set to opaque white when resetting a ProceduralMaterial.
- Substance: Fixed textures not properly generated on player awake when affected only by constant inputs.
- Substance: Output textures from ProceduralMaterials without any input are now always generated.
- tvOS: Fixed missing symbols for simulator builds.
- tvOS: Fixed rendering path selector in player settings.
- tvOS: Fixed UnityEngine.Apple.TV.Remote API access in editor.
- UI: Added fix so that the placeholder text is enabled when the InputField is deactivated and the text is empty.
- UI: Fixed crash in some cases after deleting world space Canvas.
- UI: Removed remaining uses of multiple display system (temporary fix while non-native resolutions are not supported).
- VR: Fixed Lines & Trail rendering; was offset for one eye.
- VR: Fixed Render Scale not reverting after being edited in play mode.
- VR: Fixed VRDevice.isPresent reporting true on first frame if Device was not connected at start.
- VR: Stereo Cameras correctly respect camera depth when rendering to the game view and HMD.
- WebGL: Fixed a crash when setting Application.runInBackground, if Strip Engine Code is enabled.
- WebGL: Prevent browser from processing Arrow Keys.
- WebGL: Prevent browser from processing Backspace and Tab key presses.
- Windows Store: Fixed incorrect display of Korean characters on Windows 10 (if Korean language pack is not installed) and Windows Phone 10, Unity will now fallback to "Malgun Gothic" font.
- Windows Store: Fixed Directory.CreateDirectory() for forward slashes.
- Windows Store: Populate autorotation settings to screen manager.
- Windows Store: Fixed a build failure (rrw failure) when calling methods with System.Numerics.Matrix4x4 as parameter.
- Windows Store: Fixed AccessViolationException when initializing matchmaking in UNet.
- Windows Store: Fixed player crashing on startup on .NET scripting backend.
- Windows Store: Fixed Screen.SetResolution when upscaling lower resolution to fullscreen, previously you would see a corrupt image on the screen.
- Windows Store: Fixed TouchScreenKeyboard crashes when it's members are used immediately after Open().
- Windows Store: Fixed WheelCollider on x64 (NullReferenceException occurring).
- Windows Store: RunInBackground option will be respected when application window looses focus, and if enabled, the application will keep updating. Note: if application window is minimized it will be still paused, because OS suspends the application.