Hi @lone prairie. After setup ENABLE_CONTENT_DELIVERY scripting symbol, building android player runtime still contain entire ContentArchives that is just similar huge build size without ENABLE_CONTENT_DELIVERY scripting symbol. It seems like missing proper build workflow for build mobile platform like addressables that won't put remote content into final player runtime.
#[1.0.11] Android build still contain entire ContentArchives for content delivery
1 messages · Page 1 of 1 (latest)
this is define to enable content delivery. It's not doing anything on it's own afaik
Hi @eager kestrel. Could u point me which line and which code file that copy entire ContentArchives into player runtime build? I'm digging into code for quite long time but still can't find it. I want to strip that out for content delivery if not there's no point to enable content delivery.
if you don't want to include subscene to build, just don't add normal scene it exists on in build
I dun think I can workaround that with my current setup and requirement. And also why I need to purposely do that to workaround. At addressables, it's already working by default that the item u set to remote won't go into final player runtime build.
content manage is not mature enough for such sugar. YOu have to build it explicitly
I know getting addressable editor tooling window is still long time to go but at least when I enable content delivery by adding ENABLE_CONTENT_DELIVERY it should not build all the content into final player runtime build.
it will build all subscenes you included in build settings
if you don't want to build them - just remove them from it
by included I mean: subscene that is part of normal scene
I can hardly imagine how that cannot be done
You will need to process your built player data in order to prepare it for remote delivery. https://docs.unity3d.com/Packages/com.unity.entities@1.0/api/Unity.Entities.Content.RemoteContentCatalogBuildUtility.PublishContent.html this method is the scripting API entry point for that but there is a context menu option as well (right click in the assets window, Publish->Existing Build). The default publish behavior is to copy the data into a folder called RemoteContent inside of your project folder and everything goes into the "all" content set. It also does not delete any content from the player build so you would need to do that yourself or just use the scripting API and pass the options that you want.
The define only turns on the code to support content delivery. You need to run your build through the publish process to prepare for content delivery.
Also note that only data that is in the StreamingAssets folder is publishable - anything built into player data is not. This includes GameObject scenes that are in the build settings scenes list, but not subscenes referenced by them
From what I see how the code currently work is no matter what it will build content and then goes into final player runtime build. Ideally is to make it not even to build content for local since there's publish content menu for remote. So actually which exact line of code to strip that out? I still can't find the code to move content into final player runtime build after done building content.
did you remove all scenes that contain your subscenes from here?
Will Subscene that add into GameObject scene publishable? If not the trick to skip local content build into player runtime build suggested by @crimson wharf won't work
the only way to include subscene into build - add SubScene monobehaviour into normal scene and inclue that scene into build
otherwise, subscene won't ever reach a build
Ya. I can reduce build size signficantly after do that. Btw have u get content delivery working at your side?