【unity进阶篇】不同Unity版本对应的C# 版本和API 兼容级别(Api Compatibility Level)选择

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇

  • 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的同学入门。
  • 【unity通用篇】:主要讲解unity的基础通用的知识,包括unity界面、unity脚本、unity资源管理、unity动画、unity摄像机等,适合unity初学者入门。
  • 【unity3D篇】:主要讲解unity3D的知识,unity3D角色、unity3D物理系统、unity3D光照等,适合只想做2D游戏的开发者学习。
  • 【unity2D篇】unity2D篇:主要讲解unity2D的知识,包括unity2D角色、unity2D物理系统、unity2D光照等,适合只想做3D游戏的开发者学习。

这样方便大家按需选择性的去学习,比如有编程基础的大概率可以直接从unity通用篇开始入门,没有编程基础的建议从C#篇开始学习。只想做2D游戏的话,可以直接从unity2D篇开始学习,3D篇大概率就不需要看了,节约学习时间成本。

文章目录

    • 1、Unity 支持的 C# 版本
    • 2、为什么不同 Unity 版本支持不同的 C# 版本?
    • 3、不同版本的 C# 对我们有什么意义?
    • 4、Unity 的 .NET API 兼容级别
    • 5、API Compatibility Level 是什么?
    • 6、.NET Standard 2.0
    • 7、.NET Framework
    • 8、总结
  • 专栏推荐
  • 完结

1、Unity 支持的 C# 版本

随着 Unity 的不断更新,它逐渐开始支持更高版本的 C#。这意味着你可以使用更现代的编程特性来编写更加简洁、高效的代码。截至2025年,最新的 Unity 6 已经支持到了 C# 9。这里有一个简单的对照表:

  • Unity 2021.2 至 Unity 6 —— 支持 C# 9
  • Unity 2020.3 —— 支持 C# 8
  • Unity 2019.4 —— 支持 C# 7.3
  • Unity 2017 —— 支持 C# 6
  • Unity 5.5 —— 支持 C# 4

如果你想要了解更多详细信息,可以访问 Unity 官方文档。

2、为什么不同 Unity 版本支持不同的 C# 版本?

这是因为每个 Unity 版本使用的 C# 编译器脚本运行时(Scripting Runtime) 不同。例如:

  • Unity 2020.3 使用了等效于 .NET 4.6 的脚本运行时,并且采用了 Roslyn(罗斯林编译器)编译器。这使得它可以支持到 C# 8。
  • 随着 Unity 的升级,它通常会采用更新的编译器和运行时版本,从而能够支持更多新的 C# 功能。

因此,当 Unity 更新时,它一般会引入更先进的工具和技术,让你可以在开发中利用最新的语言特性。

3、不同版本的 C# 对我们有什么意义?

新版本的 C# 带来了许多有用的新特性,可以帮助你写出更清晰、更简洁的代码。虽然即使你不使用这些新功能也可以完成开发工作,但它们确实可以让代码更容易阅读和维护。例如:

  • 模式匹配:在 C# 7.0 及以上版本中引入,允许你以更直观的方式处理不同类型的数据。
  • 异步流:从 C# 8.0 开始支持,简化了对大量数据进行异步处理的过程。
  • 记录类型 (Records):这是 C# 9.0 的新增特性之一,提供了不可变的数据结构,非常适合用于表示实体或数据传输对象。

通过了解你所使用的 Unity 版本能支持哪些 C# 版本,你可以充分利用这些新特性来提高开发效率。

4、Unity 的 .NET API 兼容级别

在 Unity 中,你可以通过Playersetting->other Setting->Api Compatibility Level设置项目的 API 兼容级别,这决定了项目可以访问哪些 .NET 库。
在这里插入图片描述
当然,我会用通俗易懂的语言来解释 Unity 中的 API Compatibility Level 选项里的 .NET Standard 2.0 和 .NET Framework。

5、API Compatibility Level 是什么?

首先,API Compatibility Level 是 Unity 中的一个设置,它决定了你的项目可以使用哪些类库和功能。这有点像你选择了一个“工具箱”,这个工具箱里有不同数量和类型的工具(即代码库),你可以用来构建你的游戏或应用程序。

6、.NET Standard 2.0

