LifeEXE | Unreal Engine | CG
2K subscribers
480 photos
624 videos
560 links
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
📱 Всем привет, всем привет! 📱

Вышла Visual Studio 2026 Insiders — так теперь называется preview сборка. Скачать бесплатную Community версию можно по ссылке ⬇️

🔗 Visual Studio 2026 Insiders

Внутри:
🔤Обновленный интерфейс
🔤Улучшения редактора
🔤Подсветка C++ атрибутов
🔤.NET 10 и C# 14 поддерживаются «из коробки»
🔤Ещё более глубокая AI-интеграция 🙂 конечно же

Подробнее можно почитать в блоге ⬇️

🔗 Visual Studio 2026 Insiders is here!

💡 В Release Notes больше информации о фичах. Появился, например, встроенный Code coverage. Видео на данную тему имеется на моём канале ⬇️

🔗 Тестирование в Unreal Engine. Метрики тестирования. Тестовое покрытие. OpenCppCoverage + Jenkins

и также в тему⬇️

🔗 ТОП-50 горячих клавиш Visual Studio для навигации, редактирования кода и дебагинга

#vs #code #cpp #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2510👍7🦄11
🤘 Всем привет, всем привет! 🤘

С днём программиста всех причастных! 👨‍💻

И да.. стандарт 🔤1️⃣2️⃣8️⃣ уже на подходе..

#day256 #code #cpp #programmer_day #gamedev #lifeexe #lifeexecode #humor
Please open Telegram to view this post
VIEW IN TELEGRAM
32😁27🔥10🎉8🤯4👍33🦄2
Media is too big
VIEW IN TELEGRAM
👨‍💻 Всем вечерний привет! 👨‍💻

В новый Unreal Engine 5.7 завезли ИИ ассистента — плагин AIAssistant, который находится по адресу: Engine\Plugins\Experimental\AIAssistant

Плагин элементарный: он просто открывает веб-морду Epic Developer Assistant в отдельном окне редактора движка, и, кстати, работает без логина:
🔗 https://dev.epicgames.com/community/assistant/embedded

😐 Но код конечно интересный — пробежался по исходникам.
Всё выглядит так, что разработчики, создавая плагин для интеллекта искусственного решили пренебречь интеллектом естественным.


Лапидарно — несколько моментов, которые прямо бросаются в глаза 👀

🚨 Структура — всё в кучу, как в гостях у Облонских: и бизнес-логика, и Slate UI, и конфиги, и тесты.

💡 Один из способов организации кода плагина можно посмотреть в моём open-source UnrealOpenAIPlugin — простейшее разделение исходников на 3 модуля:

🔤Core классы — ядро
🔤Пользовательский интерфейс — Slate/UMG
🔤Тесты

🔴 Использование TSet в простейшем случае для 14 символов? Возможно, конечно автор изучал структуры данных на данном коде — кто знает:
FString FAIAssistantConfig::GetMainUrlAsRegexString() const
{
static const TSet<FString::ElementType> CharactersToEscape{
'.', '*', '+', '?', '(', ')', '[', ']', '{', '}', '^', '$', '|', '\\',
};
FString Escaped;
Escaped.Reserve((MainUrl.Len() * 2) + 2 /* Allow for regex anchors */);
Escaped += FString::ElementType('^');
for (const FString::ElementType Character : MainUrl)
{
if (CharactersToEscape.Contains(Character))
{
Escaped += FString::ElementType('\\');
}
Escaped += Character;
}
Escaped += FString::ElementType('$');
Escaped.Shrink();
return Escaped;
}


💡 TSet тут избыточен — создаётся хеш-таблица с бакетами и метаданными для всего нескольких статических символов. Хватит switch/if или простейшей строки-набора:
static const FString CharsToEsc = TEXT(".+*?()[]{}^$|\\");


💡 Кому интересно, попробуйте переписать код выше самостоятельно. Правда к радости разработчика, компилятор часть лишнего тут и так соптимизирует.

🔴 FString::ElementType в данном случае только усложняет читаемость — можно смело использовать TCHAR.

🟢 Напоминаю, что тип FString имеет методы Append и AppendChar, которые аккуратно избавят от громоздких конструкций вида += FString::ElementType
⬇️
Escaped += FString::ElementType('^');

⬇️
Escaped.AppendChar('^');


💡 Сама функция GetMainUrlAsRegexString привязана к классу. Очевидно, её можно освободить или оформить как часть библиотеки утилит, передавая MainUrl параметром. Это разблокирует (помимо славы выдающегося архитектора ПО):

🔤Переиспользование
🔤Простоту тестирования — изолированные unit-тесты
🔤Композицию — можно комбинировать функции
🔤Single Responsibility Principe (SRP) — принцип единственной ответственности: функция делает ровно свою работу, а не «висит» на конфиг-классе, к которому относится лишь косвенно

🔴 Тесты написаны в старых нотациях IMPLEMENT_SIMPLE_AUTOMATION_TEST, хотя Automation Spec уже давно доступен. Ничего критичного, но зачем тянуть старое в новом плагине.

