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
Trợ giúp lập trình bằng AI
Bài học tương tác thực hành
Có thuyết minh âm thanh cho mọi bài học
Bài trắc nghiệm để kiểm tra kiến thức
Giấ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.
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
Phần 1
Những kiến thức cơ bản về lập trình trong Unity
Bắt đầu phầnBắt đầuViế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ọc8Làm cho nó chuyển động
5 bài học55Inspector
5 bài học45Đầu vào
5 bài học55Vectơ
7 bài học75Biến đổi và hệ phân cấp
6 bài học65Vòng lặp và phương thức
6 bài học65GameObject và thành phần
7 bài học65Dự án: Bắt lấy ngôi sao
6 bài học64Tìm đối tượng
6 bài học55Prefab và tạo đối tượng
8 bài học85Vòng đời của script
5 bài học45Dự án: Né các khối
6 bài học64Thử thách cuối cùng
5 bài học55Phần 2
Vật lý và lối chơi
Bắt đầu phầnBắt đầuRigidbody, 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ọc75Va chạm
7 bài học65Vùng kích hoạt
7 bài học75Coroutine
6 bài học65Dự án: Cuộc đua thu thập xu
7 bài học74Raycast
7 bài học75Phép quay
5 bài học55Máy quay
5 bài học55Kẻ địch
7 bài học75Dự án: Thoát khỏi đấu trường
7 bài học74Thử thách cuối cùng
6 bài học65Phần 3
Xây dựng trò chơi thực tế
Bắt đầu phầnBắt đầuUI 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ọc55Nút bấm và màn hình
6 bài học65Trình quản lý trò chơi
5 bài học55Cảnh và màn chơi
5 bài học55Lưu dữ liệu với PlayerPrefs
5 bài học55Dự á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ọc45Bộ điều khiển nhân vật
6 bài học65Hệ thống đầu vào mới
5 bài học45Dự án: trò chơi đi cảnh 3D
8 bài học85Thử thách cuối cùng
4 bài học45Phần 4
Kiến trúc trò chơi trong Unity
Bắt đầu phầnBắt đầuCá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ọc65Giao diện trong Unity
5 bài học55Sự kiện
6 bài học65Dữ liệu tuần tự hóa
5 bài học55ScriptableObjects
7 bài học75Lưu dữ liệu bằng JSON
5 bài học55Máy trạng thái
7 bài học75Code có thể tái sử dụng
4 bài học45Tái sử dụng đối tượng bằng pool
4 bài học35Dự án: Đấu trường sinh tồn
11 bài học114Thử 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.
Trò chơi Unity: đường đua trên trời
MớiTạo trò chơi chạy bất tận 3D trong Unity bằng C#, mỗi bài học bổ sung một tính năng: ba làn đường, nhảy và trượt, con đường kéo dài bất tận, chướng ngại vật, xu, nam châm và lá chắn, tốc độ tăng dần cùng điểm cao nhất. Trò chơi chạy ngay trong trình duyệt khi bạn viết code.
- 21
- 21
- 1
- 20
Game Unity: thủ thành
MớiTạo game thủ thành 3D trong Unity bằng C#, mỗi bài học thêm một tính năng: kẻ địch đi theo đường và tấn công theo từng đợt, tháp để bạn đặt, ngắm bắn và khai hỏa, tiền, nâng cấp, sát thương lan và hiệu ứng làm chậm, cùng một căn cứ cần bảo vệ.
Chứng nhận khi hoàn thành
- 25
- 25
- 1
- 15
Trò chơi Unity: phá gạch
MớiTạo trò chơi phá gạch 3D bằng Unity và C#, mỗi bài học thêm một tính năng: thanh đỡ và quả bóng nảy, bức tường gạch, mạng và màn chơi, cùng các vật phẩm tăng sức mạnh giúp thanh đỡ dài hơn hoặc tách đôi quả bóng.
Chứng nhận khi hoàn thành
- 19
- 19
- 1
- 15
Game Unity: rắn 3D
MớiTạo game rắn 3D bằng Unity và C#, mỗi bài học bổ sung một tính năng: rắn di chuyển trên lưới, điều khiển hướng, thức ăn, đuôi dài ra, tường và va vào thân mình, điểm số, tốc độ và điểm cao nhất.
Chứng nhận khi hoàn thành
- 14
- 14
- 1
- 14
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.
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!
January 2026
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
Gấp đôi hoặc mất hết
Ngày 5/7
Đó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!
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.
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.
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.
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
MonoBehaviourcủ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:
StartvàUpdate,transform,GetComponent,Rigidbodyvà collider,OnCollisionEntervà trigger,InstantiatevàDestroy, coroutine, UI với TextMeshPro,SceneManager,PlayerPrefs,CharacterControllervà 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?
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?
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?
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.