Скрипты и инструменты для Unity — C# ассеты
В разделе — готовые C# скрипты и инструменты для Unity: контроллеры персонажа (FPS, third-person, 2D platformer), системы сохранений, инвентари, простые AI и FSM, object pools, расширения редактора и утилиты для повседневной разработки.
Зачем брать чужие скрипты
Каждую механику можно написать самому — но базовые системы вроде сохранения, пула объектов или FSM состояний реализуются примерно одинаково в каждом проекте. Готовый, обкатанный сообществом код экономит дни, а часто и помогает узнать «правильный» паттерн. Главное — внимательно читать код, а не вставлять вслепую: чужой скрипт без понимания превратит проект в чёрный ящик.
Ассеты в категории «Скрипты»
PremiumUnity 2022.3.03 скачивания
PremiumHyperCasual - Arcade Idle Engine v4.3.1
Unity 6000.3.112 скачивания
PremiumMobile Traffic System v3.6.1
Unity 2022.3.624 скачивания
PremiumMultiversal Vehicle Controller: Pro - Car Physics Controller v1.4.4
Unity 2022.3.626 скачиваний
PremiumFishing Game Tool: Refreshed v1.5.0
Unity 6000.0.818 скачиваний
Simple Day And Night Cycle System
Unity 2019.3.95 скачиваний
Surge
Unity 2022.3.624 скачивания
Tree Randomizer
Unity 5.0.04 скачивания
Procedural Toolkit
Unity 2019.2.04 скачивания
Juicy Actions for Dialogue System for Unity
Unity 6000.0.715 скачиваний
Juicy Actions for PlayMaker
Unity 6000.0.712 скачивания
Juicy Actions for Magic Time
Unity 6000.0.712 скачивания
Страница 1 из 10
Что важно знать перед использованием
- →Перед использованием просматривай код: ищи Find, GetComponent в Update и аллокации в горячих местах — это самые частые источники тормозов.
- →Скрипты с зависимостью от старого Input Manager придётся адаптировать, если ты на новой Input System.
- →Системы сохранений на PlayerPrefs — только для настроек. Для сейвов игры используй JSON или binary serialization.
- →Всегда оборачивай чужой код в свой namespace, чтобы избежать конфликтов с другими ассетами.
Часто задаваемые вопросы
Можно ли модифицировать чужие скрипты под себя? +
Если лицензия позволяет (MIT, Apache, CC0 — да; некоторые проприетарные — нет) — модифицируй свободно. Но рекомендуется делать форк/копию скрипта в своём namespace, чтобы при обновлении ассета не потерять изменения.
Что такое ScriptableObject и зачем он нужен? +
ScriptableObject — это «контейнер» данных, который существует как ассет в проекте, а не привязан к сцене. Идеален для конфигов: характеристик оружия, настроек врагов, диалогов, тем оформления. В отличие от обычных классов, ScriptableObject виден в инспекторе и редактируется без кода.
Как избежать аллокаций в Update? +
Не вызывай в Update методы вроде new List<>(), GetComponent, Find, Camera.main, GameObject.Tag-сравнения через string. Кэшируй ссылки в Start или Awake. Используй CompareTag вместо tag == "X". Для частых вызовов рассмотри object pooling.
FSM, Behavior Tree или просто if-else — что выбрать для AI? +
Для 2–3 состояний — if-else или switch. Для 4–8 состояний — FSM (Finite State Machine). Для сложного AI с приоритетами и параллельным поведением — Behavior Tree. Усложнять архитектуру стоит только когда простой подход уже не справляется.
Как организовать сохранения в Unity? +
Самый универсальный способ: сериализовать данные в JSON через JsonUtility.ToJson и сохранять в Application.persistentDataPath. PlayerPrefs подходит только для настроек (звук, разрешение) — он не предназначен для крупных сейвов и теряет данные при переустановке.