💡В курсе по тестированию на канале мы рассматриванием оба подхода.

🔤🔤🔤🔤🔤🔤🔤

🤝 Поддержать:
Patreon | Boosty | PayPal

Ресурсы:
GitHub | X | LifeEXE School | Itch | Wiki | Курс по UE

#code #cpp #plugin #unrealengine #ue5 #gamedev #lifeexe #lifeexecode #ai #ai_assistant #tests #code_review
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3712🦄742😁21👍1
Media is too big
VIEW IN TELEGRAM
🆕 Всем привет, всем привет! 🆕

Новое видео в эту пятницу на канале — код-ревью плагина AI Assistant, о котором недавно был пост.

В ноябре возвращаемся к разработке игрового движка 🤘 Материалы в постпродакшне. Об этом рассказываю в начале код-ревью 😎


🔽 Ролик уже доступен на Boosty и Patreon 🔽

Увидимся в конце рабочей недели на канале!

💡Плейлист code review

🔤🔤🔤🔤🔤🔤🔤

🤝 Поддержать:
Patreon | Boosty | PayPal

Ресурсы:
GitHub | Itch | X | Wiki | LifeEXE School

#code #cpp #plugin #unrealengine #ue5 #gamedev #lifeexe #lifeexecode #lifeexe_youtube #ai #ai_assistant #code_review
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3184👍1🦄11
💥 Всем привет, всем привет! 💥

Видео с код-ревью AI Assistant плагина сегодня вечером на канале ⬇️

🔗 https://youtu.be/Cfj8774H1sU

🔤Посмотрим как работает плагин
🔤Проведём несколько рефакторингов
🔤Расскажу про ближайшие планы

Подключайтесь вечером в чат премьеры
— буду рад всех видеть 🤘

🔤🔤🔤🔤🔤🔤🔤

🤝 Поддержать:
Patreon | Boosty | PayPal

Ресурсы:
GitHub | Itch | X | Wiki | LifeEXE School

#code #cpp #plugin #unrealengine #ue5 #gamedev #lifeexe #lifeexecode #lifeexe_youtube #ai #ai_assistant #code_review
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍7🦄511
LifeEXE | Unreal Engine | CG
📱 Всем привет, всем привет! 📱 Вышла Visual Studio 2026 Insiders — так теперь называется preview сборка. Скачать бесплатную Community версию можно по ссылке ⬇️ 🔗 Visual Studio 2026 Insiders Внутри: 🔤Обновленный интерфейс 🔤Улучшения редактора 🔤Подсветка…
📱 Всем привет, всем привет! 📱

Вышел официальный релиз Visual Studio 2026 ⬇️

🔗 https://visualstudio.microsoft.com/downloads

Много интересного для C++ разработчиков (для нас 😆) ➡️

🔤Обновлённый интерфейс + добавлено 11 новых тем
🔤Новый набор инструментов сборки: Microsoft C++ Build Tools v14.50 — улучшена поддержка стандартов C++23
🔤Предварительная поддержка AddressSanitizer для ARM64
🔤Новые хоткеи: например, Ctrl+W закрывает вкладку
🔤Подсветка атрибутов C++
🔤Возможность генерировать препроцессированный вывод файла прямо из Solution Explorer
🔤Новый проект по умолчанию для MSBuild теперь C++20
🔤Улучшен Copilot Chat
🔤Рендеринг Mermaid chart

Активно развивают поддержку Unreal Engine проектов ➡️

🔤Аргументы командной строки можно предавать и для UE проектов через верхний toolbar
🔤Performance улучшен. Имеются результаты benchmark для Unreal Engine City Sample

Все подробности в блоге Visual Studio ⬇️

🔗 What’s New for C++ Developers in Visual Studio 2026 version 18.0

На моем канале имеется научно-популярные видео в тему⬇️

🔗 ТОП-50 горячих клавиш Visual Studio для навигации, редактирования кода и дебагинга
🔗 OpenAI демо «Vision + Text To Speech» в CitySample от Unreal Engine

🔤🔤🔤🔤🔤

#vs #visual_studio #vs2026 #code #cpp #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥158🦄1👾1
🆕 Всем привет, всем привет! 🆕

Вайбкодеры изобрели новую нотацию TOON — Token-Oriented Object Notation ➡️

🔗 https://github.com/toon-format/toon

Формат создан для экономии количества токенов. Очень всё это напоминает обычный CSV. 😁 Но не будем ригористами — дадим им шанс 👌

#toon #notaion #protocol #vibe_coding #ai #code #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
148🦄6🍾2😎1
This media is not supported in your browser
VIEW IN TELEGRAM
🙃 Всем привет, всем привет! 🙃

Подборка плагинов для прожарки VS CODE 🔥🔽

🔤Rediculous Coding
🔤Power Mode
🔤Incredibly In Your Face
🔤Hot Dog Stand

🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤 🔤 🔤🔤🔤🔤🔤🔤

#code #vs_code #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥22😎106😱33🦄1
📱 Всем вечерний привет! 📱

В 🎮nreal Engine имеется полезный спецификатор для работы со статическими массивами — ArraySizeEnum ⬇️