想象一下:

  • 小而精的工具箱:.NET Standard 2.0 就像是一个相对较小但非常现代化的工具箱。它包含了最新版本的 C# 语言特性和一些常用的类库。
  • 跨平台支持:这个工具箱设计得非常好,可以在多个平台上工作,比如 Windows、macOS 和 Linux,甚至在移动设备上也能很好地运行。
  • 轻量级:因为这个工具箱是为多种环境设计的,所以它只包含最常用和最必要的工具,不会过于庞大或复杂。

适合谁?

  • 如果你是刚开始学习 Unity 的新手,或者希望你的项目能够轻松地移植到不同的平台(如从 PC 到移动端),那么 .NET Standard 2.0 是一个很好的选择。
  • 它也更适合那些不需要大量传统 .NET 功能的小型项目或独立开发者。

7、.NET Framework

想象一下:

  • 大而全的工具箱:.NET Framework 就像是一个更大、更传统的工具箱。它不仅有所有 .NET Standard 2.0 的东西,还有一些额外的功能和类库,这些可能是一些老项目或特定于 Windows 平台的应用所需要的。
  • Windows 特性:这个工具箱特别擅长处理 Windows 上的任务,因为它与 Windows 操作系统紧密集成,提供了更多的本地化支持和服务。
  • 全面但较重:由于它包含了更多特性,因此相对来说会更加复杂一点,并且可能会占用更多的资源。

适合谁?

  • 如果你正在开发一个需要访问某些特定 Windows 功能的游戏或应用,或者是维护一个已经使用了旧版 .NET Framework 的大型项目,那么选择 .NET Framework 可能更合适。
  • 对于那些想要利用完整的 .NET 类库集以及 Windows 独有的功能的人来说,这也是个不错的选择。

8、总结

随着 Unity 版本的提升,你能够使用的 C# 新特性和功能也会增加。了解自己当前使用的 Unity 版本能支持的 C# 版本非常重要,这样你可以充分利用这些新特性来优化代码。此外,在大多数情况下,建议使用 .NET Standard 2.0 作为 API 兼容级别,以确保更好的跨平台支持和较小的应用程序体积。


专栏推荐

地址
【零基础入门unity游戏开发——C#篇】
【零基础入门unity游戏开发——unity通用篇】
【零基础入门unity游戏开发——unity3D篇】
【零基础入门unity游戏开发——unity2D篇】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架/工具集开发】

完结

好了,我是向宇,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/956402.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

H3CNE-13-静态路由(二)

1.路由优先级 路由类型DirectOSPFStaticRIP管理距离01060100 2.路由度量 配置示例: 配置接口IP、静态路由(去包、回包) 3.静态路由之路由备份 RTB: ip route-static 192.168.1.0 24 10.0.12.1 ip route-ststic 192.168.1.0 24 20.0.12.1 …

【数据分享】1929-2024年全球站点的逐年平均气温数据(Shp\Excel\无需转发)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标,其中又以气温指标最为常用!说到气温数据,最详细的气温数据是具体到气象监测站点的气温数据!本次我们为大家带来的就是具体到气象监…

[Qualcomm]Qualcomm MDM9607 SDK代码下载操作说明

登录Qualcomm CreatePoing Qualcomm CreatePointhttps://createpoint.qti.qua

PID控制算法原理,并用python实现演示

PID算法控制运用在哪些地方? PID:比列(Proportion),积分(Integral),微分(Differential) PID算法可以用来控制温度,压强,流量,化学成分,速度等等。汽车的定速巡航;伺服驱…

C语言之文本加密程序设计

🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 文本加密程序设计 摘要:本文设计了一种文本加密程序,旨在提高信息安…

数字图像处理:实验二

任务一: 将不同像素(32、64和256)的原图像放大为像素大 小为1024*1024的图像(图像自选) 要求:1)输出一幅图,该图包含六幅子图,第一排是原图,第 二排是对应放大…

latin1_swedish_ci(latin1 不支持存储中文、日文、韩文等多字节字符)

文章目录 1、SHOW TABLE STATUS WHERE Name batch_version;2、latin1_swedish_ci使用场景注意事项修改字符集和排序规则修改表的字符集和排序规则修改列的字符集和排序规则修改数据库的默认字符集和排序规则 3、ALTER TABLE batch_version CONVERT TO CHARACTER SET utf8mb4 C…

