Menu
CoddyTech
Hành trình

Học Unity với C#

Khóa học Unity miễn phí, tương tác, dành cho người đã biết C#. Viết script Unity thật và chơi game 3D ngay cạnh code của bạn, có gợi ý từ AI và giấy chứng nhận.

1,732+ người học đã tham gia

280 bài học273 thử thách225 câu hỏi trắc nghiệm

  • Phù hợp cho người mới
  • sparkles iconTrợ giúp lập trình bằng AI
  • hint iconBài học tương tác thực hành
  • volume On iconCó thuyết minh âm thanh cho mọi bài học
  • quiz iconBài trắc nghiệm để kiểm tra kiến thức
  • certificate iconGiấy chứng nhận hoàn thành miễn phí

Chơi Unity C# ngay tại đây

Ba game nhỏ viết bằng Unity C#. Nhấn Chơi, rồi kéo thanh trượt: con số thay đổi trong code và game khởi động lại với giá trị mới. Trên điện thoại, dùng các phím trên màn hình.

Lăn quả bóng vào các đồng xu bằng phím mũi tên hoặc WASD, nhảy bằng Space. Tăng force lên là quả bóng lao vút đi.

Giá trị trực tiếp
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;
    }
}

Tự viết những script này chính là nội dung khóa học: miễn phí, ngay trên trình duyệt.

Đề cương

4 phần7 dự án280 bài học273 thử thách225 câu hỏi trắc nghiệm
  1. Bắt đầu phầnBắt đầuMở rộngThu gọnViết những dòng C# đầu tiên trong một trò chơi: biến, câu lệnh if, vòng lặp và phương thức. Tiếp theo là script trong Unity, cửa sổ Inspector, đầu vào, vector, phép biến đổi, component, prefab và vòng đời của script, kết thúc bằng hai trò chơi nhỏ.

    C# cơ bản trong Unity

    8 bài học8

    Làm cho nó chuyển động

    5 bài học55

    Inspector

    5 bài học45

    Đầu vào

    5 bài học55

    Biến đổi và hệ phân cấp

    6 bài học65

    Vòng lặp và phương thức

    6 bài học65

    GameObject và thành phần

    7 bài học65

    Dự án: Bắt lấy ngôi sao

    6 bài học64

    Tìm đối tượng

    6 bài học55

    Prefab và tạo đối tượng

    8 bài học85

    Vòng đời của script

    5 bài học45

    Dự án: Né các khối

    6 bài học64

    Thử thách cuối cùng

    5 bài học55
  2. Bắt đầu phầnBắt đầuMở rộngThu gọnRigidbody, va chạm, trigger, coroutine, raycast, phép xoay, camera và kẻ địch, kết thúc bằng hai trò chơi vật lý: Coin Rush và Arena Escape.

    Rigidbody

    7 bài học75

    Va chạm

    7 bài học65

    Vùng kích hoạt

    7 bài học75

    Coroutine

    6 bài học65

    Dự án: Cuộc đua thu thập xu

    7 bài học74

    Raycast

    7 bài học75

    Phép quay

    5 bài học55

    Máy quay

    5 bài học55

    Kẻ địch

    7 bài học75

    Dự án: Thoát khỏi đấu trường

    7 bài học74

    Thử thách cuối cùng

    6 bài học65
  3. Bắt đầu phầnBắt đầuMở rộngThu gọnUI trên màn hình, nút và menu, trình quản lý trò chơi, scene và màn chơi, lưu dữ liệu, tạm dừng và chuyển động chậm, CharacterController và Input System của Unity 6, kết thúc bằng một trò chơi chạy vô tận và một trò chơi đi cảnh 3D.

    Văn bản trên màn hình

    5 bài học55

    Nút bấm và màn hình

    6 bài học65

    Trình quản lý trò chơi

    5 bài học55

    Cảnh và màn chơi

    5 bài học55

    Lưu dữ liệu với PlayerPrefs

    5 bài học55

    Dự án: trò chơi chạy vô tận

    7 bài học75

    Điều khiển thời gian

    4 bài học45

    Bộ điều khiển nhân vật

    6 bài học65

    Hệ thống đầu vào mới

    5 bài học45

    Dự án: trò chơi đi cảnh 3D

    8 bài học85

    Thử thách cuối cùng

    4 bài học45
  4. Bắt đầu phầnBắt đầuMở rộngThu gọnCách tổ chức các trò chơi Unity lớn để dễ quản lý: component nhỏ, interface, event, ScriptableObject, dữ liệu được tuần tự hóa, dữ liệu lưu JSON, máy trạng thái, kiểu tổng quát và cơ chế pooling, kết thúc bằng trò chơi sinh tồn trong đấu trường.

    Thành phần, không phải hệ thống phân cấp

    6 bài học65

    Giao diện trong Unity

    5 bài học55

    Dữ liệu tuần tự hóa

    5 bài học55

    ScriptableObjects

    7 bài học75

    Lưu dữ liệu bằng JSON

    5 bài học55

    Máy trạng thái

    7 bài học75

    Code có thể tái sử dụng

    4 bài học45

    Tái sử dụng đối tượng bằng pool

    4 bài học35

    Dự án: Đấu trường sinh tồn

    11 bài học114

    Thử thách cuối cùng

    4 bài học45