UENUM(BlueprintType)
enum class ECharacterClass : uint8
{
Warrior UMETA(DisplayName = "Warrior"),
Priest UMETA(DisplayName = "Priest"),
Ranger UMETA(DisplayName = "Ranger"),
Druid UMETA(DisplayName = "Druid"),

Count UMETA(Hidden)
};

// UI цвета для каждого класса
UPROPERTY(EditAnywhere, meta = (ArraySizeEnum = "ECharacterClass"))
FColor UIColors[(uint8)ECharacterClass::Count];

// Базовое здоровье для каждого класса
UPROPERTY(EditAnywhere, meta = (ArraySizeEnum = "ECharacterClass"))
float BaseHealth[(uint8)ECharacterClass::Count];


💡 Чем он полезен ⬇️

🟢 В редакторе массив показывает названия элементов enum
🟢 Размер массива автоматически синхронизируется с enum
🟢 Типобезопасный и понятный доступ к элементам

‼️ Нюансы использования ⬇️

⚠️ Рекомендуется добавлять в enum элемент Count/MAX/Total с пометкой UMETA(Hidden) — так удобнее определять размер массива и этот элемент не будет виден в редакторе
⚠️ Нельзя использовать BlueprintReadWrite/BlueprintReadOnly
⚠️ Для Blueprint доступа создавайте getter функции
⚠️ В примере я применяю C-style cast для компактности кода, но лучше использовать современный подход со static_cast

🔤🔤🔤🔤🔤🔤🔤

🤝 Поддержать:
Patreon | Boosty | PayPal

Ресурсы:
GitHub | Itch | X | Wiki | LifeEXE School

#tips_and_tricks #unrealengine #ue5 #code #cpp #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
55🔥3110🦄5🐳22👍1
▶️ Всем привет, всем привет! ▶️

Непостоянная рубрика: Воскресный C++ 🦊

Типизация и применение std::string_literals в современном C++

📕 Полноценная статья доступна для подписчиков Boosty и Patreon


using namespace std::string_literals; — это директива в C++, которая позволяет использовать суффикс s для создания объектов std::string напрямую из строковых литералов.

Эта возможность появилась в стандарте C++14.

В «классическом» C++ строковый литерал "Hello" имеет тип const char* — C-style массив символов, а не std::string➡️

#include <string>

int main()
{
auto str1 = "Hello"; // Тип: const char*

using namespace std::string_literals;
auto str2 = "Hello"s; // Тип: std::string
return EXIT_SUCCESS;
}


⁉️ ЗАЧЕМ ЭТО НУЖНО ⁉️

1️⃣ КОНКАТЕНАЦИЯ СТРОК

Без string_literals нельзя просто взять и сложить два const char*➡️

std::string result = "Hello" + ", world";

// ОШИБКА компиляции!
// компилятор выдаст что-то такое ->
// error: invalid operands to binary expression

💡 Почему? Потому что в C++ нельзя складывать два указателя (адреса памяти). Это не имеет математического смысла. Указатели можно вычитать в контексте одного массива, но не складывать.

А вот с суффиксом s это работает, так как вызывается перегруженный operator+ для класса string ➡️

#include <print>
#include <string>

int main()
{
using namespace std::string_literals;

auto result = "Hello"s + ", world"s;
std::println("{}", result);

return EXIT_SUCCESS;
}


2️⃣ ПЕРЕГРУЗКА ФУНКЦИЙ (Вот тут бывает больно!)

Что будет выведено в консоль? ➡️

#include <print>
#include <string>

void process(bool param)
{
std::println("bool");
}

void process(const std::string& str)
{
std::println("string");
}

int main()
{
using namespace std::string_literals;

process("hello"); // ?
process("hello"s); // ?

return EXIT_SUCCESS;
}


Ответ может удивить:
😂 process("hello") выведет bool
😉 process("hello"s) выведет string

Почему так? У компилятора есть два пути➡️

1️⃣От const char* к std::string через конструктор класса — это User-defined conversion.

2️⃣ От указателя к bool (любой не null указатель = true) — это Standard conversion.

🔗Пример в Compiler Explorer

В C++ стандартные преобразования имеют приоритет. Поэтому строка молча превращается в true, и вы попадаете не в ту функцию — суффикс s решает эту проблему.

💡 В продакшн коде таких семантически далёких перегрузок лучше избегать. Но на реальных сигнатурах с дефолтами и несколькими параметрами такое легко пропустить. Поэтому это еще один из способов отстрелить себе ногу в С++

📕 Больше информации, ньюансов и примеров со ссылками на Compiler Explorer в полноценной статье на Boosty и Patreon


🔤🔤🔤🔤🔤🔤🔤

🤝 Поддержать:
Patreon | Boosty | PayPal

Ресурсы:
GitHub | LifeEXE School | Itch | X | Wiki | Курс по UE

#cpp #tips_and_tricks #code #lifeexe #lifeexecode #lifeexeEDU
Please open Telegram to view this post
VIEW IN TELEGRAM
524🔥1663👍1🦄1