2014년 3월 14일 금요일

유니티 프로젝트 다운그레이드하기

4.3 버전에서 4.2 또는 4.1 버전으로 다운그레이드 하기
4.3 버전에서 유니티 2D기능관련해서 대대적인 패치가 이루어졌는데 써본결과 아직 상당히 문제가 많다
퍼포먼스문제 안드로이드쪽 디바이스 호환문제등 여러가지 등등..
뭣모르고 업그레이드 했다가 위와 같은문제때문에 위기에 봉착
다시 프로젝트를 이전 버전으로 되돌려야 하는 사태가 발생해서 구글링해본결과
다음과 같은 방법으로 다운그레이드가 가능하다고 한다.

Here is something worth trying, make sure you create backs ups before you start!
여기에 뭔가 가치있는 시도가 있다, 시작하기 전에 백업을 만들어둘것
  1. Enable source control on your project: Edit/Project Settings/Editor/Visible Meta Files (This will create meta files for every asset you have, these fiels contain information such as how the asset should be imported as well as a unique guid so you should not lose links to scripts etc)
  2. 당신의 프로젝트에 소스 컨트롤을 활성화한다 : Edit->Project Settings->Editor->Visible Meta Files(이것은 당신의 프로젝트가 가진 모든 애셋 파일들의 메타데이터를 생성할 것이다, 이파일들은 GUID뿐만 아니라 애셋들이 어떻게 임포트되어야하는지와 같은 정보들을 담고 있다 그러므로 당신은 스크립트등과 같은 것들의 링크를 잃지 않게 된다)
  3. Create a new project with unity 4.2.2. Keep the project empty. Enable source control on this project like you did with the other.
  4. 유니티 4.2.2등의 버전에서 새로운 프로젝트를 생성한다. 빈프로젝트로 유지할것. 이프로젝트의 소스컨트롤 방식을 위와 같은(Visible Meta Files) 형태로 활성화한다.
  5. Now replace the "Assets" folder from your 4.2.2 project with the 4.3 project Assets folder.
  6. 이제 4.3프로젝트의 애셋폴더를 4.2프로젝트의 애셋폴더에 복사한다.
  7. Unity 4.2.2 should import all the assets with the correct settings and you should have a 4.2.2 project again. You can now disable source control and it will remove the meta files.
  8. 유니티 4.2는 모든애셋들을 올바른 셋팅으로 임포트할것이고, 당신은 다시 4.2버전의 프로젝트를 가지게 된다. 이제 소스컨트롤을 비활성화 할수 있고, 그를통해 모든 메터파일들은 제거될것이다.
  9. Update:(추가사항)
Once you have downgraded you may start to get some errors about the Unity serializer. Such as this:typeTree.m_Children.front ().m_Type != SerializeTraits::GetTypeString (NULL) This is likely caused by Unity 4.3 adding in some data into its assets/prefabs/scenes etc that 4.2.2 does not recognise. A possible fix is this: Goto your project settings/Editor/Asset Serialisation and change it to either force text or force binary. This will force Unity to re-serialise all your asset files. So potentially it could get rid of any Unity 4.3 serialisation data.
다운그레이드된 유니티 프로젝트를 시작할때 몇개의 유니티 시리얼라이저관련 에러를 보게 될것이다. typeTree.m_Children.front ().m_Type != SerializeTraits::GetTypeString (NULL)과 같은것으로  이것은 유니티 4.3에서 몇몇 데이터드을 애셋의 씬에 추가한것이 원인이다. 가능한 수리법은 다음과 같다 : Project Settings->Editor->Asset Serialisation 으로 가서 force text 또는 force binary중하나로 바꾼다. 이것은 강제적으로 유니티가 모든 애셋파일들을 다시 직렬화하게 할것이다. 그러므로 잠재적으로 유니티 4.3에서 만들어진 직렬화 데이터들은 사라질수 있다.

위에 나와 있는 방법되로 4.3 버전을 4.1 버전으로 바꿔보니 과연잘된다. 물론 몇몇 재질의 셰이더가 날아간게 한두개 정도



나오긴했지만 그외에는 별문제 없는듯하다.

댓글 없음:

댓글 쓰기