Скрипты и инструменты для Unity — C# ассеты

В разделе — готовые C# скрипты и инструменты для Unity: контроллеры персонажа (FPS, third-person, 2D platformer), системы сохранений, инвентари, простые AI и FSM, object pools, расширения редактора и утилиты для повседневной разработки.

Зачем брать чужие скрипты

Каждую механику можно написать самому — но базовые системы вроде сохранения, пула объектов или FSM состояний реализуются примерно одинаково в каждом проекте. Готовый, обкатанный сообществом код экономит дни, а часто и помогает узнать «правильный» паттерн. Главное — внимательно читать код, а не вставлять вслепую: чужой скрипт без понимания превратит проект в чёрный ящик.

Ассеты в категории «Скрипты»

NWH Vehicle Physics 2

NWH Vehicle Physics 2

Скрипты

NWH Vehicle Physics 2 — это мощный инструмент для создания реалистичных автомобилей в ваших проектах на Unity. Благодаря простому в использ…

Unity 2022.3.20
Archimatix Pro

Archimatix Pro

Скрипты

Archimatix Pro — это мощное расширение для Unity, позволяющее создавать параметрические модели с использованием узлового графа. С помощью д…

Unity 2022.3.10
Real World Terrain

Real World Terrain

Скрипты

Real World Terrain — это мощный инструмент для разработчиков, позволяющий быстро и эффективно воссоздавать реальные места в Unity для игр, …

Unity 2021.3.38
Animal Controller (Malbers Character Controller)

Animal Controller (Malbers Character Controller) — это мощный фреймворк для анимации, который идеально подходит для создания персонажей жив…

Unity 6000.0.68
Multi-Input First Person Controller

Multi-Input First Person Controller — это мощный инструмент для создания управляемых от первого лица персонажей в Unity. Этот контроллер по…

Unity 2020.3.19
Enemy AI

Enemy AI

Скрипты

Enemy AI — это полноценная система искусственного интеллекта, разработанная специально для вашего шутера на платформе Unity. С этим ассетом…

Unity 2021.3.30
Blaze AI Engine

Blaze AI Engine

Скрипты

Blaze AI Engine — это мощный и интуитивно понятный движок искусственного интеллекта, предназначенный для создания уникальных врагов и союзн…

Unity 2022.3.53
Volumetric Light Beam

Volumetric Light Beam

Скрипты

Volumetric Light Beam — это инновационное решение для создания объемного освещения в ваших проектах на Unity. С этим ассетом вы сможете зна…

Unity 2018.4.0
FS Shooter System

FS Shooter System

Скрипты

FS Shooter System — это продвинутая shooter system для Unity, предназначенная для создания динамичных third-person и first-person шутеров с…

Unity 2022
EasyRoads3D Pro v3

EasyRoads3D Pro v3

Скрипты

EasyRoads3D Pro — это профессиональная система создания дорог и инфраструктуры для Unity, позволяющая проектировать сложные дорожные сети, …

Unity 5.6.4
Corgi Engine - 2D + 2.5D Platformer

Corgi Engine — это один из самых популярных 2D platformer engine для Unity, предназначенный для создания платформеров, run & gun игр и metr…

Unity 2019
1 2 3

Что важно знать перед использованием

  • Перед использованием просматривай код: ищи 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 подходит только для настроек (звук, разрешение) — он не предназначен для крупных сейвов и теряет данные при переустановке.