So we’re async loading groups of assets to update our pawn loadouts but had been seeing that even though the load complete callback was firing sometime the weak ptr inside the TAssertPtr would be null. At first I thought this was a bug with the async loading incorrectly firing the callback but looking through the FStreamableManager code it actually says that failures are counted as completed loads as well, so the callback will still fire.
This seems to be only very occasional that it happens, and when it does happen it doesn’t seem to happen with the same asset after relaunching so it doesn’t seem like a problem with any asset itself. We are generally launching the game with the -game switch so the content is uncooked, it appears to be more likely to happen if the log entries for “Building textures” occur at the time (if it doesn’t have data cached).
Does anyone know what might cause this to occur and whether it is expected that this might happen in a shipping build as well? Going to test adding in a some retries and seeing if attempting to try loading again at runtime works around the issue.