Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

PC project to Mac for iOS workflow (again)

Discussion in 'Editor & General Support' started by ernbot, Apr 10, 2014.

  1. ernbot

    ernbot

    Joined:
    Nov 2, 2009
    Posts:
    77
    Hi guys :D

    I am working on a mobile game that I eventually want to be on both iOS and Android. I use my Windows PC as my main workstation as it has all of the content creation software on there, and I also have a Mac Mini exclusively to run Unity and export to iOS.

    I've found that simply coping across the project folder from the PC and opening it on the Mac results in all kinds of things going wrong, really poor editor performance and refusing to build at all being the main things.

    In past projects my workflow has been to produce the project for Android on my PC, then make a brand new project on the Mac, import any plugin packages (ie Playmaker etc) then export individual scenes from the PC project as packages and bring them into the clean Mac project. It has been then a case of rebuilding the framework of the project again on the Mac.

    This previous workflow got me a clean and stable game on iOS, but as you can imagine it's far from an ideal solution. My current project is considerably more complex and the thought of this "rebuild" workflow fills me with dread.

    I know there has been several posts on this but I haven't been able to find an elegant solution. I have seen in other posts people mentioning SVN VCS. For a 1 man dev with zero experience in this sort of thing it just sounds like another terrifying minefield to cross. Maybe someone may be kind enough to explain this in layman's terms?

    My only other option I'm thinking is switching to the Mac platform and rebuilding sooner rather than later, before the project gets any more complex but it should mean I can painlessly export to both platforms from the Mac? It will mean copying files across every time I update something but it may be better than a soul crushing total rebuild at the end.

    What do you think dudes? Surely there is a more streamlined way of doing this? Is building from a Mac to both iOS and Android as painless as Unity's marketing would make out?

    Oh I'm using unity free too.

    Cheers, appreciate the input :)
     
  2. Graham-Dunnett

    Graham-Dunnett

    Unity Technologies

    Joined:
    Jun 2, 2009
    Posts:
    4,287
    Well, PC and Mac use exactly the same project folder format. You typically only want the Asset folder and a few other files. Copying across the whole Library folder sounds like it might be messing with you. See:

    http://docs.unity3d.com/Documentation/Manual/ExternalVersionControlSystemSupport.html

    which describes the files you should care about. Note also that Mac file system doesn't care if something is called bob.cs or Bob.cs. It's case insensitive. This can cause subtle problems.

    Maybe Thursday the 10th of April 2014 is a good day to learn how source code revision software works? There's never going to be a better day than today.
     
  3. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    Except yesterday. Yesterday is ALWAYS a better day to learn that ;)

    A simple Git setup (local, local server, free Bitbucket, your own remote server - anything, really!) will help even the single developer case. There are assets to help you use various version control systems too, but I'd say get one for Git and never bother with the others. SourceTree is a decent tool to use outside of Unity, should you need to manage a repository that way.
     
  4. ernbot

    ernbot

    Joined:
    Nov 2, 2009
    Posts:
    77
    Ok cool, so it would seem this version control would be the way to go then? I'll look into it.

    However all of these technical terms are really meaningless with my current level of understanding!

    It would be great if someone could give me a really simple overview explanation of what this revision software does, how it works and how it is beneficial to the Unity user.
     
  5. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    Version control is in the name ;)

    You submit ("check in") files to it, and previous files are stored in chronological order with some sort of marker to indicate a version in the system. If you made a huge mistake it lets you get back any previous version. The default checkout gives you the most recent file. You can also inspect differences between any two text files.

    Most systems support a global version tag so that you can mark a collection of versioned files as one program version. After going through a few betas you can mark the current stable version as "1.0.0" for release, or perhaps you prefer words, so you could tag all the files "smurf". Whatever floats your boat.

    It gets complicated when several people use one repository of files, but most systems also have ways to sort out simultaneous submissions of the same file. If there is a file conflict you may be able to inspect the differences and pick the bits/whole files to keep. Graphical clients make this much easier to do.

    Some systems even let files be locked, but many consider this a bad practice. Git and Mercurial are set up to just let you get any file, then have an admin sort out conflicts.
     
  6. ernbot

    ernbot

    Joined:
    Nov 2, 2009
    Posts:
    77
    Hi thanks orb, thats very helpfull.

    But what I'm struggling to grasp is how this Version Control can streamline the workflow between the PC and Mac versions of my project?
     
  7. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    It's simple: You just check in the files from the PC and check out on the Mac. Do it in reverse when you make changes to the project on the Mac.
     
  8. ernbot

    ernbot

    Joined:
    Nov 2, 2009
    Posts:
    77
    Ok...that sounds logical, but how would that be different than simply copying over the Unity project folder across to the Mac?
     
  9. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    You follow the link Graham posted about which files are required, and only check those in. Then you'll get it right every time automatically, rather than having to manually pick and choose every darn time you copy it back and forth :)

    Also, you're not screwed when you make changes you shouldn't have.
     
  10. ernbot

    ernbot

    Joined:
    Nov 2, 2009
    Posts:
    77
    Right I see so its those files which are the key. As soon as I can I'll look into this dark art!

    Cheers, guys - I'm sure there will be others who are struggling with the basic concepts that will find this thread useful. :)