об играх, разработке на Unity и личном опыте

Buffer icon Проекты
Позднее Ctrl + ↑

Unity & iOS capabilities

iOS capabilities list

iOS capabilities list

iOS capabilities list

Как оказалось, даже для последних версий Unity, есть проблема программно выставить нужные параметры в Xcode проекте :( А это необходимость, иначе никакой CI\CD не работает и придётся билдить iOS версию вручную, что конечно не очень правильно.

Для этих целей в Unity есть специальный PostProcessBuildAttribute и PBXProject. После билда в Xcode проект, можно настраивать уже другие параметры, не доступные внутри Unity. Но, даже следуя мануалам, как-то оно не всё работает...

Так, например, чтобы добавить функцию Sign in with Apple, нужно воспользоваться ProjectCapabilityManager. В коде это выглядит примерно так:

...
string projectPath = string.Format ("{0}/Unity-iPhone.xcodeproj/project.pbxproj", path);
PBXProject project = new PBXProject ();
string file = File.ReadAllText (projectPath);
project.ReadFromString (file);
string target = project.GetUnityMainTargetGuid ();
string entFile = "game.entitlements";
ProjectCapabilityManager manager = new ProjectCapabilityManager (projectPath, entFile, "Unity-iPhone", target);
manager.AddSignInWithApple ();
// other capabilities
manager.WriteToFile ();

Но таким образом файл X.entitlements не добавляется в проект, создаётся, но не добавляется. И через project.AddFile() — тоже. Спасает как всегда stackoverflow :) Оказывается, помимо project.AddFile() надо добавить ещё специальный property, чтобы всё закрутилось:

...
project.AddFile (entFile, entFile);
project.AddBuildProperty (target, "CODE_SIGN_ENTITLEMENTS", entFile);
File.WriteAllText (projectPath, project.WriteToString ());

Почему это не написано в мануале Unity — непонятно.

Рассылка по Unity и играм #10

Принципы геймдизайна

Принципы геймдизайна

Принципы геймдизайна

В новом выпуске:

  • новый курс для инди
  • принципы геймдизайна
  • Godot
  • новые требования Apple
  • Unity Open Projects
  • и ещё 18 заметок

Читать последний выпуск ?

Выпуск №9 ?
Выпуск №8 ?
Выпуск №7 ?
Выпуск №6 ?
Выпуск №5 ?
Выпуск №4 ?
Выпуск №3 ?
Выпуск №2 ?
Выпуск №1 ?

→→ Подписаться ←←

Кастомные шрифты в UnityMobileInput

Обновил плагин UnityMobileInput.

Теперь можно использовать свои шрифты в нативном поле ввода. Просто копируете TTF шрифт в проект, в папку StreamingAssets, дальше плагин всё сделает сам: скопирует в папку приложения на Android или iOS и применит для нужного поля ввода.

Также, был баг (фича), что при тапе по экрану клавиатура исчезала, это её нормальное поведение, в общем-то. Но иногда надо чтобы она оставалась видимой даже если на что-то жмёшь. Теперь есть такая опция.

Как освободить место на MacOS

Cleanup MacOS

Cleanup MacOS

Cleanup MacOS

Я уже как-то писал, как освободил кучу места на маке, почистив кеш Xcode. Есть даже специальная программа DevCleaner for Xcode, чтобы не ковыряться по папкам вручную, ей то я и пользуюсь теперь.

Как бы не хвалили MacOS, в сравнении с Windows, но система засирается также, как и ОС от Microsoft.

Но, время шло, а место на диске по чуть-чуть уменьшается и уменьшается. Даже не смотря на то, что я чистил кеш Xcode, логи и прочее. В какой-то момент, раздел Другое стал занимать больше 200 ГБ! Погуглил. Рекомендовали, запуститься в безопасном режиме и перезагрузить ?‍♂️. Да, это вообще не помогло, освободилось может пару сотен мегабайт. Скачал MacCleaner и посмотрел, что же там такого...

  1. Удалил кеши от старых программ в ~/Library/Caches (почему мак их не чистит сам — хз)
  2. Удалил папки от неиспользуемых программ в ~/Library/Application Support
  3. Удалил сам Xcode и папки, которые к нему относились
  4. Ещё мелочи всякие

Сколько читал и видел этой навязчивой рекламы MacCleaner, почти все писали, что это мусорный апп и т. п. Не знаю, первый раз запускал, но пользу он принёс.

Освободилось немного, но всё равно, раздел Другое был огромным. Потом, я запустил Disk Expert от того же MacCleaner и пошёл искать ещё. И в системных! папках было две, по 35 ГБ каждая: com.apple.Developer и com.apple.AppStore. Погуглил про них, я был не одинок :) Там были какие-то кеши старых приложений, Xcode опять же, и очень много другого. Удалил всё из них.

Потом ещё запускал App Cleaner & Uninstaller, этот апп, как я понял, как раз и занимается тем, что удаляет приложение и все его кеши, службы, временные папки, логи и т. д. Короче, то что в Windows делает Uninstall. Поэтому, заявление что в MacOS достаточно удалить программу из папки «Программы» — враньё. Не работает это так.

В итоге: перезагрузился, всё работает, +90 ГБ свободного места.

UPD: ещё есть апп OmniDiskSweeper, простой, но сразу видно где большие файлы и папки, рекомендую.

 1 комментарий    802   2020   apple   mac

Топ-10 ошибок в оптимизации Unity

Хороший вебинар от юнитеков, рассмотрены частые ошибки совершаемые при оптимизиции, обзор инструментов по оптимизации, примеры с пояснениями. Рекомендую.

Рассылка по Unity №9

Soft bodies in Unity

Soft bodies in Unity

Soft bodies in Unity

В новом осеннем выпуске:

  • миллион травинок на Unity
  • про Fall Guys
  • новый Unity и Blender
  • шейдеры
  • ассет карточной игры
  • Unity UIElements
  • мягкие и желеобразные объекты на Unity
  • и ещё 17 заметок

Читать последний выпуск ?

Читать выпуск №8 ?
Читать выпуск №7 ?
Читать выпуск №6 ?
Читать выпуск №5 ?
Читать выпуск №4 ?
Читать выпуск №3 ?
Читать выпуск №2 ?
Читать выпуск №1 ?

→→ Подписаться ←←

Free VPN

Отличный бесплатный VPN от Cloudflare. На любую платформу, быстро и удобно, рекомендую.

FreeVPN

FreeVPN

FreeVPN

https://1.1.1.1/beta/

Рассылка по Unity #8

Unity compile vizulazer

Unity compile vizulazer

Unity compile vizulazer

Новый выпуск рассылки по Unity и играм у вас в почте (ещё вчера). Кто не подписан, ссылка внизу. Я там во вступлении написал, что начал думать о планах на конец года, когда собирался закончить «первый сезон» рассылки. И вроде кое-что интересное придумал. Пока без подробностей, но формат немного поменяется. Надеюсь, это понравится большинству.

Читать последний выпуск ?

Читать выпуск №7 ?
Читать выпуск №6 ?
Читать выпуск №5 ?
Читать выпуск №4 ?
Читать выпуск №3 ?
Читать выпуск №2 ?
Читать выпуск №1 ?

→→ Подписаться ←←

Sign in with Apple, Google Sign-In и Unity

Sign in with Apple and Unity

Sign in with Apple and Unity

Sign in with Apple and Unity

Решили мы сделать «доброе» дело нашим пользователям: позволить и на Android и на iOS использовать Google Sign-In и Sign in with Apple, и там и там.

Пришлось немного поковыряться, но получилось! Плагин для Unity работает. Разобраться во всём помогли две статьи:

Плагин из примера на Kotlin, переписал на Java, так привычней, но наверное, уже пора осваивать и его... :( Apple не сделали SDK для других платформ, так что там всё не красиво, но работает. У Google, прописываешь в pod файл Google Sign-in и используешь.

В общем, mission complete. Если есть вопросы, пишите.

Ранее Ctrl + ↓