Menu
CoddyTech
学习旅程

用 C# 学 Unity

面向已经会 C# 的人的免费互动 Unity 课程。编写真正的 Unity 脚本,在代码旁边直接玩你做的 3D 游戏,还有 AI 提示和证书。

1,732+ 名学习者已加入

280 节课273 个挑战225 道测验题

  • 适合初学者
  • sparkles iconAI 辅助编程帮助
  • hint icon动手实践的互动课程
  • volume On icon每节课都有语音讲解
  • quiz icon检验所学的测验
  • certificate icon免费结业证书

在这里直接玩 Unity C#

三款用 Unity C# 写的小游戏。点击“开始”,然后拖动滑块:代码里的数字会随之改变,游戏也会用新数值重新开始。在手机上,请使用屏幕上的按键。

用方向键或 WASD 把球滚向金币,按空格键跳跃。把 force 调大,球就会飞起来。

实时数值
using UnityEngine;
using TMPro;

public class Ball : MonoBehaviour
{
    public float force = 12f;
    public float jumpForce = 5f;
    public TMP_Text scoreText;

    private Rigidbody rb;
    private int coins;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        ShowScore();
    }

    void Update()
    {
        bool onGround = transform.position.y < 0.55f;
        if (Input.GetKeyDown(KeyCode.Space) && onGround)
        {
            rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
        }
    }

    void FixedUpdate()
    {
        float x = Input.GetAxis("Horizontal");
        float z = Input.GetAxis("Vertical");
        rb.AddForce(new Vector3(x, 0f, z) * force);
    }

    public void AddCoin()
    {
        coins++;
        ShowScore();
    }

    void ShowScore()
    {
        scoreText.text = "Coins: " + coins;
    }
}

亲手写出这些脚本,就是这门课的内容:免费,在浏览器里就能学。

课程大纲

4 个单元7 个项目280 节课273 个挑战225 道测验题
  1. 开始本单元开始展开收起在游戏中编写你的第一个 C# 代码,学习变量、if、循环和方法。接着学习 Unity 脚本、Inspector、输入、向量、变换、组件、预制体和脚本生命周期,最后制作两款小游戏。

    Unity 中的 C# 基础

    8 节课8

    让它动起来

    5 节课55

    检视器

    5 节课45

    输入

    5 节课55

    变换与层级

    6 节课65

    循环与方法

    6 节课65

    游戏对象与组件

    7 节课65

    项目:接住星星

    6 节课64

    查找对象

    6 节课55

    预制体与生成

    8 节课85

    项目:躲避方块

    6 节课64

    最终挑战

    5 节课55
  2. 开始本单元开始展开收起学习刚体、碰撞、触发器、协程、射线检测、旋转、摄像机和敌人,最后制作两款物理游戏:Coin Rush 和 Arena Escape。

    触发器

    7 节课75

    项目:金币冲刺

    7 节课74

    射线检测

    7 节课75

    旋转

    5 节课55

    摄像机

    5 节课55

    敌人

    7 节课75

    项目:竞技场逃脱

    7 节课74

    最终挑战

    6 节课65
  3. 开始本单元开始展开收起学习屏幕 UI、按钮和菜单、游戏管理器、场景和关卡、存档、暂停和慢动作、CharacterController,以及 Unity 6 的 Input System,最后制作一款无尽跑酷游戏和一款 3D 平台跳跃游戏。

    屏幕文字

    5 节课55

    按钮与屏幕

    6 节课65

    游戏管理器

    5 节课55

    场景与关卡

    5 节课55

    使用 PlayerPrefs 保存数据

    5 节课55

    项目:无尽跑酷

    7 节课75

    时间控制

    4 节课45

    角色控制器

    6 节课65

    新输入系统

    5 节课45

    项目:3D 平台游戏

    8 节课85

    最终挑战

    4 节课45
  4. 开始本单元开始展开收起学习如何让大型 Unity 游戏保持易于管理:小型组件、接口、事件、ScriptableObjects、序列化数据、JSON 存档、状态机、泛型和对象池,最后制作一款竞技场生存游戏。

    组件,而非层级结构

    6 节课65

    Unity 中的接口

    5 节课55

    ScriptableObjects

    7 节课75

    使用 JSON 保存数据

    5 节课55

    状态机

    7 节课75

    可复用代码

    4 节课45

    项目:竞技场幸存者

    11 节课114

    最终挑战

    4 节课45

Unity 课程

动手实践的 Unity 课程,在浏览器中免费开始。

你将获得
学编程所需的一切

在实践中学习

编写真实代码、查询数据库、搭建网站、掌握 AI 提示词。我们的互动课程涵盖现代开发者需要的每一项技能。

playground.js
代码编辑器
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
测试 #1test Case Success icon
测试 #2test Case Success icon
测试 #3test Case Failure icon
输入
"Alex"
输出
"Hello, Coddy! Alex"

打造你的连胜

坚持下去,看着自己不断进步!记录每天的编程习惯,用冻结天数保护连胜,每天打卡都能赢取奖励。

12 天连胜

明天再来,保持你的连胜!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

加倍或归零

第 5 天,共 7 天

fire Freeze icon

连胜冻结

2 left

你并不孤单

在全球排行榜上一较高下,邀请好友赢取奖励,为彼此的成就喝彩。和好友一起编程更有趣!

挑战者联赛
挑战者联赛前 7 名晋级
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up icon晋级区leaderboard Arrow Up icon

多种学习方式

