CcdManagement API Observations (SetTimeout & Progress)


I'm using the CcdManagement API to deliver custom content packages (not Addressables) in a project and just wanted to raise two points that I've encountered along the way.

1) SetTimeout appears to timeout regardless of whether a call is waiting\idling or working.

Take for example GetContentAsync.

I set the timeout to 30 seconds (as I don't want the player to wait too long if it's going to fail) but the connection is slow and the content is going to take a minute to download.

In this scenario GetContentAsync will fail after 30 seconds, even if it's still downloading. The only solution is to increase the timeout to a higher number (say 5 minutes) but this is going to frustrate players.

Most timeouts I've implemented (or used) reset the internal timeout clock when data is received\processed, therefore making them far more connectivity friendly.

Hopefully that makes sense?

2) GetContentAsync (or other upload\download calls) do not appear to support a progress callback or event. This means all we can do is present a generic (something is happening) indicator to players, rather than something that's more meaningful.

Is this something Unity is considering and if not, please could they?

Is anyone from Unity able to comment on this please?

I had a thought on the timeout issue. If you'd rather not change the existing approach, why not allow for a second parameter (enum) on SetTimeout that determines the style of timeout.

One called (for example) Overall that works as it currently does and another called Idle that will work as described above.

Just an idea anyway.

Hey David,

I've brought this post forward to our developers. Currently reviewing and will respond as soon as I have more information.

As always thanks for your feedback and help in improving our products.

1 Like