👌

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の差分を取ったりしました。

リリースノート

https://unity.com/releases/editor/alpha/6000.4.0a2#notes

https://unity.com/releases/editor/alpha/6000.4.0a4#notes

https://unity.com/releases/editor/alpha/6000.4.0a5#notes

https://unity.com/releases/editor/beta/6000.4.0b1#notes

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でも同様の基調講演がありました。
https://www.youtube.com/watch?v=rEKmARCIkSI
6.4のものを列挙してみます。

Engine Diagnostics 5:39

  • Sharper insights
  • Diagnostics where you work

From Develope Data to Data Ecosystem 6:16

  • Unified data and pipe line
  • Turn signals to powerful insights

Unity Hub 9:46

  • Custom Templates

Unity Editor 11:08

  • New Editor Stats Window
  • Grid and Snapping work flow

Graph Toolkit 14:34

  • Becomes a core module

Level of Detail(LOD) 16:26

  • Mesh LOD Debug

Physics 18:22

  • 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 22:23

  • Sprite Atlas Runtime API

Faster, incremental archtechture updates 25:04

  • Internal Milestone
    • Unity6 proof of concept
  • ECS for all in Unity6

Agentic Infrastructure 27:48

  • Orchestration Handles Complex Promps
  • Production-Safe Code, Transparency, Full Control

Context 28:12

  • Better Focused Answers
  • Visual Debugging & Composition

Workflows: Embedded Agents 29:06

  • UI Builder Agent

Workflows: Generative 29:20

  • Embedded, Richer Asset Generation

XR 35:28

  • 3D surface reconstruction(口頭のみ)

Unity Build Automation 40:21

  • Boost Disks
  • Artifact Retention

Profiling 41:15

  • Project Auditor in the Editor

Maximize IAP Revenue 48:35

  • 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

破壊的変更予定

https://discussions.unity.com/t/planned-breaking-changes-in-unity-6-4/1682100

ドキュメントにある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.GUIDUnityEngine.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>を実装していたのを廃止、
その他Vector2ColorなどのstructがEquals(in **)などin版のAPIを持っていたのを廃止
UnityEngine.GeometryUtility

public static void CalculateFrustumPlanes(Camera camera, Span<Plane> planes)

を廃止、Documentには書いていないが、他のSpan版APIは残っている。

パッケージの更新

https://docs.unity3d.com/Packages/com.unity.collections@6.4//manual/index.html
https://docs.unity3d.com/Packages/com.unity.entities@6.4/manual/index.html
https://docs.unity3d.com/Packages/com.unity.entities.graphics@6.4/manual/index.html

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