Дополнительные ресурсы
Дополнительные материалы
Документация - API скриптинга ScriptableObject - Страница руководства по ScriptableObject
Технические электронные книги Unity О паттернах проектирования и программировании в Unity ‐ «Повышаем уровень кода с паттернами проектирования и SOLID»: введение в SOLID‐разработку и паттерны проектирования в Unity. - «Создание руководства по стилю C# (издание для Unity 6)»: обзор ряда передовых практик организации проекта. Другие руководства по передовым практикам - Расширенные руководства по передовым практикам в документации Unity - Центр передовых практик Unity
Материалы Unite - «Свержение тирании MonoBehaviour в славной революции ScriptableObject» - «Архитектура игры с помощью ScriptableObject» Для общего знакомства с архитектурой кода также рекомендуем: - «От Pong до проекта команды из 15 человек»
Другие примеры проектов В архитектуре этих проектов сообщества широко применяется подход на основе ScriptableObject: - Презентация демонстрационного проекта Tanks с Unite, подготовленная Ричардом Файном, использует ScriptableObject для настройки звука, подключаемого ИИ и разрушаемых зданий.
- У Райана Хиппла, старшего разработчика игр полного цикла в Meta, есть проект на GitHub, иллюстрирующий значительную часть его выступления на Unite Austin. Также можно прочитать его публикацию в блоге на ту же тему. - SOAP (ScriptableObject Architectural Pattern) в Asset Store реализует многие паттерны, описанные в этой электронной книге, и добавляет множество функций, упрощающих работу с ScriptableObject. - Unity Atoms: библиотека с открытым исходным кодом, активно использующая ScriptableObject. Начать работу с ней поможет соответствующая страница. - Reactive Menu System использует ScriptableObject для построения системы UGUI, которая обрабатывает изменения состояния UI и управление меню. - Unity Open Project (Chop Chop) активно опирается на ScriptableObject и управляет игровым процессом с помощью каналов событий.
Для гейм-дизайнеров Кристо Ноббс, старший технический гейм-дизайнер, специализирующийся на проектировании игровых систем и Unity (C#), участвовал в создании «Справочника гейм-дизайнера Unity» и был основным автором небольшой серии публикаций о проектировании игровых систем в Unity: - «Системы, создающие экосистемы: эмерджентный гейм-дизайн» - «Непредсказуемо и увлекательно: ценность рандомизации в гейм-дизайне» - «Кривые анимации как главный рычаг дизайна»
Профессиональное обучение Unity Professional Training проводит обучение онлайн и очно, помогая вам и вашей команде приобрести дополнительные навыки и знания для более продуктивной работы и эффективного сотрудничества в Unity. Подробнее о Unity Professional Training можно узнать здесь.
More resources
Documentation —
The ScriptableObject Scripting API
ScriptableObjects Manual page
Technical e-books from Unity Related to design patterns and coding in Unity —
Level up your code with design patterns and SOLID contains an introduction to SOLID development and design patterns in Unity.
Create a C# style guide (Unity 6 edition) covers some of the best practices when setting up your project.
Other best practice guides —
Advanced best practice guides in Unity documentation
Unity best practices hub
From Unite —
Overthrowing the MonoBehaviour tyranny in a glorious ScriptableObject revolution
Game Architecture with ScriptableObjects
For general information about code architecture, we also recommend: —
From Pong to 15-person project
More project examples These community project examples show extensive use of ScriptableObjects in their architecture: —
The Tanks Demo presentation from Unite, by Richard Fine, uses ScriptableObjects to customize audio, pluggable AI, and destructible buildings.
Ryan Hipple, a senior full stack game engineer at Meta, has a GitHub project that illustrates much of his Unite Austin presentation. You can also read his corresponding blog post.
Soap (Scriptable Object Architectural Pattern) on the Asset Store implements many of the patterns described in this e-book and adds many quality of life features when working with Scriptable Objects.
The Unity Atoms project is an open source library that makes extensive use of ScriptableObjects. Read this page to get started with it.
The Reactive Menu System uses ScriptableObjects to build a UGUI system to handle UI state changes and menu management.
The Unity Open Project (Chop Chop) heavily relies on ScriptableObjects and manages gameplay with event channels.
For game designers Christo Nobbs, a senior technical game designer who specializes in systems game design and Unity (C#), was a contributor to The Unity game designer playbook, as well as the main author of a short series of blog posts on designing game systems in Unity: —
Systems that create ecosystems: Emergent game design
Unpredictably fun: The value of randomization in game design
Animation curves, the ultimate design lever
Professional training Unity Professional Training offers both online and in-person training to give you and your team additional skills and knowledge to work more productively, and collaborate efficiently, in Unity. Learn more about Unity Professional Training here.