Как перенести проект unity на другой компьютер

Обновлено: 04.07.2024

Когда вы компилируете игру, Unity сохраняет множество метаданных о ваших ресурсах (настройки импорта, ссылки на другие ресурсы, и т.д.). Если вы хотите использовать эти ресурсы в другом проекте, есть конкретный способ сделать это. Вот как можно легко перемещать ресурсы между проектами, сохраняя при этом всю вышеперечисленную информацию.

See Asset Packages for detailed information on using packages, including importing and exporting.

Exporting New Packages

Use Export Package to create your own Custom Package.

  1. Откройте проект, в который нужно поместить ассеты.
  2. Выберите Assets->Export Package… из строки меню. (See Fig 1: Exporting Package dialog box.)
  3. In the dialog box, select the assets you want to include in the package by clicking on the boxes so they are checked.
  4. Leave the include dependencies box checked to auto-select any assets used by the ones you have selected.
  5. Click on Export to bring up File Explorer (Windows) or Finder (Mac) and choose where you want to store your package file.
  6. Присвойте пакету имя и сохраните его, где вам удобно.

HINT: When exporting a package Unity can export all dependencies as well. So, for example, if you select a Scene and export a package with all dependencies, then all models, textures and other assets that appear in the scene will be exported as well. This can be a quick way of exporting a bunch of assets without manually locating them all.

Fig 1: Exporting Package dialog box

Fig 1: Exporting Package dialog box

Exporting Updated Packages

Sometimes you may want to change the contents of a package and create a newer, updated version of your asset package. To do this:

Select the asset files you want in your package (select both the unchanged ones and the new ones).

Export the files as described above in Export Package, above.

NOTE: You can re-name an updated package and Unity will recognise it as an update, so you can use incremental naming, for example: MyAssetPackageVer1, MyAssetPackageVer2.

HINT: It is not good practise to remove files from packages and then replace them with the same name: Unity will recognise them as different and possibly conflicting files and so display a warning symbol when they are imported. If you have removed a file and then decide to replace it, it is better to give it a different, but related name to the original.

Я хочу скопировать мой существующий проект Unity в новый пустой проект Unity. Похоже, все ссылки на объекты и многие сценарии не настроены должным образом/присутствуют в иерархии в моих сценах.

Я только скопировал папку с ресурсами /package.json в новый проект Unity, потому что остальные файлы грязные и содержат в себе много бесполезной информации.

Где находятся файлы, подробно описывающие данные сцен? Я хочу скопировать это, чтобы я мог запускать свои сцены со всеми ссылками на объекты и сценариями, установленными на правильные игровые объекты.

Очистка

В общем, вам всегда нужны папки Assets и ProjectSettings .

Все остальное вы можете удалить, и Unity создаст их заново/перекомпилирует, когда вы снова откроете проект.

При резервном копировании проекта или добавлении проекта в репозиторий управления версиями вы должны включить основную папку проекта Unity, содержащую оба ресурса и ProjectSettings папки. Вся информация в этих папках имеет решающее значение для работы Unity.

Как следует из названия

  • Assets - это все ваши активы, такие как сценарии, изображения, префабы и т.д., Включая все остальные сцены.
  • ProjectSettings - это все общие настройки для вашего проекта, касающиеся таких вещей, как качество, физика, игровые струны и т.д.

