Unity6.3から6.4への現時点での更新内容まとめ
この記事は Unity Advent Calendar 2025 の8日目の記事です。
書きたかったことが没になったので、遅れました。
小さめの記事です。
追記
- 12/10 いくつか差分を追記
- 12/12 6000.4.0b1のリリースノートを追記
- 12/12 Unite 2025でのロードマップを追記
- 12/12 APIのリンクの表記を変更
はじめに
Unity6.4aが出てから少し立ちましたが情報がないので、12/8日時点での情報をまとめます。
6000.4.0a5時点CoreModule内でのTypesの差分を取ったりしました。
リリースノート
6000.4.0a2のこれらは大きそう。
webでのjobのmultithreadingは既にありましたが、ちゃんとサポートするということ?それともburstが特別ということでしょうか?
- Web: Added support for Burst on Web Platform(requires updated Burst package).
Enable multithreading support for burst-compiled jobs.
- Web: Added support for Microphone scripting APIs on the web platform.
6000.4.0b1でDirectStorage support
WindowsでアセットのロードがGPUの力で速くなりそう
ロードマップ
Unite 2025の動画です。
12/11のU/Day Tokyoでも同様の基調講演がありました。
6.4のものを列挙してみます。
- Sharper insights
- Diagnostics where you work
From Develope Data to Data Ecosystem 6:16
- Unified data and pipe line
- Turn signals to powerful insights
- Custom Templates
- New Editor Stats Window
- Grid and Snapping work flow
- Becomes a core module
- Mesh LOD Debug
- Swappable physics backends
- Unity Physics improvements
Flexible insight-driven Matchmaking 19:55
- Get insights and troubleshoot
- Backfill your teams with precision
Aseprite importer & Tilemaps 21:58
- Tilemap Optimization with Entity IDs
- Sprite Atlas Runtime API
Faster, incremental archtechture updates 25:04
- Internal Milestone
- Unity6 proof of concept
- ECS for all in Unity6
- Orchestration Handles Complex Promps
- Production-Safe Code, Transparency, Full Control
- Better Focused Answers
- Visual Debugging & Composition
Workflows: Embedded Agents 29:06
- UI Builder Agent
- Embedded, Richer Asset Generation
- 3D surface reconstruction(口頭のみ)
- Boost Disks
- Artifact Retention
- Project Auditor in the Editor
- All Your Stores, One Workflow
- Optimize Revenue With Data
More effective in-game economy tools 50:22
- Cross-platform Catalog
Optimize your Game with Data 53:52
- Richer insights where you work
- Personalization
- Insights at Scale
破壊的変更予定
ドキュメントにあるclass/structの変更
AssemblyExtension
Assemblies.CurrentAssemblies
Categorization.InfoAttribute
U2D.AtlasPage
U2D.ObjectData
U2D.SpriteAtlasRuntimeConfig
U2D.TextureData
Assemblyの2つはdllのreload関連ですね。CoreCLR化に向けたものだと思われます。
U2Dは更新が結構ありそう。
ドキュメントにあるmemberの変更
追記: 12/10
Light-shapeRadius
Rendering.VisibleLight-shapeRadius
SceneManagement.SceneHandle.GetRawData
SceneManagement.SceneHandle.FromRawData
Experimental.Rendering.GraphicsStateCollection.AddGraphicsStates
Experimental.Rendering.GraphicsStateCollection.AddGraphicsStatesFromReference
ドキュメントにないclass/structの変更
-
UnityEngine.GUID
UnityEditor.dllから名前空間ごと移動
UnityEditor.GUIDがUnityEngine.GUIDになりました。 -
UnityEngine.Shaders
UnityEngine.ShaderRuntimeModule.dllからCoreModuleへ移動。しかしもとから情報なし。いつからあったかは調べていないので不明。
[NativeHeader("Modules/ShaderRuntime/Public/ShaderTypes.h")]
public sealed class Utility
{
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern bool IsShaderStageEnabled(ShaderStageFlags flags, ShaderStage stage);
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern bool IsShaderTypeEnabled(ShaderTypeFlags flags, ShaderType type);
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern ShaderStageFlags ShaderStageToFlags(ShaderStage stage);
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern ShaderTypeFlags ShaderTypeToFlags(ShaderType type);
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern ShaderStage GetPreviousStage(ShaderStage stage);
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern ShaderStage GetNextStage(ShaderStage stage);
}
public enum ShaderStage
{
FirstStage = 0,
Vertex = 0,
Fragment = 1,
Hull = 2,
Domain = 3,
Geometry = 4,
Compute = 5,
GraphicsStageCount = 5,
RayTracing = 6,
Count = 7,
}
[Flags]
public enum ShaderStageFlags
{
None = 0,
Vertex = 1,
Fragment = 2,
Hull = 4,
Domain = 8,
Geometry = 16, // 0x00000010
Compute = 32, // 0x00000020
RayTracing = 64, // 0x00000040
Basic = Fragment | Vertex, // 0x00000003
Tessellation = Domain | Hull, // 0x0000000C
Graphics = Tessellation | Basic | Geometry, // 0x0000001F
Any = Graphics | RayTracing | Compute, // 0x0000007F
}
public enum ShaderType
{
FirstStage = 0,
Graphics = 0,
Compute = 1,
RayTracing = 2,
Count = 4,
}
[Flags]
public enum ShaderTypeFlags
{
None = 0,
Graphics = 1,
Compute = 2,
RayTracing = 4,
Any = RayTracing | Compute | Graphics, // 0x00000007
}
ドキュメントにないmemberの変更
追記: 12/10
UnityEngine.EntityId
public ulong GetRawData()
の追加。implicit operator intがあるのでいらない気がするが他のHandle typesと合わせた感がある。
以下6.3で一時的に入れたもののやっぱりいらなかったAPI達
UnityEngine.Planeで==が使えたりIEquatable<Plane>を実装していたのを廃止、
その他Vector2、ColorなどのstructがEquals(in **)などin版のAPIを持っていたのを廃止
UnityEngine.GeometryUtility
public static void CalculateFrustumPlanes(Camera camera, Span<Plane> planes)
を廃止、Documentには書いていないが、他のSpan版APIは残っている。
パッケージの更新
Package is now a core package embedded in Unity.
2D系やURP/HDRPなど毎バージョン更新なものは省略
追記 12/10
URPの差分も調べたので載せておきます。
+ UnityEngine.Rendering.Universal.UniversalRenderPipelineRuntimeTerrainShaders
+ UnityEngine.Rendering.Universal.URPTerrainShaderSetting
あとCompatibility ModeのAPIが消えたくらい。これは事前にあった情報。
Editor系
UnityEngine.LightTransportの半分ほどがUnityEditor.dllからUnityEngine.dllへ
むしろEditor側に残ってるこれらは何
UnityEngine.LightTransport.ProbeBakeRequestOutput
UnityEngine.LightTransport.ProbeBakeRequest
UnityEngine.LightTransport.InputExtraction
UnityEngine.LightTransport.IntegrationContext
UnityEngine.LightTransport.RadeonRaysProbeIntegrator
UnityEngine.LightTransport.RadeonRaysContext
UnityEngine.LightTransport.RadeonRaysWorld
UnityEngine.LightTransport.PostProcessing.ReferenceProbePostProcessor
UnityEngine.LightTransport.PostProcessing.RadeonRaysProbePostProcessor
その他
+ UnityEditor.Experimental.ImportResultID
+ UnityEditor.Rendering.LightProbeGroupEditorUtility
+ UnityEditor.Categorization.ICategorizable
+ UnityEditor.Categorization.IOrdering
+ UnityEditor.Categorization.Node`1
+ UnityEditor.Categorization.CategorizationExtensions
+ UnityEditor.ProjectWindowCallback.AssetCreationEndAction
- UnityEditor.MaterialEditorExtensions
Experimental.ImportResultID
Rendering.LightProbeGroupEditorUtility
Categorization.CategorizationExtensions
ProjectWindowCallback.AssetCreationEndAction
MaterialEditorExtensions
最後に
6.4では6.3に比べてRuntimeのAPIの大きな変更はなさそう?
Discussion