TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Flutter Pulse

29 Sep, 18:02

Open in Telegram Share Report

👣 Как встроить Unity игру во Flutter приложение

Flutter — это король интерфейсов, навигации и бизнес-логики. Но когда дело доходит до 3D, сложной физики или AR, он пасует. Зато здесь на сцену выходит Unity.

Многие команды мечтают объединить эти два мира: красивую Flutter-оболочку и мощную Unity-сцену внутри. Раньше это было болью: ручной экспорт библиотек, бесконечная правка
settings.gradle
, написание
method channels
и отдельная
UnityPlayerActivity
. Хрупко, долго и страшно обновлять.

Но времена меняются! Появился Game Framework — современный инструмент (преемник
flutter_unity_widget
), который автоматизирует весь этот процесс. Это CLI и SDK, которые превращают Unity-сцену в обычный Flutter-виджет с типобезопасным обменом сообщениями.

Как это работает?

1️⃣ Устанавливаем CLI через Homebrew:
brew tap xraph/tap
brew install game-cli
2️⃣ Добавляем пакеты в
pubspec.yaml
:
  gameframework: ^0.0.3
  gameframework_unity: ^0.0.4
3️⃣ Инициализируем плагин в
main()
:
UnityEnginePlugin.initialize();
4️⃣ Экспортируем Unity-проект одной командой:
game export unity --platform android,ios
5️⃣ Синхронизируем с Flutter-проектом:
game sync unity --platform android,ios
Эта команда сама подключает Gradle-модуль для Android и iOS-framework. Никакого ручного редактирования конфигов!

Unity как виджет

После синхронизации ваша 3D-сцена становится обычным виджетом:
GameWidget(
  engineType: GameEngineType.unity,
  onEngineCreated: (controller) => _controller = controller,
  onMessage: _onMessage,
  config: const GameEngineConfig(
    fullscreen: false,
    runImmediately: true,
    unloadOnDispose: true,
  ),
)
Обмен сообщениями

Flutter может отправлять команды в Unity:
await _controller?.sendMessage(GameManager, SetSpeed, 2.5);
await _controller?.sendJsonMessage(GameManager, UpdateScore, {
  score: 100,
  stars: 3,
});
А Unity может отправлять данные обратно через небольшой мост на C#. В Flutter эти сообщения приходят в обработчик
onMessage
.

Интеграция перестала быть рутиной. Проект бесплатный и с открытым исходным кодом. Если вы хотите добавить 3D или AR в свое приложение — обязательно посмотрите на этот инструмент! 🚀

Полную новость читайте здесь.

FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #unity #gamedev

231 0 7 1
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot