Akrus Games | Unity
2.95K subscribers
408 photos
89 videos
11 files
351 links
Самые годные лайфхаки по unity c#

Сотрудничество/реклама/помощь @Akrus001
Download Telegram
int? a = null;
int b = a ?? 5;
Console.WriteLine(b);
4🔥22
Что выведет код?
Anonymous Quiz
25%
null
18%
Ошибка компиляции
50%
5
7%
0
422
🎨 5 приёмов, чтобы твоя Unity-игра выглядела дорого даже без бюджета

Сохрани — эти штуки реально делают визуал приятнее и выделяют игру среди новичковских проектов.

1️⃣ Постобработка (Post Processing)

Добавь эффект Bloom, Color Grading, Vignette, Ambient Occlusion — и сцена сразу «засияет».

📌 Unity URP / HDRP: уже встроено.
📌 Built-in: ставь Post Processing Stack v2 из Package Manager.

💡 Совет: начинай с Color Grading → «Lift/Gamma/Gain» и «Saturation».

2️⃣ Лайтинг: мягкий свет и тени = половина визуала

🔸 Используй мягкие теневые источники (Soft Shadows).
🔸 Не бойся Ambient Light — выставь приятный цвет.
🔸 Добавь немного “fake lighting” — вручную расставленные точечные огни (Point Light) с маленьким радиусом для акцентов.

💡 Даже одна Directional Light с хорошим цветом и тенью меняет всё.

3️⃣ Цветовая палитра — делай палитру до сцены

🎨 Придерживайся 2-3 основных цветов. Не смешивай кислоту с пастелью.

📌 Используй сайты:
https://lospec.com/palettes
https://coolors.co/

💡 Палитра = визуальный стиль. Даже кубы в правильных цветах выглядят красиво.

4️⃣ UI — скругления, шрифт и тени творят чудо
• Ставь кастомный шрифт (Google Fonts, например Exo 2)
• Добавь UI-элементам Outline или Shadow
• Делай отступы и выравнивание — визуально чисто и приятно.

💡 Не забывай Canvas Scaler: Scale With Screen Size.

5️⃣ Плавные анимации = живой мир

🌀 Добавь лёгкие LeanTween/DOTween анимации на UI и объекты.
Например:
• Кнопки масштабируются при наведении
• Предметы чуть покачиваются
• Монетки подпрыгивают

📌 Даже минимальная анимация делает мир “живым”, а игру — опрятной.

Эти простые приёмы = результат, будто над проектом работал дизайнер.

💬 Что ты из этого уже используешь?
🔔 Подписывайся — будет ещё про Shader Graph, URP, эффекты, UI-хитрости и фреймрейт.

👉Akrus Games | Unity
Please open Telegram to view this post
VIEW IN TELEGRAM
932🔥1
void Print(params int[] numbers) => Console.WriteLine("Params");
void Print(int x) => Console.WriteLine("Single");

Print(1);
543111
🔥2
😁4441
This media is not supported in your browser
VIEW IN TELEGRAM
🔥5😁2211
Media is too big
VIEW IN TELEGRAM
🔥 РОЗЫГРЫШ ИСХОДНИКА UNITY: MINECRAFT CLICKER! 🔥
Привет геймдев-энтузиасты! 🎮 У нас горячий подарок для тех, кто хочет заглянуть под капот крутого проекта: разыгрываем полный исходник Minecraft Clicker на Unity!

🤩 Что внутри?
Готовый кликер

🟢Адаптивный UI в стиле Minecraft

🟢Оптимизированный код на C#

💎 Ассеты + настройки сцен

Идеально для:
🟣 Новичков в Unity (разбор рабочих механик!)
🟣 Портфолио (добавьте крутой проект!)

👑 Как выиграть:

Подписаться на Akrus Games ❤️

Нажать кнопку "Участвовать"

⚠️ Сроки:
До 25 июня 2025! Победителя выберем рандомом, результат закрепим тут.
Победитель один!

