We are jemast software, a small indie software development studio. We have submitted an editor extension to the Asset Store that aims at drastically reducing the platform switch time:
Fast Platform Switch
Fast Platform Switch aims at reducing the time taken switching platform by caching all data that has already been imported and does not need to be reimported. In an ideal scenario where your platforms are cached and you haven’t changed anything, you can see an improvement of up to 15x faster platform switching time. And that’s including the time it took to move the cache around.
Bullet Points:
→ Up to 15x faster platform switch!
→ Automatic caching of all platforms
→ Works with all platforms (mobile, desktop, web…) and texture compression (ETC, DXT, …)
→ No-nonsense one button interface
→ Compression option to save space
→ Expertimental support for hard links
→ API to integrate in your custom pipeline
→ Did we mention it is fast?
Requirements:
Works with Unity Standard (Free) and Pro
Unity 4.0+
Works on Windows and OS X
OS X 10.6+ / Windows Vista+
Price: $25
Available on the Asset Store: Get it here Available on our FastSpring Store: Get it here
Fast Platform Switch does not modify or interfere with the asset import pipeline. Therefore, it doesn’t have any effect on the time it takes to import new or modified assets. What it does is that it caches assets that have already been imported so you don’t have to reimport them if you haven’t modified them. Concretely, that means that the first time you switch to a new platform, you won’t see any benefit. Only subsequent switches will use cache.
While we’ve made sure that this tool receives a high level of polish in terms of UI and functionality, we welcome your feedback to make it even more refined. We’ll want to make sure that the first thing you’ll do when you start a new project is import Fast Platform Switch.
We’d like to give an update on this asset. We’ve ran into some road bumps with Unity validation (related to licensing) but we’re confident this will be accepted this week on the Asset Store.
In the meantime, we’ve also added a short video to demonstrate how easy it is to use Fast Platform Switch in your projects and how immediate and huge the gains are.
Be sure to let us know how it goes! We’ve done a lot of testing and using it in our projects with great results but we’re eager to get feedback on how to make this a breeze to use.
We’re bumping this because we’ve detected and fixed several critical issues in the current version and have submitted v1.1 to the Asset Store. If you have bought this asset or plan on buying it, contact us ASAP so we can send you the update. Current version can trigger issues with asset importers and will not force you to use .meta files although those are required to prevent import settings reset upon switch.
When using this asset, remember to backup your project first and make sure everything is OK after several platform switches. We’ve done a lot of testing but this also requires external feedback to detect cases we’re not testing yet. Rest assured that keeping project integrity is our number 1 priority.
Hi, I’m interested in this and currently copy my project folder to another location when backing up. Is there any potential issues I might run in to using Fast Platform Switch? Would I need to back up the cache?
We haven’t received any contact regarding issues since v1.1 and we have no pending bugfixes so we’re quite confident about the reliability of current version.
We do have a rare issue in v1.2 where sometimes the switch won’t start at all and the plugin window will be stuck in “Waiting for platform refresh…” preventing you from further switches. Though we have an “unstuck UI” button in the settings to allow switching again (it just deletes a bunch of lock files in the cache). We’re trying to track it down but it’s very rare and has absolutely no other effect than locking the Fast Platform Switch window until you manually unlock it from the Settings. Another small issue is the Mercurial ignore file auto-configure option which is incorrect but since you’re not using version control you’re not concerned.
The plugin will require you to use “external version control” (.meta files) as this is required to make sure asset importers are properly persisted and reimported after switch (it will check for meta files before switching and allow it only if they are enabled). Other than that, it makes absolutely no change to your project or your files (by the way it doesn’t automatically enable meta files, it asks and you can refuse but then the plugin does nothing…).
Finally, we recommend you do not backup cache as this will only waste your disk space. It only caches files that can be regenerated by Unity (imported versions of your textures, sounds, models, …). The cache is stored at the root level of your project under the LocalCache directory. Though we really recommend backing up because we can’t guarantee we haven’t missed an edge case that would cause issues, so better be safe than sorry. Also, we don’t have access to Unity 4.3 beta so consider this unsupported at the moment (we’ve been made aware of new options that can cause issues if enabled).
If you’re conflicted about this asset and want make sure it will fit your needs and won’t be a waste of your money, we can send you a test version (full version, no limitations) and you decide for yourself if it’s worth buying or not. If you’re interested, send me an e-mail at: jeremie {dot} diprizio {at} jemast {dot} com
You don’t actually need to use any version control mechanism. It just needs to be enabled in Unity: by default we’ll enable .meta files which generate a .meta file for each of your asset in the Assets directory (though you won’t see them in Unity). Those files are storing the asset import settings (e.g. texture compression, resolution, …) as this is critical to ensure proper asset import after switch.
We don’t do a lot of promo bumps but we’re having a really cool update coming through with experimental support for hard links. If you’re unfamiliar with what hard links are, it means that instead of moving the cache around, we just change some folder references which should provide a nice speed boost especially on Hard Disk drives, but it is also a cool update for Solid State drives as it puts less pressure on writes (and therefore helps longevity).
We’ve got a lot of positive feedback from our users and we’re really thrilled that this asset does the job in a simple and convenient way. Feel free to let us know if you’d like to see new features or changes to make the tool even better. And do not hesitate to contact us if you are getting issues!
I have a custom build script that’s used to build several android apks - each with different texture support (via AndroidBuildSubtarget.DXT, AndroidBuildSubtarget.PVRTC etc.). This forces texture reimport. In my case it’s a couple of hours (the whole build takes a day :-/).
I was wondering - does your plugin support caching android build subtargets ?
Indeed the plugin does support texture subtargets for all platforms that have them (Android and BlackBerry). In fact, this is the very reason we started working on this plugin. Building all Android packages for each target was painfully slow and we thought there had to be some way to cache all that data!
If you’re unsure about the plugin and want to give it a go before you buy, contact me at jeremie [dot] diprizio [at] jemast [dot] com and I’ll send you a test version to give it a spin and see if it helps on your end. On our end it’s giving tremendous results and we’ve got plenty of users telling us it has really helped so we’re very happy about it!
As mentionned in the docs and here, please do backup your project before using. Though the plugin does not modify your assets and we have no report of anything failing due to the plugin, we’d rather be safe than sorry and make sure your projects are securely backed up! On our end we use version control (Git or Mercurial) which gives an additional layer of monitoring and backup.
Yes it does work with Unity 4.6 beta. I’m also closely monitoring progress on Unity 5.0 and will provide early support as soon as this week-end (it probably works OK already except for new/removed platforms such as WebGL that I’d have to look into). Needless to say it will have day one full support once Unity 5.0 is out.
Let me know if you’re unsure and want to give it a try with a fully featured version? Send me an e-mail at jeremie [dot] diprizio [at] jemast [dot] com.