It will be very complicated to make it use LoadAsync. However, it might be possible to preload the textures - you'd need to know the textures that need to be loaded per sprite collection platform / per scene. You can work that out in an editor script and save it in some global list somewhere - Dictionary(sceneName + platformName, List(TextureGUIDStrings)); Easiest way I can think of to work this out is to write an editor script to load each level in your game, find all sprites, build a set of sprite collection datas, and for each collection, catalog the spriteCollectionPlatformGUIDs. You can then preload all of these before loading the level itself, maybe using a custom version of tk2dSystem.LoadResourceByGUIDImpl that uses LoadResourceAsync. Remember though, if you use PNG atlases you're pretty much out of luck, the png loading function isn't async.