阅读、收听、自我测验、问 AI,或者查阅学过的任何内容。每节课都配合你的节奏。

变量入门
音频

变量是一个有名字的容器,用来存储值,方便你在程序后面引用。

在 Python 中,创建变量只需写下名字、一个等号,再写上要存储的值。

值可以随时间变化。给这个名字重新赋值,它就会指向新的值。

1xSarah

获得证书

每完成一门课程都能获得证书。把证书添加到你的 LinkedIn 个人资料和简历中,向雇主展示你的编程能力。

Coddy结业证书
兹证明张三已成功完成
python iconPython 基础
已验证
日期2026年1月
LinkedIn添加到 LinkedIn

为什么在 Coddy 学 Unity 脚本

  • 脚本和游戏并排显示。点击“开始”,场景就会运行你的 MonoBehaviour,游戏下方有控制台、层级和实时检视器,布局和 Unity 编辑器一样。点击“检查”,同一个场景就会按照本节课的检查项进行评分。
  • 每个项目都会用到的 Unity 6 API:Start 和 Update、transform、GetComponent、Rigidbody 和碰撞体、OnCollisionEnter 和触发器、Instantiate 和 Destroy、协程、用 TextMeshPro 做 UI、SceneManager、PlayerPrefs、CharacterController 和 Input System。然后是大型游戏需要的架构:ScriptableObject、事件、状态机和对象池。
  • 课程中包含七款游戏,每节课加一个功能:Catch the Star、Dodge the Blocks、Coin Rush、Arena Escape、一款无尽跑酷、一款 3D 平台跳跃游戏和 Arena Survivor。Snake 3D、Brick Breaker 和 Tower Defense 则是单独的课程。
  • 它在你的浏览器里运行,用的是 Coddy 自己的引擎,这个引擎仿照了 Unity 的 API、默认值和报错信息,所以你在这里写的 C# 就是你在 Unity 里写的 C#。无需安装任何东西,学校的 Chromebook 也能用,在手机上游戏会显示屏幕按键。

关于学习 Unity 的常见问题

Unity 用的是什么编程语言?

C#。Unity 游戏里的每个脚本都是一个 C# 类,通常是挂在 GameObject 上的 MonoBehaviour。Unity 曾经也提供过类似 JavaScript 的 UnityScript 和 Boo,但两者多年前就已移除。Unity 也有可视化脚本,但大多数教程、工作岗位和资源默认用的都是 C#。

学 Unity 之前需要先会 C# 吗?

对这门课来说,需要。它是为已经掌握 C# 基础的人编写的:变量、方法、类、列表和循环。它会讲 Unity 依赖、但通用 C# 课程常常跳过的那部分 C#,比如枚举、结构体、lambda 和用 yield 写协程,但不会从零教这门语言。如果你刚接触 C#,先学 C# 课程:其中的基础单元和面向对象编程单元正是 Unity 所需要的。

上这门课需要安装 Unity 吗?

不需要。每节课都在你的浏览器里运行,用的是 Coddy 自己仿照 Unity API 实现的引擎,所以无需下载编辑器,也不用创建项目。它不是 Unity 编辑器:没有可以拖动物体的 Scene 视图,每节课的场景都已经为你搭好。要做出并发布你自己的游戏,就要用 Unity 编辑器,它在 Windows、macOS 和 Linux 上个人使用免费。你在这里写的脚本都可以直接带过去。

可以在 Chromebook 或手机上学 Unity 吗?

可以。Unity 编辑器不能在 ChromeOS、平板或手机上运行,但这些课程可以:代码编辑器和游戏都在浏览器里运行,在触摸屏上游戏会显示屏幕方向键和空格键。以后要做自己的 Unity 游戏,你需要一台 Windows、Mac 或 Linux 电脑。

这是真正的 Unity 吗?

不是。这是 Coddy 自己的引擎,它在浏览器里运行你的 C#,模仿的是这些课程所讲的 Unity 6 部分:GameObject 和组件、物理、UI、场景、数据保存和 Input System。它刻意仿照了 Unity 的默认值、特殊行为和报错信息,所以你学到的东西可以直接用到编辑器里。它没有自己的编辑器,没有 Asset Store,没有动画系统,也不支持 2D。Coddy 与 Unity Technologies 没有关联,也未获得其认可。Unity 是 Unity Technologies 的商标。

我会做出哪些游戏?

课程中有七款:Catch the Star、Dodge the Blocks、Coin Rush、Arena Escape、一款无尽跑酷、一款 3D 平台跳跃游戏和 Arena Survivor,每一款都逐个功能地做,直到游戏有输有赢。Snake 3D、Brick Breaker 和 Tower Defense 是单独的课程,每门课做一款完整的游戏。Unity 游戏开发学习路径 把它们按顺序排好,放在你需要的 C# 之后。

学会 Unity 需要多长时间?

这门课共有 4 个单元、236 节课,按自己的节奏学大约 40 小时,每天学一小时的话需要两到三个月。用 Unity 编辑器做出并发布你自己的游戏需要更久:学完课程后,计划再花几个月做些小项目,同时也学会编辑器本身。

Unity 课程免费吗?

免费。课程内容、每节课里的游戏、AI 提示和证书都免费。免费账号每天可以学几节课,Pro 则取消每日限制。

包含这门课程的学习路径

这门课程是一条更长路径中的一步:几门课程按导师会教的顺序排列,每门都有自己的免费证书。

Coddy 编程语言插图

用 Coddy 学习 Unity

开始