Unity Developer, возможно даже вы когда то видели что-то что я делал или был причастен к созданию. Смотрю на ужасы которые пишут на DTF.
Единственное что не нашел легкого способа получить все NetworkPrefab, поэтому сам их гружу из адресаблов и устанавливаю их в менеджере
ну пришлось немного поискать и потыкать, но теперь людям будет проще начать
2) в создании есть небольшой нюанс, поскольку при создании нужно выключить объект заинжектить и только потом включить, ибо создаётся под родителя, а NetCode не хочет такое
На самом деле там не сложно добавить поддержку Zenject
1) нужно добавить в PrefabHandler обработку создания и уничтожения объектов
вот ответ на форуме https://forum.unity.com/threads/zenject-netcode-spawn-problem.1405828/
вот ссылка на документацию https://docs-multiplayer.unity3d.com/netcode/current/advanced-topics/object-pooling/index.html
в примерах реализовали таким образом пулл объектов (тут это тоже можно реализовать очень легко)
если тебе нужно по изображению генерить (без маски) то тебе нужен первый скрипт, там просто урл на картинку и то что нужно сделать
пример брал отсюда, inpainting дорисует что то в область по маске (белый зона для рисования)
https://gist.github.com/Argon42/56bc2efd285986f5d0901c21d1a77aba
я пайплайн дефолтный скопировал и заменил всё на onnx по примеру исходного файла
Inpainting аналогично, там в схожих местах заменить надо вызовы методов
https://gist.github.com/Argon42/5e606df02f66c14bc1088ae40856b432
запускать из той же папки
для AMD есть решение, сам настроил проверил, можно работать со всеми 3мя режимами, но мне пришлось немного подумать как всё настроить
https://gitgudblog.vercel.app/posts/stable-diffusion-amd-win10
Почти что угодно по рефакторингу, всякий чистый код, читать про паттерны проектирования и принципы, как тот же SOLID (где S принцип единой ответственности который убивает менеджеры зачастую отвечающие за слишком многое), так же можно посмотреть как вообще работает DI (внедрение зависимостей) и что можно организовывать работу не только через статику и синглтоны, а вместе с прошлыми рекомендациями становится понятно как сделать удобную систему которую можно даже тестировать (а это еще одна большая тема)
Я бы еще упомянул интересную фишку, что можно создать AssemblyReference на какой то ReadOnly пакет и в нем реализовать публичный доступ к internal API.
Например можно будет подключиться к пакету MemoryProfiler и использовать механизмы снапшотов для собственных нужд анализа или автоматизации