Khóa học Unity

Khóa học Unity thực hành, bắt đầu miễn phí ngay trên trình duyệt.

Bạn nhận được gì
Mọi thứ bạn sẽ dùng để học lập trình

Học qua thực hành

Viết code thật, truy vấn cơ sở dữ liệu, xây dựng trang web và làm chủ prompt AI. Các bài học tương tác bao quát mọi kỹ năng mà lập trình viên hiện đại cần.

playground.js
Trình chỉnh sửa code
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Đầu vào
"Alex"
Đầu ra
"Hello, Coddy! Alex"

Xây dựng streak

Học đều đặn và nhìn tiến độ của bạn lớn dần! Theo dõi thói quen code mỗi ngày, bảo vệ streak bằng ngày đóng băng và nhận phần thưởng khi học mỗi ngày.

12 ngày streak

Quay lại ngày mai để giữ streak!

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

Gấp đôi hoặc mất hết

Ngày 5/7

fire Freeze icon

Đóng băng streak

2 left

Bạn không đơn độc

Thi đấu trên bảng xếp hạng toàn cầu, mời bạn bè để nhận phần thưởng và cùng nhau ăn mừng thành công. Học code cùng bạn bè vui hơn nhiều!

Giải đấu Challenger
Giải đấu ChallengerTop 7 được thăng hạng
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 iconVùng thăng hạngleaderboard Arrow Up icon

Mọi cách để học

Đọc, nghe, tự kiểm tra, hỏi AI hoặc tra cứu bất cứ điều gì bạn đã học. Mỗi bài học phù hợp với trình độ của bạn.

Giới thiệu về biến
Âm thanh

Biến là một vùng chứa có tên, lưu một giá trị mà bạn có thể dùng lại sau trong chương trình.

Trong Python, bạn tạo biến bằng cách viết tên, dấu bằng, rồi giá trị muốn lưu.

Giá trị có thể thay đổi theo thời gian. Gán lại tên đó chỉ đơn giản là trỏ nó tới một giá trị mới.

1xSarah

Nhận chứng nhận

Nhận chứng nhận cho mỗi khóa học bạn hoàn thành. Thêm vào hồ sơ LinkedIn và CV để cho nhà tuyển dụng thấy kỹ năng lập trình của bạn.

CoddyGiấy chứng nhận hoàn thành
Chứng nhận rằngNguyễn Văn Anđã hoàn thành xuất sắc
python iconPython cơ bản
Đã xác minh
NgàyTh1 2026
LinkedInThêm vào LinkedIn

Vì sao nên học lập trình Unity với Coddy

  • Script và game nằm cạnh nhau. Nhấn Chơi là scene chạy MonoBehaviour của bạn, bên dưới game có Console, Hierarchy và Inspector cập nhật trực tiếp, bố trí giống như trong Unity editor. Nhấn Kiểm tra là chính scene đó được chấm theo các tiêu chí của bài học.
  • API Unity 6 mà dự án nào bạn cũng sẽ dùng: Start và Update, transform, GetComponent, Rigidbody và collider, OnCollisionEnter và trigger, Instantiate và Destroy, coroutine, UI với TextMeshPro, SceneManager, PlayerPrefs, CharacterController và Input System. Sau đó là kiến trúc mà các game lớn hơn cần: ScriptableObject, sự kiện, state machine và object pooling.
  • Bảy game ngay trong khóa học, mỗi bài học thêm một tính năng: Catch the Star, Dodge the Blocks, Coin Rush, Arena Escape, một Endless Runner, một 3D Platformer và Arena Survivor. Snake 3D, Brick Breaker và Tower Defense là các khóa học riêng nối tiếp.
  • Mọi thứ chạy trên trình duyệt bằng engine riêng của Coddy, mô phỏng API, giá trị mặc định và thông báo lỗi của Unity, nên C# bạn viết ở đây cũng chính là C# bạn viết trong Unity. Không cần cài gì cả, nên Chromebook ở trường cũng dùng được, còn trên điện thoại game hiện phím bấm ngay trên màn hình.

