+5

Hướng dẫn sử dụng Addressable Asset System kết hợp github

Chào các bạn!

Đến hẹn lại có bài, nay mình sẽ hướng dẫn các bạn sử dụng 1 thứ rất thú vị trong Unity, cái này cũng khá là mới, hi vọng có thể mang lại giải pháp tốt nhất hay ít nhất là dễ dùng nhất tới các bạn 😄

Như tiêu đề mình cũng có đề cập, hôm nay mình sẽ hướng dẫn các bạn sử dụng Addressable Asset System.

Vậy Addressable Asset System là gì?

Các bạn có thể tìm hiểu giúp mình tại đây nhé, vì mình trình bày ra đây thì sẽ dài dòng và ko đúng trọng tâm của bài viết!

Ok, vào việc thôi!

Bước 1: Install package Addressables.

  • Các bạn mở Window -> Package Manager

  • Tiếp theo các bạn search từ khóa "Addressables"
  • Sau đó các bạn chọn nó và ấn Install.

Bước 2: Create Group Addressables.

  • Các bạn chọn Window -> Asset Management -> Addressables -> Group

  • Các bạn ấn vào nút "Create Addressables Settings"

  • Chúng ta sẽ sẽ có giao diện quản lý Addressable Groups như sau:

Bước 3: Add Addressable To Object.

  • Các bạn chọn vào 1 prefab đã tạo từ trước sau đó tích vào ô Addressable trong phần Inspector:

  • Đồng thời các bạn đặt tên (có thể kèm đường dẫn tùy ý) cho nó như hình trên mình để tạm là ABC, bạn có thể đặt là Prefabs/LogoSunNews

Bước 4: Setting Addressable.

  • Các bạn ấn vào group mình sử dụng, có thể dùng luôn cái default của nó, hoặc đổi tên nó đi, hoặc tạo mới 1 group khác để làm việc, ở đây mình đổi tên nó thành RemoteGroup.
  • Tiếp theo các bạn set cho Build Path thành "RemoteBuildPath", Load Path thành "RemoteLoadPath".

  • Các bạn ấn vào System Settings ở góc phía trên, ấn vào Manager Profiles sau đó tạo ra 1 profile với biến RemoteLoadPath chính là địa chỉ host các bạn lưu asset của mình sau này game load/update về.

  • Quay lại System Settings các bạn đổi Profile In Use qua "Development", check vào Build Remote Catalog (bắt buộc check để có thể update được sau này), ở phía dưới cũng chọn Path của cả 2 phần là remote.

Bước 5: Build Asset And Load.

  • Ở cửa sổ Addressables Group các bạn ấn vào Build -> New Build -> Default Build Script.

  • Đợi nó build xong các bạn vào thư mục theo đường dẫn "Project\ServerData\StandaloneWindows" (StandaloneWindows là target build của các bạn, nó có thể là android, ios...) copy tất cả các file up lên store chính là địa chỉ bạn thêm vào ở trong Profiles phía trên.

  • Các bạn tạo 1 gameobject empty trên scene, rồi add 1 script đặt tên là "AssetManager" (tên gì tùy bạn thôi mình thích thì mình đặt vậy thôi 😄 ) sau đó thêm đoạn script sau:

using UnityEngine;
using UnityEngine.AddressableAssets;

public class AssetManager : MonoBehaviour
{

    public AssetReference logoSunNews;
    // Start is called before the first frame update
    void Start()
    {
        DisplayLogoSunNews();
    }

    private void DisplayLogoSunNews()
    {
        logoSunNews.InstantiateAsync(Vector3.zero, Quaternion.identity);
    }
}
  • Quay lại Inspector chọn vào asset mà các bạn vừa đặt tên lúc trước.

  • Build thử project ra và chạy coi có lỗi gì ko!

  • LƯU Ý: Mình từng gặp 1 lỗi báo "Unknown error in AsyncOperation" thật ra gặp mấy lỗi khác nhau nó vẫn báo thế này rồi, thì các bạn cứ thử quay lại cái gameobject trên scene kia, chọn lại asset là none, rồi chọn lại asset của các bạn coi còn lỗi ko nhé!

  • Chuẩn ngon lành là sau khi build và run thì nó sẽ load cái prefabs của các bạn lên 1 cách vô cùng là ngon lành ^_^

Bước 6: Update Asset.

  • Các bạn muốn update asset sau này của mình, kiểu thêm level, cập nhật UI... thì thực hiện bước này,
  • Các bạn sau khi đã cập nhật mọi thứ xong rồi thì mở lại cửa sổ Addressable Group, chọn Build, chọn Update a Previous Build, chọn tới đường dẫn sau "Project\Assets\AddressableAssetsData\Windows" (Windows là target các bạn muốn build) rồi chọn file bin trong đó để ghi đè.

  • Tiếp theo các bạn copy những file mới build ra trong thư mục cũ là "Project\ServerData\StandaloneWindows" (StandaloneWindows là target build của các bạn, nó có thể là android, ios...) và lại đẩy lên host như trước.

  • Như vậy là xong, vào game là sẽ thấy nó tự động update mà ko cần build lại apk, download lại apk hay bla bla gì cả.

  • LƯU Ý: Nếu có bạn nào cũng thử update asset lên github như mình (chơi đồ free vì nghèo) thì cần đợi khoảng 4-5p sau khi upload game mới tải về asset mới được nhé, vì vậy nếu vào game mà vẫn thấy asset cũ thì đừng hoảng nhé! khả năng do github cache để ko bị truy cập quá nhiều! hoặc lý do gì mình cũng ko biết chỉ biết trải nghiệm nó vậy thôi =)))

Chúc các bạn thành công nhé, nghiên cứu ra cái này mình cũng thấy hay, áp dụng được khá nhiều cho những dự án sắp tới của mình ^_^


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí