Quantum 3 đồng bộ input: mọi client nhận cùng input và tự chạy cùng một deterministic simulation.
Fusion 2 đồng bộ state: peer có authority tạo state chính thức rồi gửi state đó cho các peer khác.
Nếu ưu tiên
Nghiêng về
Kết quả giống nhau theo từng frame, nhiều entity, replay tự nhiên
Quantum 3
Workflow Unity quen thuộc, Unity Physics, plugin, nhiều topology
Fusion 2
Không muốn vận hành Unity gameplay server
Quantum 3 tiêu chuẩn
Full server authority và dữ liệu bí mật không tới client
Fusion 2 Dedicated
Co-op nhỏ, social hoặc prototype nhanh
Fusion 2 Host/Shared
Không có SDK thắng tuyệt đối. Lựa chọn đúng phụ thuộc vào thứ game cần đồng bộ: input hay state.
1. Khác biệt gốc: đồng bộ cái gì?
Quantum 3: mọi máy cùng giải một bài toán
Mọi client có cùng luật, trạng thái ban đầu và input theo từng tick. Vì simulation là deterministic, họ tự tính ra cùng kết quả:
Initial State + Input 1 + Input 2 + ... = Same Result
Photon thu thập, sắp thứ tự và phân phối input. Mỗi client chạy toàn bộ gameplay bằng ECS, fixed point và deterministic physics. Khi input thật khác dự đoán, Quantum rollback rồi mô phỏng lại.
Một client tự sửa vị trí local không thể trực tiếp ép các client khác nhận vị trí đó. Họ vẫn tự tính state từ input và luật game.
Fusion 2: một peer công bố state chính thức
Trong Fusion, một peer có State Authority ghi state của network object. Các peer còn lại nhận snapshot và hiển thị hoặc dự đoán state đó.
Client Input -> Authority Simulation -> State Snapshot -> Clients
Authority có thể nằm ở Unity Dedicated Server, máy Host hoặc được phân tán giữa player trong Shared Mode.
Fusion vẫn có prediction, rollback/resimulation và interpolation. Điểm khác là nguồn sự thật cuối cùng vẫn là state do authority công bố.
Một ví dụ ngắn
Giả sử player nhấn nút đi sang phải:
Quantum 3
Fusion 2
Input Right được gửi tới mọi client
Input Right được gửi tới authority
Mọi client tự tính vị trí mới
Authority tính vị trí mới
Các máy phải cho cùng kết quả
Authority gửi vị trí/state cho client
Sai khác là lỗi desync
Client sai sẽ được state chính thức sửa lại
2. Bảng so sánh toàn cảnh
Tiêu chí
Quantum 3
Fusion 2
Mô hình chính
Deterministic input sync
State synchronization
Kiến trúc code
Entity, Component, System
GameObject, Component, NetworkBehaviour
Số học simulation
Fixed point
Thường dùng kiểu số và Unity API quen thuộc
Physics
Deterministic Physics 2D/3D của Quantum
Tích hợp Unity Physics 2D/3D
Authority
Mọi client chạy cùng simulation
Dedicated, Host hoặc Shared authority
Gameplay server mặc định
Không cần Unity gameplay server
Chỉ cần riêng khi chọn Dedicated
Dữ liệu truyền chính
Input nhỏ theo tick
State, delta, RPC và input
Tăng số entity
Tăng CPU simulation trên mọi client
Tăng state replication và CPU authority
Replay
Rất tự nhiên từ input + initial state
Cần thiết kế ghi state/input phù hợp
Hidden information
Khó hơn vì perfect information
Dedicated Server có thể không gửi dữ liệu bí mật
Dùng plugin Unity
Chỉ View; simulation phải deterministic
Dễ tích hợp hơn nếu plugin hỗ trợ runtime/server
Độ quen thuộc với Unity dev
Learning curve cao hơn
Gần workflow Unity truyền thống hơn
Chống sửa state local
Mạnh theo thiết kế input sync
Phụ thuộc topology; Dedicated mạnh nhất
Đừng đọc bảng theo kiểu “có hoặc không”. Cả hai SDK đều giải được nhiều thể loại game, nhưng độ khó, chi phí và rủi ro kỹ thuật sẽ khác nhau.
NetworkRunner: quản lý session, tick, input và replication.
NetworkObject: identity của object trên network.
[Networked]: state được Fusion snapshot và đồng bộ.
State Authority: peer được phép quyết định state.
Input Authority: player gắn với object để gửi input và prediction.
FixedUpdateNetwork(): nơi chạy gameplay theo network tick.
RPC: thông điệp tại một thời điểm, không thay thế persistent state.
Bạn có thể tiếp tục dùng scene, prefab, Animator, Rigidbody và nhiều Unity package quen thuộc. Tuy nhiên, gameplay quan trọng vẫn phải tuân thủ authority model.
Khi dùng Quantum 3
Bạn tách project thành hai thế giới:
SIMULATION VIEW
Entity + Component + System GameObject + MonoBehaviour
Frame + FP + deterministic API Camera + VFX + Audio + UI
Nguồn sự thật gameplay Biểu diễn state lên màn hình
Các key cần nhớ:
Frame: toàn bộ state của simulation tại một tick.
Entity/Component/System: cấu trúc gameplay ECS.
.qtn: khai báo component, input và dữ liệu để code generation.
FP, FPVector2, FPVector3: kiểu fixed point dùng trong simulation.
Predicted Frame: frame có thể còn dùng input dự đoán.
Verified Frame: frame đã được xác nhận bằng input chính thức.
Event: báo cho View hiển thị hiệu ứng, không phải nơi giữ gameplay state.
Simulation không nên gọi tùy ý UnityEngine, dùng float runtime hoặc dựa vào kết quả không deterministic. Camera rung, particle và âm thanh ở View; damage, movement và luật thắng thua ở Simulation.
Với Fusion, bạn học network authority. Với Quantum, bạn học thêm một gameplay architecture mới.
4. Rollback của hai SDK không giống nhau
Quantum 3
Fusion 2
Dự đoán input remote khi input thật chưa tới
Client dự đoán trước state của mình
Input thật khác dự đoán thì quay lại frame cũ
Snapshot authority khác state local thì reconcile
Chạy lại deterministic world
Chạy lại phần predicted simulation
Verified Frame là mốc input đã xác nhận
State của authority là kết quả chính thức
Hai bên đều dùng rollback để che latency. Cách nhớ ngắn nhất:
Quantum rollback world từ input. Fusion reconcile state quanh authority.
5. Physics, AI và hiệu năng
Chủ đề
Quantum 3
Fusion 2
Physics
Physics 2D/3D deterministic riêng
Tích hợp Unity Physics
AI
Thường chạy trên mọi client
Thường chạy trên authority
Network
Chủ yếu là input nhỏ
State delta, input và RPC
Nhiều entity
Tăng CPU trên mọi client
Tăng CPU authority và replication
Tối ưu traffic
Ít phụ thuộc số transform đổi
Delta compression và Area of Interest
Giá của rollback
Frame history và resimulation
Predicted state và resimulation
Quantum hợp khi nhiều entity cùng tuân theo một simulation gọn. Fusion thuận lợi khi cần Rigidbody, plugin Unity hoặc muốn dồn AI nặng lên server.
Không có bên nào luôn nhẹ hơn. Quantum có thể nặng trên mobile vì mọi client chạy cả world; Fusion Dedicated có thể nặng ở server và băng thông. Hãy profile vertical slice trên thiết bị và topology thật.
6. Anti-cheat: chỗ dễ hiểu nhầm nhất
Quantum không mặc định là server-authoritative simulation
Trong cấu hình Photon Cloud tiêu chuẩn, server điều phối input nhưng không nhất thiết chạy gameplay simulation.
Sửa HP hoặc position local không đổi state của người khác.
Luật deterministic vẫn chặn kết quả mà simulation không cho phép.
Bot, input automation và dữ liệu client gửi vẫn cần được bảo vệ.
Rank, reward và economy nên được xác nhận bằng webhook, replay/resimulation hoặc custom server simulation tùy mức rủi ro.
Điểm đánh đổi lớn là perfect information: mỗi client thường có dữ liệu cần để mô phỏng world, trừ input tương lai của đối thủ.
Fusion phụ thuộc topology
Topology
Mức tin cậy điển hình
Dedicated Server
Server giữ state và validate gameplay, mạnh nhất
Host Mode
Host có thể sửa game hoặc nhìn dữ liệu
Shared Mode
Authority nằm ở client, phù hợp game ít cạnh tranh hơn
Fusion Dedicated còn có lợi thế lớn với hidden information: server chỉ gửi state mà client được phép biết. Điều này quan trọng với:
Bài chưa lật.
Fog of war thật sự bí mật.
Logic chống gian lận không muốn đưa xuống client.
Quantum bảo vệ tốt trước việc một client tự sửa state rồi phát tán nó. Fusion Dedicated mạnh hơn khi bạn cần một server tự chạy luật và giữ bí mật khỏi client.
7. Hosting và chi phí
Lựa chọn
Hosting gameplay
Đổi lại
Quantum tiêu chuẩn
Photon điều phối input, không cần Unity server mỗi match
Mọi client mô phỏng, perfect information
Quantum custom server
Hạ tầng simulation riêng
Trust cao hơn, tốn vận hành
Shared
Không có server simulation riêng
Trust phân tán
Host
Một player làm server
Rẻ, nhưng host có lợi thế
Dedicated
Fleet Unity headless riêng
Full control, tốn vận hành
Quantum tiêu chuẩn vẫn có phí Photon và backend game. Fusion Dedicated cần orchestrator để cấp máy, port, region, health check và shutdown process; Photon Cloud không tự host Unity server build thay bạn.
8. Chọn theo thể loại game
Game
Lựa chọn thường hợp hơn
Vì sao
RTS nhiều unit
Quantum 3
Deterministic AI/pathfinding, input nhỏ, replay tự nhiên
Fighting, sports, arena
Quantum 3
Va chạm frame-sensitive, rollback là nền tảng
FPS ranked
Fusion 2 Dedicated
Server validate hit/damage, lag compensation, hidden state
Co-op bốn người
Fusion 2 Host/Shared
Workflow nhanh, không nhất thiết cần server fleet
Card game có bài bí mật
Fusion 2 Dedicated
Server giữ lá bài chưa được phép lộ
Các ví dụ trên là xu hướng, không phải luật cứng. Prototype một vertical slice và đo trước khi khóa kiến trúc.
9. Checklist quyết định
### Chọn Quantum 3 khi phần lớn câu trả lời là “có”
Game cần deterministic result theo từng frame?
Có nhiều entity cùng chạy một bộ luật?
Muốn tránh vận hành Unity gameplay server?
Team chấp nhận ECS, fixed point và tách Simulation/View?
Dữ liệu gameplay chủ yếu có thể xuất hiện trên client?
Chọn Fusion 2 khi phần lớn câu trả lời là “có”
Team muốn giữ workflow GameObject quen thuộc?
Game phụ thuộc Unity Physics hoặc Unity plugin?
Cần Dedicated, Host và Shared cho các chế độ khác nhau?
Server phải giữ dữ liệu hoặc logic bí mật?
Cần full server authority cho rank/economy?
Câu hỏi chốt
Nếu mọi client có cùng input, game của bạn có thể và nên
tự tạo ra cùng một kết quả tuyệt đối không?
Có: hãy nghiên cứu Quantum nghiêm túc.
Không hoặc không muốn bị ràng buộc như vậy: Fusion thường tự nhiên hơn.
10. Chuyển từ Fusion sang Quantum không phải đổi package
Đây thường là một lần viết lại kiến trúc gameplay:
Fusion 2
Quantum 3
NetworkObject
Entity
NetworkBehaviour
System
[Networked] property
Component data trong Frame
float, Vector3
FP, FPVector3 trong Simulation
Unity Physics
Quantum deterministic physics
Authority peer chạy gameplay
Mọi client chạy cùng simulation
RPC/state event
Input, command, signal và event theo đúng vai trò
Prefab, animation, VFX và UI có thể tái sử dụng ở View. Movement, combat, physics, AI và game rules thường phải thiết kế lại, nên hãy chọn simulation model sớm.
Kết luận
Chọn Quantum 3 khi game hợp với deterministic simulation và input sync. Chọn Fusion 2 khi cần state sync, workflow Unity quen thuộc hoặc authority linh hoạt; dùng Fusion Dedicated khi server phải làm trọng tài và giữ bí mật khỏi client.
Mô hình ghi nhớ cuối cùng:
Quantum 3 = Cùng input -> Cùng simulation -> Cùng kết quả
Fusion 2 = Gửi input -> Authority xử lý -> Đồng bộ state