Для меня также есть смысл сохранить некоторые файлы Library/*.asset , например, они хранят настройки сборки, целевая платформа и т.д., поэтому мне не нужно настраивать их/переключать платформу с нуля каждый раз, когда я "сбрасываю". Конечно, если вы хотите сделать это, это зависит от вас.

Вы также можете использовать любую другую систему контроля версий. или, конечно, также вручную удалять соответствующие папки и файлы, но я всегда использую GIT для своих проектов.

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

Поэтому, когда я хочу очистить репозиторий перед копированием, я обычно использую следующее как *.gitignore (есть также более полные версии, например, от Github).

Все перечисленное здесь может быть в основном удалено и будет перекомпилировано при следующем открытии проекта в Unity. (Строки, начинающиеся с ! , являются исключениями, которые я добавил, потому что, как я уже сказал, их также имеет смысл сохранить.)

Если это еще не сделано, сначала инициализируйте работающий репозиторий

это покажет некоторые предупреждения для каждого файла, который указан в .gitignore , но вы можете игнорировать эти предупреждения. Это говорит только о чем-то похожем на

Вы пытаетесь добавить проигнорированный файл в коммит, и он будет пропущен

сделать свой первый коммит.

Теперь, наконец, вы можете запустить

который удаляет каждый файл, который не отслеживается (поэтому убедитесь, что у вас всегда есть все файлы, которые вы хотите сохранить, как минимум, поэтапно ( git add ) или лучше зафиксировать в первую очередь) или будет игнорироваться *.gitignore .

-f
Если для переменной конфигурации Git clean.requireForce не задано значение false, git clean откажется удалять файлы или каталоги, если не указано -f, -n или -i. Git откажется удалять каталоги с подкаталогом или файлом .git, если не указан второй -f.

-d
Удалите неотслеживаемые каталоги в дополнение к неотслеживаемым файлам. Если неотслеживаемый каталог управляется другим Git-репозиторием, по умолчанию он не удаляется. Используйте параметр -f дважды, если вы действительно хотите удалить такой каталог.

-x
Не используйте стандартные правила игнорирования, считанные из .gitignore (для каждого каталога) и $ GIT_DIR/info/exclude, но все же используйте правила игнорирования, заданные с опциями -e. Это позволяет удалить все неотслеживаемые файлы, включая продукты сборки. Это может быть использовано (возможно, в сочетании с git reset) для создания первичного рабочего каталога для тестирования чистой сборки.

Миграция с использованием UnityPackage

Другой вариант перемещения сцен или частей активов между двумя разными проектами - использование UnityPackage

.Из вашего текущего проекта экспортируйте пакет UnityPackage

Выдержки из документов:

  1. Откройте проект, из которого вы хотите экспортировать активы.

  2. Выберите Assets & rightarrow; Export Package из меню, чтобы вызвать диалоговое окно Exporting Package. (См. изображение диалогового окна "Экспорт пакета" ниже.)

  3. В диалоговом окне выберите Активы, которые вы хотите включить в пакет, нажав на флажки, чтобы они были отмечены.

  4. Оставьте флажок включенных зависимостей включенным, чтобы автоматически выбирать любые активы, используемые теми, которые вы выбрали.

  5. Нажмите "Экспорт", чтобы открыть проводник, и выберите, где вы хотите сохранить файл пакета.

  6. Назовите и сохраните пакет где угодно.

Кроме шага 2 вы также можете Right-Click в папке Assets в Project View и найти опцию Export Package в контекстном меню.

а затем в новом проекте импортировать UnityPackage

  1. Откройте проект, в который вы хотите импортировать активы.
  2. Выберите Assets & rightarrow; Import Package & rightarrow; Custom Package .
  3. В проводнике выберите нужный пакет, и появится диалоговое окно "Импорт пакета Unity", в котором все элементы пакета предварительно проверены и готовы к установке. (См. изображение диалогового окна "Импорт пакета Unity" ниже.)
  4. Выберите Import , и Unity поместит содержимое пакета в папку Assets , к которой вы можете получить доступ из Project view .

В качестве альтернативы шагам 2 и 4 вы можете просто перетащить файл unitypackage в папку Assets через редактор Unity.


как я упаковываю заказы для своего малого бизнеса ✨

Я хочу скопировать свой существующий проект Unity в новый пустой проект Unity. Похоже, что все ссылки на объекты и многие сценарии неправильно настроены / присутствуют в Иерархии в моих сценах.

Я только скопировал папку с ресурсами / package.json в новый проект Unity, потому что остальные файлы грязные и кэшировали много бесполезной информации.

Где находятся файлы с подробным описанием сцен? Я хочу скопировать это, чтобы я мог запускать свои сцены со всеми ссылками на объекты и сценариями, установленными на правильные игровые объекты.

Убираться

В общем, вам всегда понадобится Assets и ProjectSettings папка.

Все остальное вы можете удалить, и Unity воссоздаст / перекомпилирует их, когда вы снова откроете проект.

Также см. За кулисами

При резервном копировании проекта или добавлении проекта в репозиторий контроля версий вы должны включить основную папку проекта Unity, содержащую как Активы а также ProjectSettings папки. Вся информация в этих папках имеет решающее значение для работы Unity..

Как говорят имена

  • Assets все ваши активы, такие как сценарии, изображения, сборные конструкции и т. д., включая сцены.
  • ProjectSettings все общие настройки вашего проекта, касающиеся таких вещей, как качество, физика, струны плеера и т. д.

Для меня также некоторые из Library/*.asset файлы имеет смысл хранить .. они хранят, например, настройки сборки, целевой платформы и т. д., поэтому мне не нужно настраивать их / переключать платформу с нуля каждый раз, когда я "перезагружаюсь". Конечно, вам решать, хотите ли вы это сделать.

Вы также можете использовать любую другую систему контроля версий . или, конечно, также удалить соответствующие папки и файлы вручную, но я всегда использую GIT для моих проектов.

Также обратитесь к разделу Использование внешних систем управления версиями с Unity для получения общей информации о настройке для управления версиями вашего проекта (ов).

Поэтому, когда я хочу очистить репозиторий перед копированием, я обычно использую следующее как *.gitignore (есть и более полные версии, например, с Github).

Все, что здесь перечислено, можно практически удалить и будет повторно скомпилировано при следующем открытии проекта в Unity. (Строки, начинающиеся с ! - это исключения, которые я добавил, потому что, как я сказал, имеет смысл сохранить и их.)

Если это еще не сделано, сначала инициализируйте запущенный репозиторий.

это покажет некоторые предупреждения для каждого файла, который указан в .gitignore но вы можете игнорировать эти предупреждения. Он только говорит что-то подобное, например

Вы пытаетесь добавить игнорируемый файл в коммит, и он будет пропущен

сделать вашу первую фиксацию.

Теперь, наконец, ты можешь бежать

который удаляет все файлы, не отслеживается (поэтому убедитесь, что у вас всегда есть все файлы, хотеть держать хотя бы постановочный ( git add ) или лучше было бы совершено первым) или будет проигнорирован *.gitignore .

-f
Если для переменной конфигурации Git clean.requireForce не задано значение false, git clean откажется удалять файлы или каталоги, если не задано -f, -n или -i. Git откажется удалять каталоги с подкаталогом или файлом .git, если не указан второй -f.

-d
удалять неотслеживаемый каталоги в дополнение к неотслеживаемый файлы. Если неотслеживаемый каталог управляется другим репозиторием Git, он не удаляется по умолчанию. Дважды используйте параметр -f, если вы действительно хотите удалить такой каталог.

-Икс
Не используйте стандартные правила игнорирования, считываемые из .gitignore (для каждого каталога) и $ GIT_DIR / info / exclude, но по-прежнему используйте правила игнорирования, указанные с параметрами -e. Это позволяет удалить все неотслеживаемые файлы, включая продукты сборки. Это можно использовать (возможно, в сочетании с git reset) для создания нетронутого рабочего каталога для тестирования чистой сборки.

Миграция с помощью UnityPackage

Другой вариант перемещения сцен или частей активов между двумя разными проектами - использование пакета UnityPackage.

Из вашего текущего проекта экспортируйте UnityPackage

Выдержки из Документов:

альтернативно шагать 2 вы также можете Щелкните правой кнопкой мыши на Assets папка в Project View и найти Экспортный пакет в контекстном меню.

а затем в новом проекте Импортируйте UnityPackage

В качестве альтернативы шагу 2 а также 4 вы даже можете просто перетащить unitypackage файл в Assets папку через редактор Unity.

  • 1 В дополнение к этому исчерпывающему ответу, когда что-то отсоединяется, это признак того, что вам удалось потерять скрытые файлы .meta, и Unity присвоила всем новые свежие идентификаторы. Если вы убедитесь, что вы копируете активы, включая метафайлы, и перемещаете версию вверх (это смешанный мешок при спуске версии), все должно быть связано

Мне пришлось внести некоторые изменения, чтобы он работал на Unity 19.4:

По сути, я не игнорировал всю папку библиотеки и игнорировал только следующее:

Вот процедура, которой вы должны следовать:

  • Сделайте резервную копию вашего проекта на всякий случай.
  • Поместите прилагаемый файл .gitignore в корневой каталог вашего проекта.
  • Выполните следующие команды:

* Обратите внимание, что опция -X написана с заглавной буквы в команде git clean, это позволяет избежать удаления любой пустой и неотслеживаемой папки.

Чтобы убедиться, что все в порядке:

  • Загрузите свой проект Unity и убедитесь, что все по-прежнему работает правильно
  • Еще раз запустите git clean -Xfd, чтобы очистить файлы проекта, перестроенные Unity.

Опять же, спасибо derHugo за подробный ответ, который был использован для работы над последними выпусками Unity.


Рейтинг:

Подробные настройки поддержки Cura

Я хочу скопировать свой существующий проект Unity в новый пустой проект Unity. Похоже, что все ссылки на объекты и многие сценарии неправильно настроены / присутствуют в Иерархии в моих сценах.

Я только скопировал папку с ресурсами / package.json в новый проект Unity, потому что остальные файлы грязные и кэшировали много бесполезной информации.

Где находятся файлы с подробным описанием сцен? Я хочу скопировать это, чтобы я мог запускать свои сцены со всеми ссылками на объекты и сценариями, установленными на правильные игровые объекты.

Убираться

В общем, вам всегда понадобится Assets и ProjectSettings папка.

Все остальное вы можете удалить, и Unity воссоздаст / перекомпилирует их, когда вы снова откроете проект.

Также см. За кулисами

При резервном копировании проекта или добавлении проекта в репозиторий контроля версий вы должны включить основную папку проекта Unity, содержащую как Активы а также ProjectSettings папки. Вся информация в этих папках имеет решающее значение для работы Unity..

Как говорят имена

  • Assets все ваши активы, такие как сценарии, изображения, сборные конструкции и т. д., включая сцены.
  • ProjectSettings все общие настройки для вашего проекта, касающиеся таких вещей, как качество, физика, струны игрока и т. д.

Для меня также некоторые из Library/*.asset файлы имеет смысл хранить .. они хранят, например, настройки сборки, целевой платформы и т. д., поэтому мне не нужно настраивать их / переключать платформу с нуля каждый раз, когда я "перезагружаюсь". Конечно, вам решать, хотите ли вы это сделать.

Вы также можете использовать любую другую систему контроля версий . или, конечно, также удалить соответствующие папки и файлы вручную, но я всегда использую GIT для моих проектов.

Также обратитесь к разделу Использование внешних систем контроля версий с Unity для получения общей информации о настройке для контроля версий вашего проекта (ов).

Поэтому, когда я хочу очистить репозиторий перед копированием, я обычно использую следующее как *.gitignore (есть и более полные версии, например, с Github).

Все, что здесь перечислено, можно в принципе удалить и будет повторно скомпилировано при следующем открытии проекта в Unity. (Строки, начинающиеся с ! - это исключения, которые я добавил, потому что, как я сказал, имеет смысл сохранить и их.)

Если это еще не сделано, сначала инициализируйте запущенный репозиторий.

это покажет некоторые предупреждения для каждого файла, который указан в .gitignore но вы можете игнорировать эти предупреждения. Он только говорит что-то подобное, например

Вы пытаетесь добавить игнорируемый файл в коммит, и он будет пропущен

сделать вашу первую фиксацию.

Теперь, наконец, ты можешь бежать

который удаляет все файлы, не отслеживается (поэтому убедитесь, что у вас всегда есть все файлы, хотеть держать хотя бы постановочный ( git add ) или лучше было бы совершено первым) или будет проигнорирован *.gitignore .

-f
Если для переменной конфигурации Git clean.requireForce не задано значение false, git clean откажется удалять файлы или каталоги, если не задано -f, -n или -i. Git откажется удалять каталоги с подкаталогом или файлом .git, если не указан второй -f.

-d
удалять неотслеживаемый каталоги в дополнение к неотслеживаемый файлы. Если неотслеживаемый каталог управляется другим репозиторием Git, он не удаляется по умолчанию. Дважды используйте параметр -f, если вы действительно хотите удалить такой каталог.

-Икс
Не используйте стандартные правила игнорирования, считываемые из .gitignore (для каждого каталога) и $ GIT_DIR / info / exclude, но по-прежнему используйте правила игнорирования, указанные с параметрами -e. Это позволяет удалить все неотслеживаемые файлы, включая продукты сборки. Это можно использовать (возможно, вместе с git reset) для создания нетронутого рабочего каталога для проверки чистой сборки.

Миграция с помощью UnityPackage

Другой вариант перемещения сцен или частей активов между двумя разными проектами - использование пакета UnityPackage.

Из вашего текущего проекта экспортируйте UnityPackage

Выдержки из Документов:

альтернативно шагать 2 вы также можете Щелкните правой кнопкой мыши на Assets папка в Project View и найти Экспортный пакет в контекстном меню.

а затем в новом проекте Импортируйте UnityPackage

В качестве альтернативы шагу 2 а также 4 вы даже можете просто перетащить unitypackage файл в Assets папку через редактор Unity.

  • 1 В дополнение к этому исчерпывающему ответу, когда что-то отключается, это признак того, что вам удалось потерять скрытые файлы .meta, и Unity присвоила всем новые свежие идентификаторы. Если вы убедитесь, что вы копируете активы, включая метафайлы, и перемещаете версию вверх (это смешанный мешок при спуске версии), все должно быть связано

Мне пришлось внести некоторые изменения, чтобы он работал на Unity 19.4:

По сути, я не игнорировал всю папку библиотеки и игнорировал только следующее:

Вот процедура, которой вы должны следовать:

  • Сделайте резервную копию вашего проекта на всякий случай.
  • Поместите прилагаемый файл .gitignore в корневой каталог вашего проекта.
  • Выполните следующие команды:

* Обратите внимание, что опция -X написана с заглавной буквы на команде git clean, это позволяет избежать удаления любой пустой и неотслеживаемой папки.

Чтобы убедиться, что все в порядке:

  • Загрузите свой проект Unity и убедитесь, что все по-прежнему работает правильно
  • Еще раз запустите git clean -Xfd, чтобы очистить файлы проекта, перестроенные Unity.

Опять же, спасибо derHugo за подробный ответ, который был использован для работы над последними выпусками Unity.

Читайте также: