Unity 6.6 announced new recommended way to work with assets in runtime is ContentDIrectory
I have tested them and this is what i found Good and Bad about current design and how it actually works.
What is Good
- Very simple API to use. 100 times simpler than Addressables! Just Build → Register → Load → Unload that’s it.
- Uncompressed form is really just Directory with builded assets and manifest you can check any dependency graph and any other assumption after actual build not before the one
- Deduplication is built-in no need to do anything
- Incremental rebuilds rebuild only what changed. Fast iterations
- Easy to migrate from any good OnDemand Loading solution (not bloated one). For my Flexy.AssetRefs it is just one config change in project and everything work from ContentDirectories
- Easy to see what assets become part of build and size of each. Easy to analyze build size
- Out of The box Ready for Different AppStores delta patch updates like steam, PlayStore, AppStore etc
- With simple trick it is easy to deliver simple individual assets of dictionary on demand. replace asset with empty file with same name and deliver it when you are ready just replace it in directory and load again. It works with asset dependencies too.
- Sources for build is not Entire files on disk but individual Assets in them and every asset result in separate file in ContentDirectory. It is amazing

- Unloading asset Just Works without any hoops. Load prefab with material and heavy texture on it. After some time unload prefab and underlying material and texture will be unloaded too. Unlike Addressables and bundles that actually unload only if entire bundle will be unloaded! Amazing

- If some texture is not in DIrectory loading Prefab with reference to texture fail only fail on texture all other will be loaded as expected. An unloading prefab than replacing texture with correct one and loading again will load prefab with texture. Loading Just Works
I really like this new system 
What is Bad
- To deliver assets on demand we need to replace them with empty files. While it is easy to do, it is weird step that must not be there. System must init based on files in manifest. Not on actual files in directory.
- Asset file hold only partial info about asset not all of it. Some metadata live elsewhere and replacing texture with same one but imported with another srgb mode do nothing. New build see new texture version but old one see old one even after replacing. It is looks like a BUG
- You can replace asset inside Directory with another one but only if it have exactly same size in bytes for texture it is mean same dimensions and compression and may be everything but some pixel changes. This is very restrictive and fell as bad design that forbid small Patches and Game Mods Support in the first place. Size of asset and other actual metadata must be part of ContentFile not stored elsewhere. So we can tweak or replace asset of a game by just changing files with new ones. Think about HD Mod that replaces all textures with bigger and nicer ones.
Currently Unknown
- How to build few content archives from single ContentDirectory (need deep dive into addresables to see how they do it) and test how it works overall
- How to create new assets into new ContentDirectory that will replace old ones in build by loading second content directory. Say new Hat styles for Hallowing without chaging original Hats. Like build new hat prefab and make system to load it instead of old asset on GUID path. There is almost no information for this.
Do anyone know or tested something more or have another questions/usecases to ask/test about ConentDirectories?