Hướng dẫn tạo custom package trong Unity

Khi làm việc với Unity một thời gian thì các bạn có thể làm việc nhanh hơn bằng cách tái sử dụng lại những source code, những asset đã tạo ở những dự án trước đó. Một số cách mọi người vẫn hay dùng như là copy thủ công, hoặc tạo đóng gói chúng thành những file .unitypackage, và một cách tối ưu hơn đó là sử dụng custom package. Hôm nay mình sẽ giới thiệu đến các bạn custom package là gì, cách tạo và sử dụng nó như thế nào.

1. Custom package là gì?

Custom package là một bộ tài nguyên được đóng gói, nó thể bao gồm các thành phần như script, prefab, vật liệu, hình ảnh, shader và các tài nguyên khác. Một số lợi ích của việc sử dụng custom package là:

– Tái sử dụng dễ dàng, tiết kiệm thời gian thực hiện dự án

– Đảm bảo sự đồng nhất giữa các dự án có dung chung tài nguyên.

– Có quản lý theo phiên bản để kiểm soát sự thay đổi, dễ dàng cập nhật khi có sự thay đổi.

– Tổ chức dự án thành các module độc lập, giúp quản lý tài nguyên hiệu quả hơn

– Giảm rủi ro lỗi do sử dụng phiên bản khác nhau của cùng một tài nguyên.

2. Cách tạo custom package

2.1 Khởi tạo folder

– Tạo 1 thư mục mới trong folder “Packages”

2.2 Khai báo thông tin của package

Trong thư mục vừa tạo, tạo 1 file package.json để khai báo những thông tin cần thiết.

Ví dụ:

{
  "name": "com.packages.sample",
  "version": "1.2.3",
  "displayName": "Package Sample",
  "description": "This is an example package",
  "unity": "2019.1",
  "unityRelease": "0b5",
  "documentationUrl": "https://example.com/",
  "changelogUrl": "https://example.com/changelog.html",
  "licensesUrl": "https://example.com/licensing.html",
  "dependencies": {
	  
 },
 "keywords": [
    "keyword1",
    "keyword2",
    "keyword3"
  ],
  "author": {
    "name": "OTA",
    "email": "info@onetech.vn",
    "url": "https://www.unity3d.com"
  }
}

Chi tiết các bạn có thể tham khảo tại đây

https://docs.unity3d.com/Manual/upm-manifestPkg.html
2.3 Kiểm tra thông tin trong PackageManager

– Chọn Menu Window -> Package Manager. Nếu config thành công thì package của bạn sẽ hiển thị trong danh sách package.

2.4 Cấu trúc của folder package

Một package chuẩn sẽ cấu trúc theo format sau

Trong đó lưu ý các script đặt đúng với folder tương ứng

– RunTime: Bao gồm những source code hoạt động lúc runtime

– Editor: Bao gồm những script chỉ sử dụng trên editor

– Test: Bao gồm script liên quan đến chức năng kiểm thử

2.5 Định nghĩa Assembly

– Để những source code trong dự án hiểu được những source code trong package thì cần phải định nghĩa assembly cho các folder liên quan tới source code. Thông thường sẽ tạo chung các assembly cho mỗi folder Runtime, Editor, TestRuntime, TestEditor.

– Để tạo Assembly, click chuột phải vào folder muốn tạo chọn Create -> Assembly Define

Cụ thể cách điều chỉnh assembly các bạn có thể tham khảo ở đây https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.html

3. Cách sử dụng custom package

Sau khi đã tạo được package theo mục số 2, để sử dụng package này cho các dự án khác thì có 1 số cách sau:

3.1 Copy package trực tiếp vào dự án

– Copy folder package của bạn vào folder “Packages” của dự án (cùng cấp với folder Assets)

3.2 Thêm package từ ổ cứng trong Package Manager

– Đặt folder package của bạn vào bất kì chỗ nào trong máy,

– Từ cửa số Package Manager, chọn + -> Add package from disk

– Chọn file package.json trong folder package của bạn

3.3 Thêm package từ file .tgz, tar.gz

– Nén folder package của bạn thành file .tgz hoặc tar.gz

– Từ của sổ Package Manager, chọn + -> Add package from tarball

– Chọn file .tgz/tar.gz

3.4 Thêm package từ source git

– Upload source code lên server quản lý source (ví dụ github, gitlab…)

– Từ cửa sổ Package Manager, chọn + -> Add package from git URL

– Nhập repo URL và bấm Add

3.5 Thêm package bằng tên

– Để thêm package bằng tên, bạn phải đăng ký package của bạn trên OpenUPM. Bạn có thể tham khảo ở đây để tìm hiểu về cách đăng ký. https://unity-ui-extensions.github.io/UPMInstallation.html

– Sau khi được duyệt thì từ cửa số PackageManager, bạn chọn + -> Add package from name để thêm package vào dự án.

Nếu có vấn đề gì cần thảo luận các bạn có thể liên hệ với mình để được giải đáp.

Cảm ơn các bạn.

無料相談・お問い合わせ
ご相談やお見積もりは全て 無料 で対応いたします。

    「個人情報保護方針」をお読みいただき同意いただける場合は「送信」ボタンを押して下さい。
    入力していただいたメールアドレス宛に自動返信メールを送信していますので、お手数ですがそちらをご確認ください。
    無料相談・お問い合わせ
    ご相談やお見積もりは全て 無料 で対応いたします。

      「個人情報保護方針」をお読みいただき同意いただける場合は「送信」ボタンを押して下さい。
      入力していただいたメールアドレス宛に自動返信メールを送信していますので、お手数ですがそちらをご確認ください。
      無料相談
      お問い合わせ