Search Unity

Turbo Switch PRO - Fast and save platform switches

Discussion in 'Assets and Asset Store' started by Stefan-Laubenberger, Oct 5, 2016.

  1. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Hi

    Thank you for your interest in "TPS"!

    We'd like to support it, but Unity is holding us back... :(
    TPS needs the "BuildTarget"-enum to switch a platform, but "Facebook" still isn't available:

    https://docs.unity3d.com/ScriptReference/BuildTarget.html

    As soon as Unity adds it, we will be able to implement it as separate build target.


    So long,
    Stefan
     
  2. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    501
    Hi Stefan, are you using Symbolic Links to reference the correct cache or copying folders around?
    Thanks
     
  3. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Hi

    We decided to use copies of the files to prevent problems ;)


    Cheers
    Stefan
     
  4. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    501
    Ok, well i now have hot caches and it's indeed very fast. Working great so far, thanks!
     
    Stefan-Laubenberger likes this.
  5. grimmy

    grimmy

    Joined:
    Feb 2, 2009
    Posts:
    409
    I just bought this..switches platforms great but then when I now try to build to Android I get the error: Failed To re-package resources. I never had this error before I installed TPS. Can you help? The editor log file doesn't seem to say much but I have attached here anyway. Maybe you can spot something..?
     

    Attached Files:

  6. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Hi

    I've sent you an email.


    So long,
    Stefan
     
  7. grimmy

    grimmy

    Joined:
    Feb 2, 2009
    Posts:
    409
    Thanks! I got it working in the end. It was nothing to do with your plugin. I had forgotten that I (unconsciously maybe) changed my game title in the editor from 'Mr Bomb And Friends' to 'Mr Bomb & Friends' and in turn that messed up all the xmls that referenced that name because the & symbol was un-escaped. Apologies for my premature accusation of a fault in your plugin ;)
     
  8. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    No problem, I'm happy it's working now!

    So long,
    Stefan
     
  9. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    501
    Hi Stefan

    I just updated to Unity 2017.1.0f3 and the Windows Store Platform is missing in the TPF "Active Platforms" selection. It does also ask me to run the API updater.

    Thanks
     
    Last edited: Jul 21, 2017
  10. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    I found the problem, some compiler directives weren't ready for Unity 2017...
    This is now fixed, you can send me an email with your invoice and I give you the fixed version.


    So long,
    Stefan
     
  11. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    501
    I've been working with it for a while now - can definitely recommend it, no issues and finally a speedy platform switch!
     
    Stefan-Laubenberger likes this.
  12. w_adams

    w_adams

    Joined:
    Apr 7, 2016
    Posts:
    34
    Hi Stefan,

    I'm wondering if it's possible to use this effectively if we're not actually switching platforms? My team works with a lot of large .FBX files which take a long time to reimport every time someone opens up the project with a new .FBX file in it. We don't switch platforms, but would really like it if we could pass the initial import cache around. Is this possible?

    Thanks!

    Will
     
  13. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Hi Will

    Unfortunately, I don't think our tool would be helpful for your use-case.
    We can't change the way Unity handles the import of FBX and other files... But our tool prevents those files from re-importing after a platform switch.


    Cheers
    Stefan
     
  14. ilmario

    ilmario

    Joined:
    Feb 16, 2015
    Posts:
    71
    Hi Stefan, I'd also really like to have Facebook platform working with TPS. I looked in the docs, and noticed that Facebook is still not showing in that BuildTarget-enum for latest Unity versions (Unity 2107.2).

    However, I also noticed that Facebook has been added to BuildTargetGroup enums since Unity 5.6:
    https://docs.unity3d.com/2017.1/Documentation/ScriptReference/BuildTargetGroup.Facebook.html

    Looking at those lists it would seem that BuildTarget is intended to stay as is, and BuildTargetGroup will contain Facebook (and some others, missing from the other enum). Does this piece of info help you add Faceboook-support :)?

    EDIT: I'm not sure if this is related to Facebook platform and TPS, but switching to Windows platform gives me this error (same issue posted by someone else, without response). Maybe its related to TPS.
     
    Last edited: Sep 25, 2017
  15. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Hi

    TPS needs the "-buildTarget" command line switch from Unity or it can't work:
    https://docs.unity3d.com/Manual/CommandLineArguments.html

    Unfortunately, this is the result under Unity 2017.1.1:

    upload_2017-9-26_0-31-3.png

    This means, no "Facebook" build target is defined and TPS can't switch...
    We have to wait until the gods of Unity add Facebook as a "normal" build target.

    About the other error: no this isn't related to TPS, it's a well know Unity bug since they added Facebook...


    So long,
    Stefan
     
    Last edited: Sep 26, 2017
  16. ilmario

    ilmario

    Joined:
    Feb 16, 2015
    Posts:
    71
    Thank you for the clarification Stefan.
     
  17. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    You're welcome!

    As I said, we will add every platform as soon as it's available as "-buildTarget"-switch. So let's hope Unity adds soon the required "Facebook"-target...
     
  18. Astiolo

    Astiolo

    Joined:
    Dec 18, 2014
    Posts:
    27
    Hi, I've been using this asset for a while and it's been great. But I've started using Unity Collaborate and TPS seems to store the current Collaborate state in the cache, so if I update the Collaborate version then switch platform, it will think it's back at the old version (even though it isn't). I can update again to get that platform up to date, or I can just switch back to the other platform and it's back to being current, so there are workarounds but it's definitely not ideal.

    Is this something you are working on fixing?
     
  19. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Hello

    I did some test with "Unity Collaborate" but I couldn't find a problem...
    Please try this:
    1. delete the complete cache
    2. disable "Copy Settings":
    TPS-settings.png

    Also important: always publish before switching the platform.

    I hope this solves the problem, please let me know.



    So long,
    Stefan
     
  20. Astiolo

    Astiolo

    Joined:
    Dec 18, 2014
    Posts:
    27
    Thanks Stefan. I haven't checked yet because I'm on a bit of a tight deadline and my project takes hours to switch to Android or iOS when there isn't any cache. I'll also be on holiday soon, but I'll post again when I manage to get around to it.
     
  21. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Yeah, please let me know if it solved the problem.

    Have a nice holiday!


    Cheers
    Stefan
     
  22. Astiolo

    Astiolo

    Joined:
    Dec 18, 2014
    Posts:
    27
    I'm still having this problem. I decided to create a new project to test and it still occurs. Here are the steps I've taken:
    -Create a new project, import TPS and disable copy settings
    -Enable collaborate and make first commit
    -Use TPS to switch platform
    -Create a new script, and make a second commit
    -Use TPS to switch back to the original platform and then collaborate thinks it needs to update.

    It's also an issue if I commit on PC switch to Android (to create cache) and back again, then do another commit and when switching back to Android it will think it's out of date.
     
  23. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Ok, I found the problem and I'm testing the fix right now.

    If you could send me your invoice via PM or email, I would be able to give you the new version ;)
     
  24. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    We've just released version 1.7.0 to the store. Main changes:
    • Fully compatible with Unity Collaborate!
    • Compile define symbol "CT_TPS" added
    • Editor scripts better organized
    • id file added
    • Updated for Unity 2017.3

    Have a nice weekend!


    Cheers
    Stefan
     
  25. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    The new version is at the store!
     
  26. Astiolo

    Astiolo

    Joined:
    Dec 18, 2014
    Posts:
    27
    Thanks Stefan, that's done the job.
     
  27. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    I'm happy it's working now, thank you for pushing TPS further! ;)

    If you like our product/support and have some spare time left, please rate us at the store. Or even better, write a review - it's very much appreciated.

    Have a nice day!


    Cheers
    Stefan
     
  28. Astiolo

    Astiolo

    Joined:
    Dec 18, 2014
    Posts:
    27
    I've already given a review, it's been so useful I felt I had to.

    I do have a question about the possibility of having different asset import settings across platforms. I need to disable mipmapping on mobile for many textures, as our app is memory limited. But, on PC we need them enabled.

    I was hoping I could change the settings without reimporting so that it would only do the reimport on next startup. Then use TPS to switch, so it wouldn't actually need to reimport after the first time. But, after experimenting it looks like the reimport needs to be triggered before the settings are saved. Alternatively I thought the import settings may be able to be included in the TPS cache, but I wouldn't know where to start on that.

    Do you know how I would be able to achieve this? Maybe you could look at adding it as a feature at some point.
     
  29. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Thank you for the review! :)

    The settings for the textures are saved inside the meta-files. We decided at the the beginning, that our tool should ignore the "Assets" folder. This is mainly because we wanted to prevent any problems with TPS... Modifing the "Assets" folder is much more dangerous than the other files. If we screwed up, your game could be broken.

    However, I feel your pain and I think we will try to add an experimental feature, which could solve all those meta-file related settings.
    But it will take some time, so please don't expect it too soon.
     
  30. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    We worked hard and have an EXPERIMENTAL version ready for you!
    Please send me your invoice via email and I give you the new version in return ;)
     
  31. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    We've just released version 1.7.1.
    Changes:
    • Asset path can now be dynamic
    • Copy 'Assets' folder (meta files, EXPERIMENTAL and hidden for now)
    • WSA added to the default platforms
    • Support for pre Unity 5.3 dropped in the standard version
     
  32. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    The new version is at the store!
     
  33. alexandre-fiset

    alexandre-fiset

    Joined:
    Mar 19, 2012
    Posts:
    715
    Hi Stefan,
    1. Does TPS support sharing the cache between different computers? I mean if person A switch to Mac, then person B switch to mac and link it's cache folder on a NAS, would that work?
    2. What happen if I switch platform, then get some data/changes from version control, then revert to the first platform?
    I'm testing these out but my project is big so it could take a day or two before knowing...

    Cheers!
     
  34. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Hi Alexandre

    Thank you for your interest in TPS!

    1. Yes, this would work, but isn't recommended for different users. More than one person sharing the same cache has a negative influence on the cache performance. It's also not recommended to use it simultaneously - this could lead to inconsistencies in the cache.
    2. The lead is always the "Assets" folder and TPS doesn't touch this folder. So it would simply accept the revert.
    It's important to know that your project is always safe with our tool! The worst that could happen is that you have to delete the "Library" folder if something really went wrong.

    I hope this gets you further!


    Cheers
    stefan
     
  35. alexandre-fiset

    alexandre-fiset

    Joined:
    Mar 19, 2012
    Posts:
    715
    Great! Thanks for the response. Regarding this:
    I will try it out and will return with the results, but if the performance implication is just to diff the files (or something like that), I'm pretty confident I'll still save dozens of hours. Crunching textures per platform on our project takes 30 hours in average from scratch. Since we have different size per texture on each platform, switching platform often takes 12-20 hours. Plus, rebuilding the shader cache on build can take ~2 hours. I'm not too sure I wouldn't recommend reusing pre-built cache :p
     
  36. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Oki;)
    We have a hidden setting (experimental) to support various texture settings per platform.
    If you need it, we can test it together.

    So long,
    Stefan
     
  37. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    We've just released version 1.7.2 to the store.
    Main changes:
    • Asset moved to "Plugins"
    • AtlasCache included
    • UpdateCheck improved
    • NYCheck added
    • Code cleanup


    Have a nice Christmas!


    Cheers
    Stefan
     
    Last edited: Dec 22, 2017
  38. Muckel

    Muckel

    Joined:
    Mar 26, 2009
    Posts:
    471
    Hello,
    did u test the tool on Mac OS X ?
    i had some issues with Unity 2017 ....
    caching & switching did not work @ all ...
    any thoughts ?
    thx
    M.
     
  39. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Hi Muckel

    Sure, we did test it for Windows, macOS and Linux editors.
    Some questions:
    1. How big is your project?
    2. Did you wait some minutes before manually restarting?
    3. Which TPS version are you using?
    4. What's the macOS version?
    5. The exact Unity version?

    So long,
    Stefan
     
  40. Muckel

    Muckel

    Joined:
    Mar 26, 2009
    Posts:
    471
    1. 6 GB
    2. 5 min
    3. latest
    4. Sierra
    5. Unity version 2017.3.0p1

    Unity is crashing if i switch to another platform... still... without all works fine... no crash

    M.
     
  41. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Please send me your invoice and I can give you the latest version.

    Cheers
    Stefan
     
  42. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    The new version is at the store!
     
  43. benzsuankularb

    benzsuankularb

    Joined:
    Apr 10, 2013
    Posts:
    132
    Work very well for me.

    Now I'm working with CI server.
    How can I switch platform via CLI.

    So workaround here, I'm trying use Helper.SwitchPlatform but there're some issues for my case
    1. How to not let TPS automatically reopen Unity
    2. How to track TPS process finished after TPS shutdown Unity
    So I can manually open using my next CLI command.
     
    Last edited: Jan 2, 2018
  44. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Hi

    Two questions:
    1. Which is your development OS?
    2. Are you using the PRO version?
     
  45. benzsuankularb

    benzsuankularb

    Joined:
    Apr 10, 2013
    Posts:
    132
    Thankyou. very fast response. :eek:

    macOS,
    Yes, the PRO version.
     
  46. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Ok, thx!
    To prevent a Unity restart, disable the lines 1760 - 1819 in "Helper.cs".
    At the same place, you can add your own CLI-parameters (since it's finished there).

    But be aware: if you switch to an uncached platform, it won't really work since Unity must import it first...
     
  47. benzsuankularb

    benzsuankularb

    Joined:
    Apr 10, 2013
    Posts:
    132
    Ok I’ll try it.

    I requested for TPS CLI tools as a new feature here:).
    Will be perfect if we can just override the Unity’s -buildTarget arg.
     
  48. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    I'm happy to improve TPS, but I'm not sure what you are trying to achive...
    Can you please explain it in more detail?
     
  49. benzsuankularb

    benzsuankularb

    Joined:
    Apr 10, 2013
    Posts:
    132
    I'm currently using CLI as the main tool. (for CI)
    So it'll be nice if we can do like:
    >Unity -quit -batchmode -buildTarget ios -executeMethod Builder.Build
    Then TPS take care of validate and switch platform itself seamlessly.
     
  50. Stefan-Laubenberger

    Stefan-Laubenberger

    Joined:
    May 25, 2014
    Posts:
    1,980
    Ok, your request is already implemented ;)

    Please send me an email with your invoice.


    So long,
    Stefan