TAssetBundle
All copyrights for TAssetBundle are owned by tigu77.
TAssetBundle is a powerful, integrated asset bundle management system.
Good Points
- Very Easy to Use!
- Very Powerful!
- Very Simple!
- Customizable!
Key Advantages of TAssetBundle
Flexible Asset Bundle Composition
With TAssetBundleManifest
, you can organize asset bundles according to your desired structure while maintaining the project folder hierarchy, and modify them at any time.
Asset Bundle Dependency Management
TAssetBundle automatically manages dependencies between asset bundles, eliminating the need for developers to handle dependencies or names manually.
Build Cache
Unchanged assets are automatically excluded from the build process, significantly reducing build times and maximizing efficiency.
Path-Based Asset Loading
The system operates based on asset paths rather than asset bundles or names, providing greater convenience and flexibility.
Two Play Modes in the Editor
Supports two play modes: running asset bundles directly or executing individual assets, optimizing development efficiency.
Asset Reference Functionality
Assets can be linked using drag-and-drop in the inspector, with links preserved even after asset movement, enhancing workflow efficiency.
Support for Split Downloads
Asset bundles can be split by assets, tags, or scenes, allowing efficient downloads of only the necessary assets.
Asset Bundle Configuration Strategy
Offers various strategies for automatically configuring asset bundles.
Asset Reference Tracker
Monitors active assets and asset bundles during editor runtime, facilitating debugging and optimization processes.
- New: Added sorting and regex search functionality for improved asset tracking.
Asset Unloading and Memory Management
AssetManager
provides powerful asset unloading features, such as unloading assets that haven't been used for a specified period and cleaning up unused prefab pools, ensuring optimal memory usage and performance.
Asset Usage Tracker
Using AssetManager
, it tracks in real-time which objects are utilizing specific assets. Key features include:
- Viewing objects currently using assets during play mode.
- Sorting and regex filtering for easy search of specific asset usage.
- Enhanced workflow for debugging and optimization.
Asset Bundle Dependency Checker
Preemptively checks dependency relationships between asset bundles, preventing potential dependency issues.
Security Features
Provides options to encrypt asset bundles and catalogs, enhancing security by protecting assets.
Built-In Web Server for Remote Download Testing
Allows the download of asset bundles from remote locations during editor play using an internal web server, enabling immediate testing in the local environment.
Cross-Platform Support
TAssetBundle functions across all major platforms, including Windows, Mac, iOS, Android, and WebGL, ensuring compatibility in various environments.
Full Source Code Inclusion
Includes the full source code, allowing for modifications or extensions as needed.
Content Update Flow
Configure Asset Bundles
- Manually
- Automatically with Composition Strategies
Build Asset Bundles
Upload to Remote Storage
Complete!
Change Logs
4.0.0
- Changed
TAssetBundle.AssetManager
toTAssetBundle.TAssetBundles
for a clearer API. - Added an extended
AssetManager
with easy asset loading, unloading, prefab pooling, and object usage tracking usingTAssetBundle
. - Added
Asset Usage Tracker
to the editor, allowing users to view, sort, and search objects currently using specific assets during play mode with regex. - Added a new
PrefabPoolManager
for efficient pooling of frequently used prefabs.. - Made asset bundles containing video assets uncompressed.
- Added sorting and regex search features to the
Asset Reference Tracker
. - Various bug fixes, refactoring, and optimization.
3.11.1
- Fixed null reference error in list field when generating TAssetBundleManifest in Unity versions after 2022.
3.11.0
- When building AssetBundles, an option has been added to output built-in AssetBundles to a separate folder. The option is named "Builtin Asset Bundles Use Separate Folder"
- Built-in AssetBundles that are compressed with LZMA (smaller size) now undergo recompression to LZ4 the first time they are accessed for use.
- Fixed to not use Unity's default AssetBundle provider since native caching is not available on the WebGL platform. Instead, a specific managed AssetBundle provider is used. This fixes a bug in previous versions where the download size was unknown when using Unity's default AssetBundle provider.
3.10.0
- Added an option to automatically abort web requests when download latency exceeds a specified time. (This feature is intended to resolve situations where there is no response for up to 2 minutes when switching to Wi-Fi.)
- Fixed an issue where apps would throw an exception saying there was no catalog when not using TAssetBundle.
3.9.2
- Fixed a bug where references would be lost when using AssetRef inside an asset that has already been AssetBundled when playing in AssetBundle mode in the editor.
3.9.1
Fixed so that if an exception occurs during AssetBundle building, the exception is also passed to the parent. (this is mainly an issue where the next command is executed even if an exception occurs when building with a script)
Improved way of catching duplicate assets in TAssetBundleManifest.
3.9.0
- Added Asset Dependency Finder (Right click on the asset in the project window [TAssetBundle] Run Dependency Finder)
3.8.1
- Fixed bug where assets were not excluded from the build cache if only their properties were changed
3.8.0
- Build number has been added to settings. When loading a catalog, it has been modified to use the catalog with the higher build number between the local catalog and the remote catalog.
3.7.3
- Fixed bug where local AssetBundle could not be found on Android
3.7.2
- Fixed initialization in AssetManager to support Unity EnterPlayMode.
3.7.1
- Fixed bug where disk space check was incorrect in SpecificAssetBundleProvider
3.7.0
- The scene path to be saved in the catalog has been modified to be saved as is rather than converted to lowercase letters.
- Changed the remote url to one for more efficient networking and simplicity.
- Cleaned up source code and added help menu
3.6.1
- Fixed a bug where an error occurred during build if an embedded asset bundle exists when using 'Append Hash From File Name' in the build options in Settings.
- Fixed a bug where an error occurred in the log when reading a remotely updated AssetBundle as if it were an AssetBundle included in the build.
3.6.0
- WebGL platform supports all Unity versions and bug fixes
- Limitations related to the WebGL platform: When using UnityRemoteAssetBundleProvider in versions after 2022, the cache information of remotely received asset bundles cannot be obtained. We recommend disabling the Use UnityRemoteAssetBundleProvider option.
3.5.0
- Added tag rename function to tag editor
- Added context menu to tag editor
- Added a function to check the manifest using the tag in the tag editor
3.4.0
- Added ignore assets to allow specific assets to be ignored in the manifest
- Efficient modifications to the method for finding embeddable assets
3.3.0
- Fixed a bug where the AssetBundle could not be released when the AssetBundle scene loaded with Additive was unloaded
- Fixed a bug where dependent AssetBundles would not be rebuilt if they were not cached
- Support scene loading from scene path
- Support for loading progress of assets and scenes
- Added scene activation callback after scene loading
3.2.1
- Fixed bug with AssetRef not updating in editor
3.2.0
- Added Manual
- Added Api Documentation
- Added api comment
- Added TAssetBundle, TAssetBundle.Editor asmdef
- Class scope refactoring
3.1.0
- Added Runtime Asset Reference Tracker
- Added AssetBundle Dependency Checker
3.0.0
- Added TAssetBundle Browser
- Added AssetReference
- Added Web Server Test
- Newly developed simple tag system
- Added downloads as Assets and AssetReference
- Optimize asset bundle loading
- Build cache bug fixed
- TAssetBundleManifest bug fixed
- WebGL support
2.0.0
- added catalog compress and encryption
- added asset bundle encryption
- added inherit based tag system
- check download size based on tags, download based on tags
- optimize and refactoring
- minor bug fixes