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

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

Unity 軟體圖示 Unity 4.6.3 資料更新 2015-02-23 閱讀約 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

UnitySetup-4.6.3.exe · 1.44 GB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

Features:
- iOS: Added Metal rendering support. By default Metal will be used on capable devices. You can force graphics to be OpenGL ES 2.0/3.0 only in player settings.

Improvements:
- Asset Loading: Added names of affected assets to the error message when a hash collision occurs while generating asset bundles.
- BlackBerry: Passport device now supports landscape orientation.
- Documentation: Fixed broken links, particularly in UI docs.
- Documentation: Updated documentation for iOS 64-bit and UI.
- iOS: Added launch screen support for iPhones.
- iOS: Added PlayerSettings.shortBundleVersion which is linked to the CFBundleShortVersionString stored in the Info.plist file; this relates to short public version string. PlayerSettings.bundleVersion can now be used for full incremental build version and is linked to CFBundleVersion.
- iOS: Allow to set compile flags for already existing files in Xcode API.
- iOS/IL2CPP: Added support for async delegates (BeginInvoke/EndInvoke).
- iOS/IL2CPP: Disabled Script Debugging option when building iOS projects with IL2CPP scripting backend.
- iOS/IL2CPP: Implemented .NET classes: for ThreadPool, Asynchronous Sockets, WebRequest.
- iOS/IL2CPP: Optimize methods that use string literals and memory used for string literals.
- Shaders: Added UNITY_NO_SCREENSPACE_SHADOWS, UNITY_NO_RGBM, UNITY_NO_DXT5nm macros; better to check for these instead of hardcoding checks for "GLES or GLES3" and similar.
- Shaders: MRT support on OpenGL ES 2.0 via GL_EXT_draw_buffers.
- Shaders: Support for GL_EXT_shader_framebuffer_fetch. If you have a pixel shader with an "inout" color, it gets translated to use shader framebuffer fetch on GLES2/GLES3/Metal. Use UNITY_FRAMEBUFFER_FETCH_AVAILABLE macro in shaders to conditionally enclose that.
- UI: Exposed IsAddedToManager on Behaviour.
- UI: Improved ordering for the EventOrdering.
- UI: Optimized adding/removing Graphics to a Canvas. It should be much cheaper to enable and disable Graphics now.

iOS 64 bit / il2cpp fixes:
- Break IL instruction is now a no-op instead of a crash.
- Don't allow to select ARM64 architecture when using Mono scripting backend.
- Don't include .NET metadata into the binary.
- Ensure that the HideInInspector and ResourceRequest types are not stripped so they can be used if necessary.
- Fixed an issue with Socket.Poll, where socket instances where not removed from the list if inactive.
- Fixed Application.RequestUserAuthorization not working.
- Fixed a problem with generic classes where the generic type argument lives in a different assembly from the type definition.
- Fixed array of interfaces also being marked as interfaces.
- Fixed Attribute.GetCustomAttribute crash.
- Fixed C++ compile error for marshaled types.
- Fixed C++ compile error for methods with two or more generic arguments of the same type.
- Fixed C++ compile error when there's a struct array field in a marshalable struct that is marshaled as ByValArray.
- Fixed C++ compile error when using Interlocked.CompareExchange/Exchange with null.
- Fixed code generation for arrays of System.IntPtr, as well as IntPtr passed by reference.
- Fixed code generation for generic methods with generic instance type constraints.
- Fixed code generation for leave instructions jumping out of multiple exception handlers; fixes crash in Parse libraries.
- Fixed code generation for unsafe structs with fixed fields.
- Fixed crash in some cases when using ILeaderboard.
- Fixed crash when calling GetCustomAttributes() and one of the methods happened to have a [DllImport] attribute.
- Fixed CustomAttributes on constructors and method parameters.
- Fixed deserialization of Dictionary<string,string>.
- Fixed Enum.IsDefined.
- Fixed incorrect stripping in some cases when inheriting classes with interfaces.
- Fixed issue with two dimensional arrays.
- Fixed lock statement code generation when wrapping a try/catch statement.
- Fixed memory corruption when using AssemblyName.
- Fixed MethodInfo.ReturnParameter.
- Fixed multiple Cryprography library issues.
- Fixed RakNet being unavailable on IL2CPP, causing linker errors.
- Fixed some race conditions in the low level threading primitives.
- Fixed Type.GetNestedTypes() crash.
- Fixed unsigned storage types for CustomAttributes.
- Get the correct method to invoke via a delegate that points to an interface method.
- Handle LdToken IL instruction correctly.
- Handle non-ASCII characters in names.
- Implemented dynamic library loading.
- Implemented FieldInfo.GetRawConstantValue.
- Implemented marshaling of fixed size strings as fields of structs and classes.
- Implemented support for StructLayout and FieldOffset attributes in managed code, when not using for PInvoke.
- iOS Internal profiler is now working on IL2CPP.
- Make JsonFX library work with stripping.
- Make reflection on constant fields work (with the exception of string, for which support is pending).
- Never use microcorlib for iOS/IL2CPP.
- Nullable now works correctly when being cast to/from object or T.
- Prevented a duplicate symbol linker error for projects that use zlib in a static library by renaming the zlib symbols exported from the iOS/IL2CPP version of zlib.
- Prevent the error "Cannot get stack type for Item" when "Item" is a type nested in a generic type.
- Reduced the maximum depth to which IL2CPP tries to inflate generics. This fixed an issue which caused IL2CPP to never finish on certain C# patterns.
- Runtime now attaches to native thread automatically if it's being called into from native code through reverse P/Invoke.
- Support attributes that have arrays of System.Type arguments.