基于微信小程序的安心陪诊管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

如何将自己本地项目开源到github上?

环境: LLMB项目 问题描述: 如何将自己本地项目开源到github上? 解决方案: 步骤 1: 准备本地项目 确保项目整洁 确认所有的文件都在合适的位置,并且项目的 README.md 文件已经完善。检查是否有敏感信息&#xff0…

CSS笔记01

黑马程序员视频地址: 前端Web开发HTML5CSS3移动web视频教程https://www.bilibili.com/video/BV1kM4y127Li?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes 目录 引入方式 CSS特性 继承性 层叠性 优先级 Emmet写法 …

【机器学习】制造业转型:机器学习如何推动工业 4.0 的深度发展

我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 引言 在当今科技飞速发展的时代,制造业正经历着前所未有的变革,工业4.0的浪潮席卷而来。工业4.0旨在通过将…

【游戏设计原理】72 - 学习曲线

学习曲线的观点本质上强调了玩家在游戏中逐渐掌握新技能的过程,旨在通过设计合适的难度和反馈机制,确保玩家在学习的过程中感受到挑战,同时又不会感到过于困难或无聊。 1. 学习曲线的定义和重要性 学习曲线反映了玩家在完成某个任务时&…

【Linux】进程优先级与进程切换

🔥个人主页🔥:孤寂大仙V 🌈收录专栏🌈:Linux 🌹往期回顾🌹:【Linux】进程状态 🔖流水不争,争的是滔滔不 一、进程优先级是什么二、查看系统进程三…

windows 极速安装 Linux (Ubuntu)-- 无需虚拟机

1. 安装 WSL 和 Ubuntu 打开命令行,执行 WSL --install -d ubuntu若报错,则先执行 WSL --update2. 重启电脑 因安装了子系统,需重启电脑才生效 3. 配置 Ubuntu 的账号密码 打开 Ubuntu 的命令行 按提示,输入账号,密…

二层交换机之作用、故障(Function and Malfunction of Layer 2 Switch)

二层交换机之作用、区别 1️⃣二层交换机 又叫数据链路层交换机 还被称为接入层交换机 又或者以太网二层交换机 用一句话描述其核心功能 就是基于MAC地址进行帧的转发和过滤 与传统的集线器不同 二层交换机能智能学习每个端口连接设备的MAC地址 并更新MAC地址表&#…

cursor重构谷粒商城02——30分钟构建图书管理系统【cursor使用教程番外篇】

前言:这个系列将使用最前沿的cursor作为辅助编程工具,来快速开发一些基础的编程项目。目的是为了在真实项目中,帮助初级程序员快速进阶,以最快的速度,效率,快速进阶到中高阶程序员。 本项目将基于谷粒商城…

Python自动化:基于faker批量生成模拟数据(以电商行业销售数据为例)

引言:个人认为,“造数据”是一个数据分析师的一项基本技能,当然啦,“造数据”不是说胡编乱造,而是根据自己的需求去构造一些模拟数据集,用于测试等用途,而且使用虚拟数据不用担心数据隐私和安全…

【全栈开发】----Mysql基本配置与使用

本篇是在已下载Mysql的情况下进行的,若还未下载或未创建Mysql服务,请转到这篇: 2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易(保姆级)_mysql8.0.40下载安装教程-CSDN博客 本文对于mysql的操作均使用控制台sql原生代码…

微软宣布Win11 24H2进入新阶段!设备将自动下载更新

快科技1月19日消息,微软于1月16日更新了支持文档,宣布Windows 11 24H2进入新阶段。 24H2更新于2024年10月1日发布,此前为可选升级,如今微软开始在兼容的Windows 11设备上自动下载并安装24H2版本。 微软表示:“运行Wi…

15. helm包管理器

helm包管理器 一、helm包管理器介绍、安装1、helm包管理器2、核心概念2.1 chart2.2 repository2.3 release 3、helm安装3.1 安装helm3.2 添加helm国内仓库 二、使用helm安装MySQL 8.01、搜索mysql8.0 chart包2、下载mysql8.0 chart包3、按需定制values.yaml3.1 values.yaml文件…