Обнаружение и обновление редактора при копировании нового файла в каталог проекта Unity

#c# #unity3d

#c# #unity3d

Вопрос:

Я создаю плагин редактора, который автоматически копирует файл из другой папки, находящейся за пределами каталога проекта, в проект Unity.

Я использую File.Copy это для этого, и это работает, но проблема в том, что для того, чтобы скопированный файл мог отображаться в Project tab , я должен щелкнуть вне Unity, а затем снова нажать на Unity. После этого файл будет виден.

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

Как я могу сделать так, чтобы файл отображался в Project tab once я выполняю File.Copy , не щелкая вне Unity и внутри редактора Unity?

Ответ №1:

Попробуйте это: AssetDatabase.Обновить ()

Комментарии:

1. Не могу поверить, сколько времени я потратил на это. Спасибо.

2. Это работает, но очень медленно, так как приходится все повторно импортировать? Не уверен в этом. Исправление заключается в предоставлении второго параметра. Теперь это быстро, хотя я не могу объяснить почему. AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);

3. Ну, иногда документы Unity отстой : ( docs.unity3d.com/ScriptReference /…