5 tips for speeding up your XR dev workflows with Unity CLI
Dilmer Valecillos - Meta
Developer Advocate
Trang web này đã được dịch bằng máy để thuận tiện cho bạn. Chúng tôi không thể đảm bảo tính chính xác hoặc độ tin cậy của nội dung được dịch. Nếu bạn có thắc mắc về tính chính xác của nội dung được dịch, vui lòng tham khảo phiên bản tiếng Anh chính thức của trang web.
Sau khi Unity CLI được ra mắt, chúng tôi đã nhận thấy rất nhiều sự hưởng ứng và các trường hợp sử dụng thú vị. Chúng tôi cũng đã tạo một video hướng dẫn giới thiệu để giúp bạn bắt đầu.
Trong bài viết trước , chúng tôi đã giới thiệu Stacey Haffner, cựu Chuyên viên Hỗ trợ Phát triển cấp cao tại Microsoft và nhà sáng tạo game độc lập, người đã chia sẻ những đề xuất hàng đầu về quy trình làm việc với GitHub Copilot.
Trong bài viết hôm nay, chúng tôi đã có cuộc trò chuyện với Dilmer Valecillos , Chuyên viên Hỗ trợ Phát triển tại Meta, Người sáng lập Learn XR và là người tạo ra kênh YouTube nổi tiếng chuyên về XR và phát triển game. Chúng tôi đã hỏi anh ấy: Bạn có thể chia sẻ năm cách chính để tích hợp Unity CLI vào các công cụ yêu thích và quy trình làm việc XR của mình?
Hãy cùng tìm hiểu những lời khuyên của Dilmer:
Mẹo 1: Tận dụng giao diện dòng lệnh (CLI) và gói pipeline mới Unity thông qua MCP.
"Là một người tiên phong trong việc áp dụng công nghệ, tôi liên tục tìm kiếm các cách để tối ưu hóa quy trình làm việc XR của mình, và tôi đã sử dụng máy chủ Unity MCP kể từ khi nó được phát hành." Tuy nhiên, tôi khuyên bạn nên bỏ qua MCP và sử dụng Unity CLI và gói pipeline mới. Giao diện dòng lệnh (CLI) tích hợp máy chủ MCP riêng, sử dụng cùng một giao thức. Điều đó có nghĩa là ứng dụng khách MCP của bạn có thể kết nối dễ dàng, giống như hiện tại. Giao diện dòng lệnh (CLI) mới này và MCP của nó cũng mang lại cho bạn một số lợi thế. Điều quan trọng nhất đối với tôi là nó cung cấp thời gian lặp lại nhanh hơn đáng kể bằng cách tận dụng trình biên dịch Roslyn để đánh giá mã. Nó loại bỏ nhu cầu biên dịch lại Editor và tải lại miền, đồng thời mở rộng hỗ trợ cho các môi trường thời gian chạy mục tiêu bên cạnh Editor. Quá trình cài đặt khá đơn giản, và gần đây tôi đã đăng tải một video hướng dẫn từng bước chi tiết, bạn có thể xem tại đây . Điểm mạnh của quy trình làm việc dựa trên tác nhân chính là sự kết hợp với gói Pipeline, cho phép bạn giao tiếp với Trình chỉnh sửa.
Cài đặt CLI + gói Pipeline
Chúng tôi sẽ không đi sâu vào tất cả các chi tiết về cách cài đặt, nhưng bạn có thể tìm thấy chúng ở đây:
https://docs.unity.com/en-us/unity-cli
Mẹo 2: Hãy làm quen với các lệnh cơ bản.
“Bạn có thể tiết kiệm thời gian bằng cách làm quen với một số lệnh CLI cơ bản.” Bạn không cần phải nhớ hết tất cả, nhưng nắm vững một vài điều cơ bản sẽ giúp tiết kiệm thời gian vì bạn có thể bỏ qua giao diện người dùng. Dưới đây là một vài lệnh cơ bản mà tôi thường xuyên sử dụng.”
Tôi xin bắt đầu bằng:
lệnh unity --changelog
“Vì giao diện dòng lệnh (CLI) được cập nhật thường xuyên, việc theo dõi nhật ký thay đổi rất hữu ích.” Bản tóm tắt này nêu rõ những thay đổi gần đây, giúp người dùng dễ dàng nắm bắt các tính năng mới hiện có khi giao diện dòng lệnh (CLI) được phát triển. Là người luôn muốn tận dụng những tính năng mới nhất, đó là điều tôi luôn chú ý đến.
unity command eval "return UnityEditor.EditorApplication.isPlaying;"
Lệnh eval có lẽ là lệnh mạnh mẽ nhất mà bạn có thể tìm thấy. Khi gói Unity Pipeline đang chạy bên trong Editor của bạn, CLI có thể biên dịch và chạy các đoạn mã C# trực tiếp trên luồng chính thông qua Roslyn. Vì không cần biên dịch lại ở cấp độ dự án và không cần tải lại tên miền, nên quá trình thực thi diễn ra trong vài mili giây thay vì bắt bạn phải chờ đợi. Bạn có thể sử dụng chức năng này để chạy các tập lệnh thiết lập tự động, truy vấn trạng thái trình chỉnh sửa, hoặc thậm chí thực thi các tệp kịch bản C# từ ổ đĩa của bạn bằng lệnh unity `eval_file "path/to/script.cs"`.
unity install 6000.5.0f1 -m android android-sdk-ndk-tools --cm --accept-eula --yes
Một mẹo đơn giản khác là bạn có thể sử dụng các lệnh tham số cụ thể. Lấy lệnh cài đặt làm ví dụ: vì tôi thích sử dụng phiên bản Unity mới nhất, nên tôi thường cần cài đặt nó. Ví dụ, với lệnh cài đặt, bạn có thể xếp các lệnh vào hàng đợi như trong ví dụ trên.

Tài liệu tham khảo giao diện dòng lệnh (CLI) Unity
Bạn có thể tìm thấy hướng dẫn tham khảo đầy đủ tại đây:
https://docs.unity.com/en-us/unity-cli/unity-cli-reference
Mẹo 3: Hãy thử các mô hình LLM khác nhau.
“Mặc dù việc chỉ sử dụng một công cụ duy nhất có thể phù hợp với nhiều nhà phát triển, nhưng tôi lại thích thử nghiệm với nhiều lựa chọn khác nhau.” Đối với chúng tôi tại Meta, điều quan trọng là tích hợp trực tiếp các công cụ mà bạn ưa thích vào các trình soạn thảo chính như Cursor, Claude Code và Muse Code. Vì Unity CLI hỗ trợ nhiều máy khách, hãy đảm bảo liên kết nó với LLM mà bạn ưa thích. Hiện tại tôi đang sử dụng kết hợp giữa Claude Code và Codex, nhưng tôi thường xuyên thay đổi chúng. Một mẹo khác về quy trình làm việc là kết hợp các công cụ bằng cách sử dụng một công cụ quản lý ngôn ngữ lập trình (LLM) để soạn thảo và một công cụ khác để xem xét mã nguồn.”
Mẹo 4: Nhanh chóng hoàn thiện bản dựng Quest hoạt động với công cụ AI của Meta.
“Các trợ lý lập trình thông thường lại tự tin một cách đáng ngạc nhiên về VR, và đáng ngạc nhiên là họ thường xuyên mắc sai lầm.” Hãy hỏi họ về tính năng theo dõi tay hoặc cách giảm số lần rút bài và bạn thường sẽ nhận được câu trả lời đúng cho thiết bị di động nhưng lại sai cho Quest. Thực ra đó không phải lỗi của người mẫu. Nó không có tài liệu của chúng tôi và cũng không thể nhận diện tai nghe của bạn. Đó là khoảng trống mà tôi sử dụng Meta VR CLI để lấp đầy.”
Công cụ dòng lệnh Meta VR cung cấp cho trợ lý ảo của bạn cả hai điều đó, và nó đi kèm với máy chủ MCP riêng nên nó có thể tích hợp vào bất kỳ trình duyệt nào bạn đang sử dụng, cho dù đó là Codex, Cursor, Claude Code, Gemini hay VS Code:
metavr mcp install claude-code # hoặc con trỏ, vscode, dự án
“Một khi đã kết nối, câu trả lời sẽ thay đổi.” Hãy hỏi về quyền truy cập camera xuyên suốt và hệ thống sẽ lấy tài liệu hiện hành thay vì đoán mò dựa trên những gì nó đã học được cách đây một năm. Và vì nó có thể kết nối với thiết bị, nên nó ít khi dừng lại ở việc đưa ra gợi ý hơn. Nó cài đặt bản dựng, theo dõi logcat trong khi tôi tái hiện lỗi và chụp ảnh màn hình những gì tôi thực sự nhìn thấy trong tai nghe chứ không phải những gì chế độ xem trò chơi cho rằng tôi đang thấy. Tính năng cuối cùng đó đã giúp tôi tiết kiệm được nhiều lần bật tắt tai nghe hơn bất cứ thứ gì khác trong thiết lập của mình.”
Có hai yếu tố nữa cần được kết nối trước khi bạn viết bất kỳ dòng mã nào. Công cụ thiết lập dự án sẽ kiểm tra dự án của bạn so với các yêu cầu thực tế của Quest và sửa các lỗi cấu hình, nhờ đó bạn sẽ phát hiện ra ngay bây giờ thay vì phải đợi đến lúc biên dịch. Và Thư viện Tài sản Meta cung cấp 1,5 triệu tài sản 3D miễn phí bản quyền, với LOD đã được tạo sẵn, bên trong SDK, và đại lý của bạn có thể tìm kiếm trực tiếp thông qua Meta VR CLI, vì vậy bạn sẽ không bao giờ bị giới hạn bởi hình ảnh tạm thời chỉ để thử nghiệm một ý tưởng.
Mẹo 5: Hãy để các chuyên viên hỗ trợ bạn trong việc lập hồ sơ hiệu suất.
“Hiệu năng là phần trong quá trình phát triển VR mà chẳng ai cảnh báo bạn cả.” Bạn tạo ra một thứ gì đó trông rất tuyệt trong Trình chỉnh sửa, rồi khi chạy nó trên thiết bị của bạn thì lại thấy nó gặp trục trặc. Và quy trình để khắc phục vấn đề này luôn rất phức tạp: chụp lại dấu vết, tải nó vào Perfetto, sau đó cuộn chuột để tìm ra trong số hàng nghìn lát cắt đó, lát cắt nào đang gây ra hiện tượng giật khung hình. Tôi đã lãng phí cả buổi chiều vì chuyện đó.”
Đó chính là vòng luẩn quẩn mà các lệnh perf mới trong Meta VR CLI hướng đến để phá vỡ. Bạn có thể thu thập dữ liệu từ Quest được kết nối chỉ bằng cách mô tả những gì bạn muốn, chẳng hạn như “thu thập dữ liệu trong 15 giây với dữ liệu GPU”, và tác nhân sẽ chạy quá trình thu thập và đọc lại kết quả, giúp phát hiện các điểm tăng đột biến về thời gian khung hình và các điểm nghẽn CPU/GPU chỉ trong vài giây thay vì phải mất cả buổi chiều để cuộn chuột.
metavr perf capture --mode full --duration 15000 --app com.mycompany.myvrapp --output my_vr_trace
“Vấn đề không phải là trí tuệ nhân tạo tìm ra thứ mà bạn không thể tự mình tìm ra. Việc đọc dấu vết chính là thế mạnh của nó: xử lý lượng lớn dữ liệu phi cấu trúc và các mẫu mà nếu không, bạn sẽ phải tự tìm kiếm bằng tay. Nó giúp bạn tiết kiệm được những giờ đó để dành cho việc sửa chữa thực sự.”
Bên trong Unity, Quest Runtime Optimizer tiếp cận vấn đề tương tự từ một hướng khác. Phân tích điểm nghẽn sẽ phân tích dữ liệu thời gian chạy đã thu thập được, chỉ ra những lỗi đang xảy ra và đề xuất các giải pháp; phân tích "Điều gì sẽ xảy ra nếu" cho phép bạn so sánh từng GameObjects riêng lẻ để xem mỗi GameObject thực sự tốn bao nhiêu chi phí. Và nếu bạn muốn tự tay thực hiện, những công cụ bạn đã biết vẫn còn đó và vẫn rất hữu ích: OVRMetrics để hiển thị số liệu trong tai nghe, phiên bản RenderDoc được Meta Quest phát triển để gỡ lỗi khung hình, và những cải tiến của chúng tôi đối với Perfetto cùng với trình phân tích hiệu năng của Unity.
“Dù bằng cách nào đi nữa, mục tiêu vẫn như nhau: dành ít thời gian hơn để chứng minh vấn đề tồn tại, và dành nhiều thời gian hơn để giải quyết vấn đề đó.”
Nếu bạn quan tâm đến chủ đề tối ưu hóa hiệu suất, chúng tôi đặc biệt khuyên bạn nên đọc ebook của chúng tôi về chủ đề này. Bạn có thể tải ebook miễn phí tại đây .

Hãy theo dõi Dilmer
Nếu bạn thấy những lời khuyên này hữu ích và muốn tìm hiểu thêm, hãy kết nối với Dilmer trên X hoặc LinkedIn và đăng ký kênh YouTube của anh ấy. Để tìm hiểu thêm về CLI, hãy xem tài liệu chính thức của chúng tôi tại đây .