#розыгрыш #unity3d #gamedev #исходники #minecraft #кликер #AkrusGames #программирование
Please open Telegram to view this post
VIEW IN TELEGRAM
733😁1
var list = new List<int> { 1, 2, 3 };
foreach (var item in list)
{
if (item == 2)
list.Remove(item);
}
43
Хотите ли вы подборку лучших бесплатных курсов и книг по Unity и C#?
Anonymous Poll
71%
Да
29%
Нет
Akrus Games | Unity
🎯 Цель — 200 подписчиков! Друзья, как только наш канал набирает 200 подписчиков, я выпускаю Telegram-бота, который будет вашим карманным помощником по Unity и C#! 💡 В боте вы найдёте: — Самые полезные фишки по Unity — Советы по C# — Подборки курсов, книг…
⚡️Напоминаю, что когда наш канал набирает 200 подписчиков, мы выпускаем для вас Telegram-бота. И каждые 50 подписчиков мы будем добавлять туда что-то новое и интересное.
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3😱3
🔍 Важно!

Похоже, на канал недавно накрутили около 100 подписчиков без моего ведома. Это была не моя инициатива и, скорее всего, сделано сторонними людьми — возможно, враждебно или «в подарок» от каких-то сервисов.

❗️Я выступаю против накруток, потому что они портят статистику и мешают понимать, кто действительно читает канал.
В ближайшее время постараюсь удалить неактивных ботов и вернуть всё в норму.

Спасибо, что вы со мной — настоящая, живая аудитория ❤️
Продолжаем делать годный контент!
Please open Telegram to view this post
VIEW IN TELEGRAM
18😱6🔥511
На чьей ты стороне?
Anonymous Poll
9%
Linux
81%
Windows
9%
macOS
➡️Screenshot Saturday!

⚡️Вот и настала суббота. Делитесь своими проектами, мыслями и наработками в комментариях!

👉Akrus Games | Unity

#screenshotsaturday
Please open Telegram to view this post
VIEW IN TELEGRAM
5
🚀 5 приёмов C# и Unity, которые отличают джуна от мидла

📌 Сохрани — это шаг в сторону масштабируемого и профессионального кода

1️⃣ Action и Func — универсальные делегаты

public Action OnFinished;
public Func<bool> IsConditionMet;


📌 Упрощают объявления и колбэки. Подходят для:
• UI-событий
• игровых триггеров
• асинхронных проверок

Вместо создания собственного делегата — просто:

OnFinished?.Invoke();


2️⃣ LINQ + лямбды — фильтрация без циклов

var enemies = allUnits.Where(u => u.IsEnemy && u.HP > 0).ToList();


📌 Сокращает код и улучшает читаемость.
Идеально для выбора целей, фильтрации объектов и логики на старте.

⚠️ Внутри Update() не злоупотребляй — может создать GC.

3️⃣ Extension Methods — пиши C#, будто это твой движок

public static Vector3 WithY(this Vector3 v, float y) => new(v.x, y, v.z);


📌 transform.position = pos.WithY(0); — читается, как родной синтаксис.
Абстрагируй повторы, работай с Transform, GameObject, string, float и т.д.

4️⃣ ScriptableObject — переменные и сигналы между сценами

[CreateAssetMenu]
public class FloatVariable : ScriptableObject {
public float Value;
}


📌 Используется как:
• runtime переменная (настройки, состояния)
• Event-центр (через UnityEvent или кастомные Raise())
• конфигурация апгрейдов / миссий

Поддерживает инспекторную настройку и разделение логики от данных.

5️⃣ Editor-инструменты — экономь себе часы

[MenuItem("Tools/Clear PlayerPrefs")]
private static void ClearPrefs() => PlayerPrefs.DeleteAll();


📌 Один клик — и готово.
Создавай себе:
• дебаг-кнопки
• редакторы данных
• инструменты генерации

Хочешь больше — используй EditorWindow, PropertyDrawer, AssetPostprocessor.

💬 Хочешь идти в senior — думай об удобстве других, переиспользуемости и времени команды.

🔔 Подписывайся — впереди про архитектуру, DI, UI-системы и async паттерны

👉Akrus Games | Unity
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥32
Как делать UI, который не ломается

📌 Middle-уровень — это не просто «UI работает». Это UI, который масштабируется, адаптируется и не разваливается на любом экране.