Other Fixes:
- 2D: Detect when Sprite.Create is called with an invalid rectangle.
- 2D: Fixed sprite UV calculation when mipmapped NPOT sprites were used for sliced UI elements.
- AI: Fixed crash when exceeding maximum polygon count in a tile (4096).
- AI: Fixed no result when calling NavMesh.SamplePosition with infinity range argument.
- AI: NavMeshObstacle carving tessellation fixes.
- AI: Prevent occasional hang when path is requested to an invalid position (degenerate values).
- Android: Added support for ATC decompression on x86.
- Android: Fixed black screen when using some ImageEffects on Adreno 2xx devices.
- Android: Fixed crash on some NullReferenceExceptions.
- Android: Fixed TextureAtlasses with only RGBA4444 textures.
- Animation: Fixed animation event not always fired when they are at the limit of transition end.
- BlackBerry: Deploy tools on OSX now have execute flag set properly.
- Deployment Management: Prevent simultaneous launches of Unity loading wrong project.
- Editor: Fixed occasional crash when switching between DX9 and DX11 in the editor.
- iOS: Fixed a crash due to unaligned memory access.
- iOS: Fixed a crash in physics code on iOS 6.x and older.
- iOS: Fixed a typo in UnityRegisterMainViewControllerListener().
- iOS: Fixed Chinese/Japanese keyboard dismissing itself when scrolling suggestions on iPhone.
- iOS: Fixed crashes on iOS 5 devices.
- iOS: Fixed performance drop for iPhone 6+ in Zoomed Mode.
- iOS: Fixed sound stopping to work when using OnAudioFilterRead.
- iOS: Fixed the issue where Unity doesn't check if startUnity() has been called.
- iOS: Fixed various issues with Xcode project handling.
- Linux: Fixed "fullscreen to native resolution" for window managers that resize the window many times while full-screening.
- Oculus Plugin: Fixed editor crash when trying to open a project with Oculus Plugin present and an issue with Plugins not being detected if moved in the Plugins folder.
- Physics: Changing only Z position of an object which has a Rigidbody2D component no longer disturbs its X/Y interpolation.
- Scripting: Fixed issue in Mono that threw "Mono.Security.Protocol.Tls.TlsException: Bad record MAC" exception.
- Scripting: Fixed plugin verification crash on reload/shutdown.
- Scripting: Fixed regression in StopCoroutine(Coroutine) error message.
- Scripting: Fixed rare crashes on Webplayer which is most likely to happen on x64.
- Shaders: Fixed some blending modes (e.g. One Zero, Zero Zero) only working in editor.
- UI: Disabling an InputField clears the caret data now.
- UI: Fixed a memory leak with Text objects.
- UI: Fixed an issue where the ObjectField was not configured to look at the correct time.
- UI: Fixed an issue with calling disabled from OnEndEdit.
- UI: Fixed a render-to-texture issue of UI elements.
- UI: Fixed keyboard not displaying on mobile devices.
- UI: Fixed menu items in GameObject > UI menu not having spaces between words. They now match component names as shown in the Inspector and in the Component menu.
- UI: Fixed screen space camera canvas using a uninitialized camera.
- UI: Fixing issue with setting InputField.value on mobile devices.
- UI: Make “ignore parent group” work properly with selectable and Graphic.
- UI: Maximum allowed internal font size (after pixels per unit have been applied) is now clamped to a maximum of 1000 to prevent majority of cases of the font rendering becoming very slow.
- UI: Prevent characterCountVisible from getting the length of a null string.
- UI: Prevent deleting selection from calling OnValueChanged multiple times.
- UI: Prevent InputField caret from positioning based on layout.
- Webcam: Fixed webcam detection on x86 first time creating WebCamTexture with empty device name.
- WebPlayer: Unity 2.x content is no longer supported on modern OSes (Windows 8+, Mac OS X 10.9+).
- Windows Standalone: Adding/removing game controllers should be detected more reliably now.
- Windows Standalone: Fallback to XInput 1.0 when XInput 1.3 is not installed on the system.
- Windows Store Apps: Fixed architecture specific plugin copying.
- Windows Store Apps: Fixed InvokeOnAppThread/InvokeOnUIThread from scripts.