Игра подписчика @kyeyeORqueue
Канал: https://t.me/home_lilya
Присылайте свои игры сюда
Akrus Games | Unity
Механика открытия кейсов
Еще не та шляпа по размеру)
Канал: https://t.me/home_lilya
Присылайте свои игры сюда
Akrus Games | Unity
This media is not supported in your browser
VIEW IN TELEGRAM
Игра подписчика @viseweb
Канал: https://t.me/visedev
Присылайте свои игры сюда
Akrus Games | Unity
Звездный шутер с крутой оптимизацией для мобилок
Канал: https://t.me/visedev
Присылайте свои игры сюда
Akrus Games | Unity
❤10 3🤯1
Media is too big
VIEW IN TELEGRAM
Игра подписчика @ITerafy
Канал: @TerafyMain
Присылайте свои игры сюда
Akrus Games | Unity
Все хардкор моды PvZ в одном виде
Решили сделать одну из самых сложных игр с PvZ-тематикой (+ свои усложняющие механики, как передвижение животных по полю, особые боссы).
Но для проходимости и динамики игрок так-же сможет участвовать в сражении, стреляя курсором.
Следить за проектом можно будет тут - @TerafyMain
Канал: @TerafyMain
Присылайте свои игры сюда
Akrus Games | Unity
🔥9 2
Unity: enum, state и switch
Чтобы не было десяти миллионов if else, можно использовать Switch+enum. Рассмотрим на примере состояний:
Важно!
это не полная замена if/else, а частный случай для оптимизации при одномерном выборе.
Таким образом можно рассматривать состояния более оптимизированным способом. Попробуйте внедрить это в свой проект и код будет надежнее(компилятор предупредит о возможных проблемах), удобней(можно проще добавить новые состояния) и читаемее.
Akrus Unity
Чтобы не было десяти миллионов if else, можно использовать Switch+enum. Рассмотрим на примере состояний:
switch (state)//что рассматриваем
{
default:
case State.Idle:
//если idle, то ничего не делаем
break;//завершаем
case State.Roaming:
roamingTime -= Time.deltaTime;
if (roamingTime < 0)
{
Roaming();
roamingTime = roamingTimerMax;
}
//ecли roaming выполняем действие
break;
case State.Attack:
navMeshAgent.SetDestination(player_pos.position);
break;
}
Важно!
это не полная замена if/else, а частный случай для оптимизации при одномерном выборе.
Таким образом можно рассматривать состояния более оптимизированным способом. Попробуйте внедрить это в свой проект и код будет надежнее(компилятор предупредит о возможных проблемах), удобней(можно проще добавить новые состояния) и читаемее.
Akrus Unity
❤7🔥4 2 1
⚡️ Unity: Интерфейсы в C# — сила контрактов
Интерфейс — это контракт, который гарантирует, что класс умеет делать определённые действия. Неважно, кто его подписал — игрок, враг или бочка. Главное — они все могут выполнить условия контракта.
В интерфейсах в c# не принято делать реализацию функций, свойств, только объявление.
🔥 Зачем это в играх?
Допустим, у тебя есть меч, который может бить врагов и ломать бочки. Без интерфейсов — это ад из
Можно наследовать от любого количества интерфейсов, в отличии от наследования от классов.
Если мы хотим сделать приватное свойство для реализующего интерфейс класса, мы можем не указывать set в свойстве интерфейса
🎯 Реальный пример: взаимодействие с объектами
💡 Два главных плюса:
🔸 Гибкость — добавляй новые разрушаемые объекты без изменения кода меча
🔸 Чистота — избавляешься от гигантских цепочек проверок через GetComponent
🚀 Где ещё использовать?
•
•
•
💬 Используешь интерфейсы в своих проектах? Делися в комментах!
🔔 Подпишись — ещё больше C# фишек для геймдева
Пост помог написать @Nokskiy
👉Akrus Games | Unity
Интерфейс — это контракт, который гарантирует, что класс умеет делать определённые действия. Неважно, кто его подписал — игрок, враг или бочка. Главное — они все могут выполнить условия контракта.
В интерфейсах в c# не принято делать реализацию функций, свойств, только объявление.
🔥 Зачем это в играх?
Допустим, у тебя есть меч, который может бить врагов и ломать бочки. Без интерфейсов — это ад из
if (collider.GetComponent<Enemy>() != null)... С интерфейсами — чисто и гибко.Можно наследовать от любого количества интерфейсов, в отличии от наследования от классов.
Если мы хотим сделать приватное свойство для реализующего интерфейс класса, мы можем не указывать set в свойстве интерфейса
🎯 Реальный пример: взаимодействие с объектами
public class Bullet : MonoBehaviour
{
private const int _damage = 10;
private void CheckHit()
{
//проверка столкновений с IHealth
hitObj.TakeDamage(_damage);
}
}
public class Player : MonoBehaviour, IHealth
{
// Реализация свойства
public int Health { get; private set; }
// Прочие поля
// Прочии свойства
// Прочии функции
// Реализация функции
public void TakeDamage(int damage) =>
Health -= damage;
}
public interface IHealth
{
// Обьявление свойства Health
int Health { get; }
// Обьявление функции TakeDamage
void TakeDamage(int damage);
}
💡 Два главных плюса:
🔸 Гибкость — добавляй новые разрушаемые объекты без изменения кода меча
🔸 Чистота — избавляешься от гигантских цепочек проверок через GetComponent
🚀 Где ещё использовать?
•
IInteractable для взаимодействия с NPC, дверями, предметами•
ICollectable для сбора монет, аптечек, боеприпасов•
ISaveable для системы сохранений💬 Используешь интерфейсы в своих проектах? Делися в комментах!
🔔 Подпишись — ещё больше C# фишек для геймдева
Пост помог написать @Nokskiy
👉Akrus Games | Unity
❤7🔥3 3
Мы объединились и создали лучшую папку каналов по геймдеву "The Gamedev"!
Это место, где собраны самые полезные, активные и вдохновляющие каналы индустрии, где каждый разработчик найдёт для себя что-то действительно ценное:
Подключайтесь к папке The GameDev и станьте частью сильного комьюнити!
👉 https://t.me/addlist/rzxpwkhTW65hNDQy
Это место, где собраны самые полезные, активные и вдохновляющие каналы индустрии, где каждый разработчик найдёт для себя что-то действительно ценное:
🧑💻 Помощь и практические советы по разработке игр
🆓 Бесплатные раздачи ассетов и промокоды
📣 Актуальные новости геймдева
💰 Советы по заработку на разных игровых площадках
📱 Авторские каналы по геймдизайну
📸 Личные блоги разработчиков
Подключайтесь к папке The GameDev и станьте частью сильного комьюнити!
👉 https://t.me/addlist/rzxpwkhTW65hNDQy
🔥13❤6🤯2
Привет всем новым подписчикам! Я @akrus001 админ этого канала.
Вот сборка лучших обучающих постов
Чат канала @chatAkrus001
Админ @akrus001, по любым вопросам можете спросить.
Советую вам почитать предыдущие посты.
Надеюсь вам здесь понравится!
В это канале в основном публикуются обучающие посты. Иногда что-то более интерактивное.
Раз в неделю я делаю пост, куда можно прислать свои работы. Самые лучшие я опубликую в канал(классно сделал = бесплатная реклама)
Вот сборка лучших обучающих постов
Чат канала @chatAkrus001
Админ @akrus001, по любым вопросам можете спросить.
Советую вам почитать предыдущие посты.
Надеюсь вам здесь понравится!
🔥20❤4 3 1
Знаешь, когда два дня чинишь одну строку кода, а игра всё равно ломается? У меня так было с машинкой, которая кувыркалась на поворотах.
Я потратил 48 часов на поиск бага в физике. Проверил всё. А оказалось, что я использовал
Так вот, что здесь важно:
1. ForceMode в Unity — способ приложения силы.
2. Физику считают в
3. Дебаг начинай с простого. Я лез в дебри, не проверив базовое.
Как не сгореть? Чек-лист:
🔹 Таймер для перерывов. 25 минут работы, 5 минут отдыха.
🔹 Версия 0.1 должна быть уродливой, но работающей. Не гонись за идеалом сразу.
🔹 Геймдиз-док на одной странице. Если не объяснишь игру в трёх предложениях — утонешь.
🔹 Не создавай 1000 ScriptableObject’ов в одной папке. Группируй данные, иначе проект станет свалкой.
🔹 Ищи баг с конца. Начни с последнего изменения. Git — твой друг.
🔹 День без кода — это нормально. Решение часто приходит во время отдыха.
🔹 Показывай игру другу, даже сырую. Со стороны баги виднее.
Ошибки — это не «я плохой», а «я расту». Каждый найденный баг — новый уровень.
Было похожее? 💬 Напиши — разберём. Если тема зашла, сделаю серию про частые косяки. Держись! 🚀
Я потратил 48 часов на поиск бага в физике. Проверил всё. А оказалось, что я использовал
ForceMode.Impulse в FixedUpdate, и силы накапливались, создавая «толчки великана». Два дня — на одну строку. Когда нашёл, смеялся и плакал.Так вот, что здесь важно:
1. ForceMode в Unity — способ приложения силы.
Impulse мгновенно добавляет импульс, а в FixedUpdate он может вызываться слишком часто.2. Физику считают в
FixedUpdate, но осторожно.3. Дебаг начинай с простого. Я лез в дебри, не проверив базовое.
Как не сгореть? Чек-лист:
🔹 Таймер для перерывов. 25 минут работы, 5 минут отдыха.
🔹 Версия 0.1 должна быть уродливой, но работающей. Не гонись за идеалом сразу.
🔹 Геймдиз-док на одной странице. Если не объяснишь игру в трёх предложениях — утонешь.
🔹 Не создавай 1000 ScriptableObject’ов в одной папке. Группируй данные, иначе проект станет свалкой.
🔹 Ищи баг с конца. Начни с последнего изменения. Git — твой друг.
🔹 День без кода — это нормально. Решение часто приходит во время отдыха.
🔹 Показывай игру другу, даже сырую. Со стороны баги виднее.
Ошибки — это не «я плохой», а «я расту». Каждый найденный баг — новый уровень.
Было похожее? 💬 Напиши — разберём. Если тема зашла, сделаю серию про частые косяки. Держись! 🚀
❤18🔥4 3🎄1
Akrus Games | Unity
Photo
Игра подписчика @MounSword_Gtima
╭˚༓─━━┉Артефакт НОВА / Artifact NOVA┉━━─༓˚╮
(Игра от Mountain Sword Studio)
Артефакт НОВА, сюжетная игра в жанре 👁🗨 Психологического хоррора приключения 👁🗨, довольно короткая, но интересная история о неизвестности и таинственном артефакте. Среднее прохождение которой займёт у вас от 15 до 30мин.
📖Предыстория:
⌛️Пару лет назад Корпорацией НОВА обнаружен загадочный артефакт на дне [ЗАСЕКРЕЧЕННО] впадины, происхождение которого неизвестно, но предположительно он был создан древней расой. По некоторым причинам артефакт не удалось поднять на сушу, поэтому пришлось разворачивать базу вокруг артефакта. На данный момент последний отчёт который обещал что следующий отчёт откроет все тайны этого артефакта был отправлен 2 месяца назад, а станция перестала выходить на связь, но при этом подаёт знаки функционирования.
🔹Группа снабжения и проверки под вашим руководством будет отправлена на базу, дабы вы установили что случилось с базой и с группой учёных. Для дальнейших указаний свяжитесь с нами через консоль связи на базе...
Стили игры переплетаются с 2д и 3д. Так же в игре есть пару очень простых мини игр - головоломок.
✨✨Поиграть в игру можно на данных платформах: ✨✨
👁🗨 Yandex Games - телефон и PC
👁🗨 Itch,io - только PC (сайт заблокирован в России)
✨˚༓─━━┉Всем хорошего дня!┉━━─༓˚✨
🔥8❤3 2
Что вы думаете о казуальных играх, с точки зрения игроков?
Anonymous Poll
21%
Лучшие игры 😍
21%
Игры для деградантов👎
57%
Иногда играю, но не высокого мнения о них 😐
❤1🔥1😁1
Привет! Ты когда-нибудь зависал на стадии выбора графики на две недели, а в итоге всё равно скачивал первые попавшиеся ассеты с itch.io? 😅
У меня так и было с моим первым «серьёзным» проектом — рпг про воина-путешественника. Я два дня гуглил «pixel art tutorial», скачал три разных набора спрайтов (все в разном стиле!), пытался их склеить в одном уровне. Получилась жуткая мешанина: воин-путешественник был из мультика, враги — мрачные пиксельные тени, а фон — вообще векторные горы. Смотрелось так, будто игра собрана из обрезков трёх разных игр. И самое обидное — я потратил кучу времени на поиск «той самой» графики, а на сам геймплей сил уже не осталось.
Я злился на себя. Казалось, вот выберу идеальные спрайты — и игра сразу станет крутой. Но на деле я просто топтался на месте, терял мотивацию и в итоге забросил проект. Потому что играть в это было стыдно даже самому.
В чём была ошибка? Я поставил телегу впереди лошади. Графика — это обёртка, а не конфета. Сначала нужно понять, что за игра у тебя под капотом.
Вот несколько простых правил, которые теперь спасают мои проекты:
1. Прототайп на квадратах и кружках. Пока твой геймплей не станет увлекательным с примитивными фигурами — к графике даже не прикасайся. Если игра с квадратиком не заходит, со спрайтом котика не зайдёт.
2. Стиль = твои навыки × сроки. Не замахивайся на сложную отрисовку от руки, если ты не художник и у тебя два месяца. Чистый пиксель-арт, минимализм, геометрические фигуры — твои друзья. Консистентность важнее сложности.
3. Укради! Не буквально, конечно. Собери референс-борд (коллаж) из игр и арта, который тебе нравится. Видишь общее? Может, это палитра, толщина контура или чувство юмора? Это и будет твоей отправной точкой.
4. Один источник — один стиль. Бери весь пак ассетов (персонаж, враги, предметы, фон) у одного автора. Если не хватает — ищи у других с максимально похожим стилем или доделывай сам, подражая.
5. Графика — это геймдизайн. Размер спрайта, его читаемость на фоне, понятная анимация атаки — это часть игрового процесса. Хорошая графика делает игру понятнее, а не просто красивее.
История с котом научила меня главному: совершенство в деталях на старте убивает проекты. Лучше корявая, но законченная игра, чем папка с идеальными, но разрозненными спрайтами в стиле «как бы красиво».
Ошибки и недели топтания — это не провал. Это самый честный способ понять, как делать надо. Просто в следующий раз начинай не с картинки, а с чувства. С той фишки, от которой сам не можешь оторваться.
А у тебя был проект, который утонул в поисках идеальной графики? Поделись в комментах, дай мне знать, что я не один такой! Если тема зашла, могу разобрать конкретные стили и где их искать. Удачи в разработке! 🚀
У меня так и было с моим первым «серьёзным» проектом — рпг про воина-путешественника. Я два дня гуглил «pixel art tutorial», скачал три разных набора спрайтов (все в разном стиле!), пытался их склеить в одном уровне. Получилась жуткая мешанина: воин-путешественник был из мультика, враги — мрачные пиксельные тени, а фон — вообще векторные горы. Смотрелось так, будто игра собрана из обрезков трёх разных игр. И самое обидное — я потратил кучу времени на поиск «той самой» графики, а на сам геймплей сил уже не осталось.
Я злился на себя. Казалось, вот выберу идеальные спрайты — и игра сразу станет крутой. Но на деле я просто топтался на месте, терял мотивацию и в итоге забросил проект. Потому что играть в это было стыдно даже самому.
В чём была ошибка? Я поставил телегу впереди лошади. Графика — это обёртка, а не конфета. Сначала нужно понять, что за игра у тебя под капотом.
Вот несколько простых правил, которые теперь спасают мои проекты:
1. Прототайп на квадратах и кружках. Пока твой геймплей не станет увлекательным с примитивными фигурами — к графике даже не прикасайся. Если игра с квадратиком не заходит, со спрайтом котика не зайдёт.
2. Стиль = твои навыки × сроки. Не замахивайся на сложную отрисовку от руки, если ты не художник и у тебя два месяца. Чистый пиксель-арт, минимализм, геометрические фигуры — твои друзья. Консистентность важнее сложности.
3. Укради! Не буквально, конечно. Собери референс-борд (коллаж) из игр и арта, который тебе нравится. Видишь общее? Может, это палитра, толщина контура или чувство юмора? Это и будет твоей отправной точкой.
4. Один источник — один стиль. Бери весь пак ассетов (персонаж, враги, предметы, фон) у одного автора. Если не хватает — ищи у других с максимально похожим стилем или доделывай сам, подражая.
5. Графика — это геймдизайн. Размер спрайта, его читаемость на фоне, понятная анимация атаки — это часть игрового процесса. Хорошая графика делает игру понятнее, а не просто красивее.
История с котом научила меня главному: совершенство в деталях на старте убивает проекты. Лучше корявая, но законченная игра, чем папка с идеальными, но разрозненными спрайтами в стиле «как бы красиво».
Ошибки и недели топтания — это не провал. Это самый честный способ понять, как делать надо. Просто в следующий раз начинай не с картинки, а с чувства. С той фишки, от которой сам не можешь оторваться.
А у тебя был проект, который утонул в поисках идеальной графики? Поделись в комментах, дай мне знать, что я не один такой! Если тема зашла, могу разобрать конкретные стили и где их искать. Удачи в разработке! 🚀
❤13🔥8🤯1😱1 1 1 1
🔥10 5🎄3🤯1
Media is too big
VIEW IN TELEGRAM
Недавно я проводил опрос в одном из чатов по моей любимой игре Hollow knight(метроидвания).
Вкратце объяснить чудо этой игры не получится, поэтому прикреплю релизный трейлер.
Спустя день большинство проголосовали за хардкорный геймплей и музыку(81%), и не много отстает графика(75%).
Меньше было у карты(т.е. мира игры)(57%) и сюжет(66%).
Из этого можно сделать вывод, что ваш супер закрученный сюжет, из-за которого вы не спали ночами, не так уже и важен, как хорошо проработанная графика, и красивейшая музыка. Это в первую очередь из-за того, что графика это первое что видит игрок, музыка это то, что его сопровождает в пути к боссу, из-за которого он умер. По поводу хардкорного геймплея скажу меньше, так как он встречается не в начале игры, а у же после того как пройдешь больше 90% процентов.
В итоге: сделайте самым лучшим, то что увидит игрок первый раз и то, что он будет видеть чаще всего. Т.е. графика и музыка - складывают впечатление об игре.
В комментах пришлю несколько саундтреков из игры.
Вкратце объяснить чудо этой игры не получится, поэтому прикреплю релизный трейлер.
Вопрос был такой: "Из-за чего вам нравится hollow knight?"
И варианты ответа:
1. Графика
2. Музыка
3. Сюжет
4. Хардкорный геймплей
5. Карта
6. Что-то еще?
Спустя день большинство проголосовали за хардкорный геймплей и музыку(81%), и не много отстает графика(75%).
Меньше было у карты(т.е. мира игры)(57%) и сюжет(66%).
Из этого можно сделать вывод, что ваш супер закрученный сюжет, из-за которого вы не спали ночами, не так уже и важен, как хорошо проработанная графика, и красивейшая музыка. Это в первую очередь из-за того, что графика это первое что видит игрок, музыка это то, что его сопровождает в пути к боссу, из-за которого он умер. По поводу хардкорного геймплея скажу меньше, так как он встречается не в начале игры, а у же после того как пройдешь больше 90% процентов.
В итоге: сделайте самым лучшим, то что увидит игрок первый раз и то, что он будет видеть чаще всего. Т.е. графика и музыка - складывают впечатление об игре.
❤12😁4🔥3🎄1
Сегодня активчик!
Пришлите в комментарии свою мышку и клавиатуру.
Посмотрим какие девайсы у программистов.
На фото моя мышка(bloody a70) и клава(китайская за 300 руб).
Akrus Games
Пришлите в комментарии свою мышку и клавиатуру.
Посмотрим какие девайсы у программистов.
На фото моя мышка(bloody a70) и клава(китайская за 300 руб).
Akrus Games
❤11🔥3
✅ C# Атрибуты в Unity: мета-инструкции для кода
Что это?
Специальные метки для классов, переменных или методов. Они дают подсказки движку и редактору Unity, как с ними работать.
Зачем?
- Делать переменные видимыми в Инспекторе без ключевого слова public
- Задавать диапазоны значений для ползунка
- Добавлять в контекстное меню кнопки для вызова методов
- Скрывать ненужные поля в Инспекторе
Как использовать?
Просто напиши имя атрибута в квадратных скобках [] перед элементом.
Популярные атрибуты:
[SerializeField]
Показывает private поле в Инспекторе.
[Range(min, max)]
Создает ползунок для значения.
[Header("Название")]
Добавляет заголовок в Инспектор.
[Tooltip("Подсказка")]
Показывает текст при наведении курсора.
[HideInInspector]
Прячет public поле из Инспектора.
Важно!
Атрибуты не меняют логику кода, а только управляют его отображением и поведением в редакторе Unity. Еще в поля можно писать только константы, не переменные!
💡 Используй, чтобы сделать процесс настройки объектов интуитивным и удобным.
Пост попросил @Cheeeeeeeb
#Unity #Unity3D #CSharp #Атрибуты #Gamedevelopment
Что это?
Специальные метки для классов, переменных или методов. Они дают подсказки движку и редактору Unity, как с ними работать.
Зачем?
- Делать переменные видимыми в Инспекторе без ключевого слова public
- Задавать диапазоны значений для ползунка
- Добавлять в контекстное меню кнопки для вызова методов
- Скрывать ненужные поля в Инспекторе
Как использовать?
Просто напиши имя атрибута в квадратных скобках [] перед элементом.
Популярные атрибуты:
[SerializeField]
Показывает private поле в Инспекторе.
[SerializeField] private int _health;
[Range(min, max)]
Создает ползунок для значения.
[Range(0f, 10f)] public float speed;
[Header("Название")]
Добавляет заголовок в Инспектор.
[Header("Player Settings")]
public int playerScore;[Tooltip("Подсказка")]
Показывает текст при наведении курсора.
[Tooltip("Сила прыжка в ньютонах")]
public float jumpForce;[HideInInspector]
Прячет public поле из Инспектора.
[HideInInspector] public bool isGrounded;
Важно!
Атрибуты не меняют логику кода, а только управляют его отображением и поведением в редакторе Unity. Еще в поля можно писать только константы, не переменные!
💡 Используй, чтобы сделать процесс настройки объектов интуитивным и удобным.
Пост попросил @Cheeeeeeeb
#Unity #Unity3D #CSharp #Атрибуты #Gamedevelopment
❤11🔥5
⚡️ 5 C# фишек, которые прокачают твой Unity-код
Сохрани — используешь каждый день, если хочешь писать чисто и современно.
1️⃣ ?? и ??=
📌 ?? — дефолт при null, ??= — инициализация, если объект ещё не создан.
В Unity:
• Подходит для ленивой инициализации компонентов
• Отлично работает с GetComponent() и кастомными системами DI
2️⃣ switch expression
📌 Читается лучше, чем громоздкий switch { case }, особенно в UI-слоях и инспекторных тулзах.
В Unity:
• Используй в кастомных инспекторах, отображении состояний, локализации
3️⃣ Интерполяция строк $""
📌 Быстрее и безопаснее, чем +. Упрощает логи на этапе разработки.
В Unity:
• Используй для логирования, UI-отладчика, вывода инфы в EditorWindow
4️⃣ using var (C# 8+)
📌 Безопасное использование ресурсов — автоматически закроется, даже при исключении.
В Unity:
• Полезно при работе с файлами, AssetBundle, StreamingAssets
• Работает только в .NET 4.x / Unity с C# 8+
5️⃣ readonly struct и in параметры (бонус)
📌 Меньше копий, больше производительности. Актуально в ECS и при передаче больших структур.
💬 Какие из этих ты уже используешь в Unity?
🔔 Подписывайся — будет ещё про Span<T>, LINQ и новые C# фичи в Unity
👉Akrus Games | Unity
Сохрани — используешь каждый день, если хочешь писать чисто и современно.
1️⃣ ?? и ??=
playerName = inputName ?? "Без имени";
list ??= new List<int>();
📌 ?? — дефолт при null, ??= — инициализация, если объект ещё не создан.
В Unity:
• Подходит для ленивой инициализации компонентов
• Отлично работает с GetComponent() и кастомными системами DI
2️⃣ switch expression
string label = state switch {
GameState.Menu => "В меню",
GameState.Playing => "Играем",
_ => "?"
};📌 Читается лучше, чем громоздкий switch { case }, особенно в UI-слоях и инспекторных тулзах.
В Unity:
• Используй в кастомных инспекторах, отображении состояний, локализации
3️⃣ Интерполяция строк $""
Debug.Log($"Игрок: {playerName}, Очки: {score}");
📌 Быстрее и безопаснее, чем +. Упрощает логи на этапе разработки.
В Unity:
• Используй для логирования, UI-отладчика, вывода инфы в EditorWindow
4️⃣ using var (C# 8+)
using var stream = File.OpenRead(path);
📌 Безопасное использование ресурсов — автоматически закроется, даже при исключении.
В Unity:
• Полезно при работе с файлами, AssetBundle, StreamingAssets
• Работает только в .NET 4.x / Unity с C# 8+
5️⃣ readonly struct и in параметры (бонус)
readonly struct DamageInfo {
public readonly int amount;
public readonly Vector3 direction;
}
void ApplyDamage(in DamageInfo info) { ... }📌 Меньше копий, больше производительности. Актуально в ECS и при передаче больших структур.
💬 Какие из этих ты уже используешь в Unity?
🔔 Подписывайся — будет ещё про Span<T>, LINQ и новые C# фичи в Unity
👉Akrus Games | Unity
🔥13❤2 1
🔥4❤1