CRITICAL SYSTEMS:
Resources
- Simplest but heaviest loading system
- Everything in Resources folder gets packed into build
- Good for: Core assets needed throughout the game
- Bad for: Optional content, large files, DLCs
Asset Bundles
- Package related assets together
- Load/unload entire groups of content
- Good for: Level-specific content, DLCs, reducing initial load time
- Bad for: Frequently accessed assets, small files
Addressables (Modern System)
- Smart asset loading with dependency management
- Automatically handles asset lifecycle
- Good for: Large games, live services, dynamic content
- Bad for: Simple games (overhead not worth it)
Editor Asset Database
- Project-wide asset tracking system
- Handles asset creation, movement, deletion
- Good for: Build-time asset processing, editor tools
- Bad for: Runtime operations (Editor-only system)
Loading Patterns:
- Preload: Load before scene (menus, core systems)
- Lazy Load: Load when needed (level content)
- Stream: Load during gameplay (open world content)
- Unload: Release when not needed (completed levels)
Memory Impact:
Resources - Always in memory
AssetBundles - Manual memory management
Addressables - Automatic memory management