Tapas Joshi

Back-end Developer

Software Architect

Programmer

Researcher

Tapas Joshi
Tapas Joshi
Tapas Joshi
Tapas Joshi

Back-end Developer

Software Architect

Programmer

Researcher

Unity Assetbundle Automation

  • Created By: Tapas Joshi
  • Date: 10/05/2022
  • Company: ABXR Studio
  • Categories: Project

An AssetBundle is a file package containing platform-specific non-code Assets (such as Models, Textures, Prefabs, Audio samples, and even complete Scenes) that Unity may load at runtime. AssetBundles can be useful for downloadable content (DLC) by decreasing initial install size, loading assets optimized for the end-platform, user’s and decreasing runtime memory burden. However, in order to create Assetbundles, we need to manually generate them in the Unity Editor as there is no automated way to do that. Therefore, in order to automatically generate the assetbundles from a 3D object file (FBX, OBJ), we upload the 3D asset to the website, and the website stores that asset to the AWS S3 storage bucket. From there, we trigger the Lambda function that creates a JSON with S3 bucket URL and some other metadata for that asset and it publishes that message to the SNS topic. Three FIFO SQS queues (iOS, Android, WebGL) have been subscribed to that SNS topic and therfore, these three queues get this message. These three queues are connected to relevant Unity Editor EC2 instances where the target is configured to either iOS, WebGL, or Android. Therefore, we use long polling to constantly check for new messages in the queue and as soon as the message arrives, we grab it and generate assetbundles via downloading the 3D Asset from the S3 bucket. Then, we publish the assetbundle to the relevant S3 bucket and therefore successfully completing the automation.   

So striking at of to welcomed resolved. Northward by described up household therefore attention. Excellence decisively nay man yet impression for contrasted remarkably.