How can i ensure .assetbudle compatibility?

I need to find a way to make my asset bind;es for mobile both forward and backward compatible.

I have published an app for iOS and Android. In this app, users are able to access a catalogue of server-based asset bundles and then download them. I built the app and the asset bundles using Unity 4.3.4. I would like to upgrade my project to Unity 4.5. I would then like to continue distributing assetbundles to the server. However, I understand that asset bundles are not backwards compatible.

If I update the app, and update all the assetbudles, I still can’t guarantee that all users of the app will have the latest, updated version.

Is there any way around this?

Should I be distributing this content a different way?

It really depends on your architecture, but if asset bundles (and usually they do) make the most sense, you just need a mechanism in your app to differentiate asset versions so that older apps can’t load them while newer apps can, which will force your users to update their app to get newer assets. I would not touch the older asset bundles, those should still work in the latest version of Unity and should be left alone on the server (I can’t guarantee this, but I would be shocked if the older asset bundles are not loadable in newer apps, while it makes sense that newer asset bundles may not work in older apps [i.e. not backward compatible]). Another mechanism you might introduce is to send notifications (either push or in-app) that will inform the user of new assets available, but when they go to click on it, they are taken to an update page at that device’s store.