Câu hỏi thường gặp về học Unity

Unity dùng ngôn ngữ lập trình nào?

C#. Mỗi script trong game Unity là một lớp C#, thường là một MonoBehaviour gắn vào một GameObject. Trước đây Unity còn có UnityScript, một ngôn ngữ trông giống JavaScript, và Boo, nhưng cả hai đã bị loại bỏ từ nhiều năm trước. Unity cũng có visual scripting, nhưng phần lớn tutorial, việc làm và asset đều dùng C#.

Có cần biết C# trước khi học Unity không?

Với khóa học này thì có. Khóa học viết cho người đã nắm C# cơ bản: biến, phương thức, lớp, list và vòng lặp. Khóa học dạy phần C# mà Unity dựa vào nhiều và các khóa C# thông thường hay bỏ qua, như enum, struct, lambda và coroutine với yield, nhưng không dạy ngôn ngữ từ con số 0. Nếu bạn mới làm quen với C#, hãy học khóa học C# trước: phần nền tảng và phần lập trình hướng đối tượng chính là những gì Unity cần.

Có cần cài Unity để học khóa này không?

Không. Mọi bài học đều chạy trên trình duyệt bằng engine riêng của Coddy, mô phỏng API của Unity, nên không phải tải editor hay thiết lập dự án. Đây không phải Unity editor: không có Scene view để kéo thả đối tượng, và mỗi bài học tự dựng sẵn scene cho bạn. Để tự làm và phát hành game của riêng mình, bạn sẽ dùng Unity editor, miễn phí cho mục đích cá nhân trên Windows, macOS và Linux. Các script bạn viết ở đây vẫn dùng lại được.

Có học Unity trên Chromebook hay điện thoại được không?

Được. Unity editor không chạy trên ChromeOS, máy tính bảng hay điện thoại, nhưng các bài học này thì có: trình soạn code và game đều chạy trên trình duyệt, và trên màn hình cảm ứng game hiện các phím mũi tên và phím Space ngay trên màn hình. Sau này để tự làm game Unity, bạn sẽ cần một máy tính Windows, Mac hoặc Linux.

Đây có phải Unity thật không?

Không. Đây là engine riêng của Coddy, chạy code C# của bạn trên trình duyệt và mô phỏng phần Unity 6 mà các bài học này dạy: GameObject và component, vật lý, UI, scene, dữ liệu đã lưu và Input System. Engine cố ý mô phỏng giá trị mặc định, những điểm đặc thù và thông báo lỗi của Unity, nên những gì bạn học được vẫn áp dụng được trong editor. Engine không có editor riêng, không có Asset Store, không có hệ thống animation và không hỗ trợ 2D. Coddy không liên kết với và không được Unity Technologies bảo trợ. Unity là nhãn hiệu của Unity Technologies.

Bạn sẽ làm được những game nào?

Bảy game trong khóa học: Catch the Star, Dodge the Blocks, Coin Rush, Arena Escape, một Endless Runner, một 3D Platformer và Arena Survivor, mỗi game được xây từng tính năng một cho đến khi có thể thắng và thua. Snake 3D, Brick Breaker và Tower Defense là các khóa học riêng, mỗi khóa xây một game hoàn chỉnh. Lộ trình phát triển game Unity sắp xếp tất cả theo thứ tự, sau phần C# bạn cần.

Học Unity mất bao lâu?

Khóa học này gồm 236 bài học trong 4 phần, khoảng 40 giờ theo tốc độ của bạn, hoặc từ hai đến ba tháng nếu học mỗi ngày một giờ. Tự phát hành một game trong Unity editor sẽ lâu hơn: hãy dành vài tháng làm các dự án nhỏ sau khóa học, đó cũng là lúc bạn học cách dùng chính editor.

Khóa học Unity có miễn phí không?

Có. Bài học, game trong mỗi bài học, gợi ý từ AI và giấy chứng nhận đều miễn phí. Tài khoản miễn phí học được vài bài học mỗi ngày, còn Pro bỏ giới hạn hằng ngày.

Lộ trình học có khóa học này

Khóa học này là một bước trong một lộ trình dài hơn: nhiều khóa học theo thứ tự mà một người hướng dẫn sẽ dạy, mỗi khóa có chứng nhận miễn phí riêng.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học Unity với Coddy

Bắt đầu