1️⃣ Canvas Scaler: Scale With Screen Size

UI Scale Mode: Scale With Screen Size
Reference Resolution: 1920 x 1080 (или 1080 x 1920 для вертикали)


📌 UI масштабируется пропорционально экрану. Не забудь установить Screen Match Mode в Match Width Or Height.

2️⃣ Layout Group + ContentSizeFitter — друг, но с оглядкой

📌 Уходи от фиксированных размеров. Пусть элементы растягиваются и подстраиваются.
НО: ContentSizeFitter тяжёлый в Scroll View. На списках — лучше вручную контролировать размеры через LayoutElement.

3️⃣ Safe Area — must have на мобилках

📌 Используй Screen.safeArea и адаптируй UI под вырезы, чёлки, панели.
Особенно важно для iPhone X+, Samsung с закруглёнными краями.

Есть готовые плагины (например, SafeArea.cs) — или пиши свой, обрезая RectTransform под safeArea.

4️⃣ Anchors и Pivot — основа адаптивного UI

📌 Никогда не ставь UI в абсолютные координаты.
Используй anchorMin и anchorMax — например, чтобы кнопка «назад» всегда оставалась в левом верхнем углу, независимо от разрешения.

5️⃣ UI Manager — централизованное управление интерфейсом

📌 Используй один UIManager, который управляет:
• текущими экранами (через стэк или FSM)
• открытием/закрытием окон
• блокировкой ввода
• переходами (анимации, звук, пауза)

💡 Идеально: событийная архитектура. Панель не знает о других панелях — всё через UIManager.Show("Settings").

🎯 Почему это важно?
UI — это первое, что видит игрок. Даже простая игра выглядит “профессионально”, если у неё стабильный и адаптивный интерфейс.

💬 Что у тебя чаще всего ломается в UI?
🔔 Подписывайся — впереди посты про оптимизацию, UI-архитектуру и best practices

👉Akrus Games | Unity
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯5211
Архитектурные ошибки, которые мешают скейлиться

📌 Вот что часто делает мидл, когда ещё не думает как senior:

1️⃣ Всё в одном MonoBehaviour

// И логика, и UI, и данные — всё в одном классе 😵


📌 Разделяй по слоям:
Model — данные (например, ScriptableObject, runtime state)
View — отображение и UI (MonoBehaviour с UI-ссылками)
Controller/Manager — логика и управление

🧠 Это основа MVC / MVVM / ECS — двигайся в сторону слабосвязной архитектуры.

2️⃣ Прямые ссылки между объектами

enemy.healthBar.SetValue(enemy.hp); // жёсткая связь


📌 Лучше через:
• Action и event-события
• интерфейсы (например, IDamageable)
• ScriptableObject-сигналы (EventChannel)
• Service Locator / Dependency Injection (Zenject, Extenject)

3️⃣ Нет централизованного GameManager или FSM

📌 Когда логика разбросана по сцене — сложно дебажить, сохранять и управлять состоянием игры.

🛠️ Сделай GameState-машину:

GameState.Menu → GameState.Playing → GameState.Paused

Добавь централизованную точку входа:
• UIManager
• SceneController
• AudioManager

4️⃣ Мешанина из public переменных

public int hp; // открыто для всех


📌 Используй:

[SerializeField] private int hp;
public int HP => hp;


🧠 Это защищает от случайных изменений и делает код самодокументируемым.

5️⃣ Нет разделения Editor и Runtime

📌 Всё, что относится к редактору (например, EditorGUILayout, Handles, MenuItem) — в папку /Editor и под #if UNITY_EDITOR.

Если этого не сделать:
• код попадёт в билд (ошибка)
• появится ненужный вес
• сломается на мобильных/в WebGL

💡 Средний уровень — это уже мышление архитектора: ты создаёшь систему, которую другие смогут поддерживать, расширять и не бояться трогать.

💬 Хочешь пост про конкретные архитектурные подходы: EventBus, ScriptableSignals или Scene Flow?

🔔 Подписывайся — впереди про UI-архитектуру, async-менеджеры и паттерны уровня Senior

👉Akrus Games | Unity
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥722211