6
5

Unity で C# スクリプト:C# 言語のバージョンを確認する

Last updated at Posted at 2023-12-31

Unity で C# スクリプト:C# 言語のバージョンを確認する

こんにちは、@studio_meowtoon です。今回は Windows 11 の Unity アプリ開発環境における、C# 言語のバージョンを紹介します。
csharp_in_unity.png

目的

Unity エディターで使用される C# 言語のバージョンを確認します。

開発環境

  • Windows 11 Home 22H2
  • Unity 2022.3.10f1 LTS
  • Visual Studio Community 2019 Version 16.11.19

Unity エディターと C# 言語のバージョン

2023年12月時点で、サポート期間中の Unity エディターは以下のバージョンです。

Unity バージョン リリース日 サポート期限 C# コンパイラ C# 言語バージョン
Unity 2021.3 LTS 2022/04/11 mid-2024 Roslyn C# 9.0
Unity 2022.3 LTS 2023/05/30 mid-2025 Roslyn C# 9.0
Unity 2023.2 2023/11/14 TBA Roslyn C# 9.0

Unity 2023.2 は 2023年12月時点では LTS ではありません

Unity C# コンパイラ

これらのバージョンにおける対応状況から、Unity では、2023年12月時点では C# 9.0 言語を使用してスクリプトを開発します。

Roslyn コンパイラについて

Roslyn (ロズリン) は、Microsoft によって開発された C# のコンパイラ オープンソース プロジェクトです。

C# 9.0 について

C# 9.0 は、2020年11月に .NET 5 とともにリリースされました。これは .NET 5 をターゲットにするアセンブリのデフォルト言語バージョンです。

Visual Studio と C# 言語の対応リスト

言語バージョン リリース .NET Visual Studio
C# 9.0 2020/11 .NET 5.0 Visual Studio 2019 version 16.8
C# 10.0 2021/11 .NET 6.0 Visual Studio 2022 version 17.0
C# 11.0 2022/11 .NET 7.0 Visual Studio 2022 version 17.4
C# 12.0 2023/11 .NET 8.0 Visual Studio 2022 version 17.8

2023年12月時点での Unity 開発では、Visual Studio 2019、2022 どちらも利用できます。

Visual Studio で C# 9.0 を指定

Assembly-CSharp.csproj などで、PropertyGroup > LangVersion9.0 を指定します。

Assembly-CSharp.csproj
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <LangVersion>9.0</LangVersion>
  </PropertyGroup>
  <!-- 以下省略 -->

まとめ

Unity エディターで使用される C# 言語のバージョンを確認することができました。

この記事の実装例は一つのアプローチに過ぎず、必ずしも正しい方法とは限りません。他にも多様な方法がありますので、さまざまな情報を照らし合わせて検討してみてください。

どうでしたか? Window 11 の Unity で3Dゲームを開発する環境を手軽に構築することができます、ぜひお試しください。今後も Unity の開発トピックなどを紹介していきますので、ぜひお楽しみにしてください。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5