Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

PlayerSettings - set iOS on Windows!

Discussion in 'Wish List' started by fanjules, Jan 20, 2012.

  1. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    Yes, I realise we can't compile for iOS from Windows, but a lot of Windows-based Unity developers like myself have a good work flow on Windows and use Android too, the Mac side of things being little more than a 1-way operation to do a build.

    I don't want to be copying projects from the Mac back to Windows and vice versa. It's inefficient and unnecessary just to be able to set the PlayerSettings for iOS. The data structure for iOS must exist in the Windows version because the settings on the Mac are over written during the copy from Windows to Mac.
     
  2. Drakelasterz

    Drakelasterz

    Joined:
    Jan 20, 2012
    Posts:
    16
    Yes Unity should provide iOS support for Windows!
     
  3. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    Just to clarify, this isn't a request for iOS compiling on Windows (which is prohibited by Apple), but simply the ability to set your "player settings" iOS options on the Windows machine in Unity, which is then exported to Mac. Would be a nice useability and workflow enhancement.
     
  4. Drakelasterz

    Drakelasterz

    Joined:
    Jan 20, 2012
    Posts:
    16
    Sorry I still didn't get it :(
     
  5. Ro

    Ro

    Joined:
    Jan 9, 2010
    Posts:
    60
    No Xcode on Windows = no iOS compile on Windows.

    And its no good to petition Apple for a Windows version of Xcode as they will never release one.
     
  6. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    NO, NO, NO, NO.

    I'm NOT asking for iOS compile on Windows.

    Just setting of the iOS player options. How many times do I have to repeat this? :p

    In Unity, click Edit - Project Settings - Player.

    In Windows I have:

    * Win/Mac Desktop
    * Web Player
    * Flash Player
    * Presumably Android (when I add the license next week).

    In Mac I have the exact same but 1 extra one:

    * iOS

    Since I can't compile iOS on Windows, I copy across to Mac and do the compile there. But each time I do this any project settings I set for iOS are overwritten (suggesting that the data structure or file already exists for the iOS player settings). Now, I could copy my project back to Windows - but that doesn't always go well and Mac doesn't tend to understand Windows file timestamps which screws up backups. So it would be much easier if I could just set everything up for iOS on Windows beforehand, in the Edit - Project Settings - Player.

    My reasoning is that Unity have hidden the player settings tab for iOS on the Windows editor build since you can't compile to it, but the settings are there allright, you just can't set them. Obviously that's a bit of a pain in real terms for those that have dual Windows / Mac Unity installs.
     
  7. Doucettej

    Doucettej

    Joined:
    Jan 18, 2010
    Posts:
    85
    ok, I'm a windows guy but.. why don;t you just do the ios first then copy to windows.... or can't you do that?
     
  8. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I don't have this problem. I just copy the folder to mac, and run unity and go. Do you really need to test it on iOS so frequently considering you are testing it on Android? I guess you could look into unity's meta data.
     
  9. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    It's just a small useability request, am sure the Unity devs just need to do something as simple as setting the iOS panel visibility to true in their IDE :p

    NB: Yes I do most of my testing on Android since I got the license, and though preferable for mobile development (it takes half the time to compile/run) I still like to test across all export targets regularly as good practice.
     
  10. Bunny83

    Bunny83

    Joined:
    Oct 18, 2010
    Posts:
    3,922
    Just like to add that i miss the exact same feature. We develop on windows machines and mainly test on android devices. Most games should be published on iOS as well, so we just copy the project to our mac. There we have to assign all iOS splashscreens again since those setting is not available on windows. We like to "prepare" the project so we just have to copy it to our mac and press build run.
     
  11. PlanetTimmy

    PlanetTimmy

    Joined:
    Mar 13, 2010
    Posts:
    117
    I too would like this feature. We have a continuous integration system running that means that shortly after committing any changes on the project it'll get automatically built on the Mac and saved to the network. However, I do most of my development on my PC. It would be useful to be able to alter the iOS settings on the PC, rather than having to log in to the Mac to change them.
     
  12. jcarpay

    jcarpay

    Joined:
    Aug 15, 2008
    Posts:
    561
    +1
     
  13. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,240
    +1, I have the same type of development process/pain. I do everything on windows then simply rsync it over to mac to build to iOS and it is a real pain to keep populating the iOS specific settings.
     
  14. Jodon

    Jodon

    Joined:
    Sep 12, 2010
    Posts:
    434
    You can get around most of these inconveniences by using Editor Scripts to expose the missing functionality, copying the ProjectSettings folder back from MacOS once, or manually editing the .meta files (my least favourite option). I have a framework I will soon release on the asset store that has Editor Scripts for most of these things.

    However, I propose you actually allow platform switching, even if you don't allow project compiling. I would like this because most of my testing for iOS is done in the Editor. I would love the proper resolutions and more importantly, the PVRTC compression on Windows. That way I can minimize my MacOS usage and get by with my S***ty 3 year old Macbook used just for compiling.
     
  15. Harter

    Harter

    Joined:
    Feb 28, 2012
    Posts:
    119
  16. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
  17. pivotraze

    pivotraze

    Joined:
    Feb 4, 2012
    Posts:
    593
    Can't you compile for iOS on Windows with Unreal? I'm 99% sure you can (note, compile, not distribute)

    If so, it isn't exactly impossible for Unity to achieve the same.

    (P.S., I know the point of this thread is not iOS compiling. But I just wanted to clarify it isn't impossible to compile for iOS on Windows. Just with Unity it is.)
     
  18. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    It's fairly impossible considering that Unity's workflow is to export to an XCode project. This is important because you want to be able to use Objective-C plugins (or at least have that option open), which is not possible with Unreal, since that does not produce an XCode project.

    --Eric
     
  19. andyz

    andyz

    Joined:
    Jan 5, 2010
    Posts:
    2,251
    I understand your point - I work on multi-platform projects in Windows, only moving to Mac to build to iOS - but then you have to do iOS specific tweaks which are lost back in Windows.

    Ideal solution - use a good Mac. But I'd rather use Windows!
     
  20. CryNexus

    CryNexus

    Joined:
    Jan 5, 2013
    Posts:
    24
    This isn't really something you should ask Unity for. Cause it's Apple who have set the restriction on that anything that is out on App Store can only be published by a Mac...
     
  21. bigohnotation

    bigohnotation

    Joined:
    Dec 6, 2012
    Posts:
    2
    OP does not want to actually BUILD for iOS on Windows.

    But being able to set the platform to iOS would be extremely useful. I have a plugin in my project that throws errors unless the platform is set to iOS. But developing in MonoDevelop is as much fun as pulling my own teeth out with tweezers. But I can't use Visual Studio, because of my plugin.

    What we want is to be able to make Unity think we're developing for iOS, but just never actually launch the build process that requires XCode. Certainly checking the syntax of our C# code does not require iOS.

    Please Unity, let us do this or tell us why it is impossible.
     
  22. pivotraze

    pivotraze

    Joined:
    Feb 4, 2012
    Posts:
    593
    Ah, alright. I'm ignorant with how they compile each, just that UDK can compile to iOS on Windows (but not publish), but Unity cannot. I did not know the technical reasons for it. Thank you :)
     
  23. Noisecrime

    Noisecrime

    Joined:
    Apr 7, 2010
    Posts:
    2,051
    Hi,

    I'll add my vote to this.

    Just got a Mac and started developing iOS apps, but I much prefer developing in my Windows environment and was dismayed to discover that you can't access any iOS specific settings whilst in the Unity editor. Granted you can set up the iOS player settings for the project on a Mac then bring that project back over to Windows and it will retain the settings, but its not perfect. For one thing you still can't access the per-texture overrides for iOS in the inspector, which if you are creating the project on Windows would be very useful.

    .. and just to re-iterate, we are NOT asking to be able to build for iOS from Windows, just to have all iOS specific settings available to edit, just like you can for Web, standalones, Android.
     
    Last edited: Jan 12, 2013
  24. zipper

    zipper

    Joined:
    Jun 12, 2011
    Posts:
    89
    Adding my +1 vote to this.

    I want to do my main work on my powerful PC workstation double monitor setup, set all the iOS specific settings, AND change the build environment to iOS . THEN copy to the Mac Laptop to do the build. Currently it takes an ungodly amount of time to switch environments on the Mac Laptop, and then i am stuck using MonoDevelop, which i hate.

    I really don't understand why we can't develop (NOT BUILD) in iOS on a PC with Visual Studio and Resharper.

    Cooler would be sending the build over a local network from my PC to my Mac Laptop, allowing me to work on my PC Desktop exclusively, while still being able to create builds from a Mac Laptop.

    zipper
     
  25. unormal

    unormal

    Joined:
    Jan 10, 2012
    Posts:
    65
    Yes, please. Just let me export the xcode project to a Mac...
     
  26. Gnatty

    Gnatty

    Joined:
    May 17, 2012
    Posts:
    77
  27. Freezy

    Freezy

    Joined:
    Jul 15, 2012
    Posts:
    234
    +1

    current workaround is change
    Edit -> Project Settings -> Editor
    to Mode: meta files (these will then start to contain iOS data once Mac OSX unity touches it)
    and Asset serialization: force text

    Then synchronise with your favorite directory / text compare program / svn /git to update / sync the project between the platforms.
    It works well enough, you might even be able to run a project from the other computer and get your platform dependent changes on one machine that way, although for larger projects this would not work fast due to the loading and saving of lost of meta files in the cache folders that unity likes so much (ram disk anyone?).
     
  28. DougMcFarlane

    DougMcFarlane

    Joined:
    Apr 25, 2009
    Posts:
    197
    It would be cool if you could get Unity running on a PC to communicate with your Mac (also running Unity?) and work in unison (through your network?).

    You click build for iOS in the PC Unity IDE, which copies the files to the Mac and starts the build/compile.
    Or both IDEs share a common folder on your network.
    (Never compiled for iOS yet, so not sure of the actual process)
     
  29. Errorsatz

    Errorsatz

    Joined:
    Aug 8, 2012
    Posts:
    555
    Related to this, being able to switch the compilation mode (UNITY_ANDROID, UNITY_IPHONE, etc) without re-importing all the assets would be extremely useful.

    Right now, if I want to be sure some code compiles correctly, I might have to switch it to three different modes, waiting a fair amount of time to re-import assets with every switch.
     
  30. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,649
    Have you tried creating multiple build configurations with those symbols defined? On other (non-Unity) projects, when I've had this problem I've used build configs to cover each platform and then batch-building multiple configs to check that everything compiles everywhere.
     
  31. Freezy

    Freezy

    Joined:
    Jul 15, 2012
    Posts:
    234
    I believe this is what the asset server is for. But yeah, locally multiple build targets should just point to a seperate folder instead of the current cache folder. Also they should incorporate a ram drive approach for assets and then sync one or more larger files to improve network transfer of a project and performance (especially if you don't want to exclude unity folders in your virus scanner).

    The main issues are that using thousands of files in hundreds of folders is slow on a network. You can just work from a mapped network path as long as you only have one Unity open at a time it should be fine. Unity detects a lot of changes while the project is open (including replacing the scene files), but it is best not to push your luck.
     
  32. MarkcusD

    MarkcusD

    Joined:
    Jul 12, 2011
    Posts:
    40
    +1 - I would like what the OP is asking for.