【UE5】MVVM(UMG ViewModel)を使ってみた|導入方法・メリット・デメリットを解説

タイトル装飾

【UE5】MVVM(UMG ViewModel)を使ってみた |導入方法・メリット・デメリットを解説

 

 

【UE5】MVVM(UMG ViewModel)を使ってみた |導入方法・メリット・デメリットを解説  

        

        

UE5のプラグイン「UMG ViewModel」を数か月使ってみた所感をまとめます。

数か月使用してみた結論としては、チーム開発では非常に有効でした。

        

        

  • プラグイン「UMG ViewModel」とは

        

プラグイン「UMG ViewModel」は、

        

UMGにおけるModel-View-ViewModelパターンをサポートするプラグインです。

2026年07月時点ではβ版となります。

        

※記事執筆時のUE使用バージョンは、UE5.5.4です。

        

ModelViewViewModel(以降は MVVM と記載)とは、

アプリケーションを3つの役割 (View・ViewModel・Model)に分けた考え方です。

        

        

View    :ユーザーに表示する部分です。

ViewModel :ViewとModelの橋渡し。

Model    :ゲームデータやゲームロジックを管理します。

        

       :ViewModelはModelの変更に応じて表示データを更新します。

        

        

  • プラグインの導入方法

        

プラグインの導入方法についてです。

        

        

1.エディタ側ではプラグインの設定から「UMG ViewModel」と検索し、チェックを付ける。

        

        

※使用するにはUnrealEditorの再起動が必要になります。

        

2.C++を使用する場合は、<任意プロジェクト名>.Build.cs ファイルを開き、

        

        

「PublicDependencyModuleNames」に「“ModelViewViewModel”」を追加してください

        

        

        

  • MVVMの導入理由

        

プロジェクトで、デザイナーとプログラマが同じWidgetを触らざるを得ない状況を

        

回避するために導入してみました。

        

        

  • MVVMのメリットデメリット

■メリット

        

・デザイナーがView、プログラマがModelとViewModelと分担して作業を進めることができる点。

        

 デザイナーはWidget Blueprintだけを編集し、

        

 プログラマはViewModelだけを編集する運用ができました。

        

・ウィジェットにどんなViewModelが登録されているかを確認するだけで、

        

 ある程度使い方の想定ができる点。

        

・チーム内でルールを決めて運用するのに向いている点。

        

■デメリット

        

・プログラマがウィジェット(View)側で機能実装したい時は、

        

 結局ウィジェットの修正が必要になる点。

・ウィジェットの変数にアクセスする際になどに、ViewModelを介すと実装が複雑になる点。

        

        

  • MVVMを使ってみた所感

        

汎用的なウィジェットを作成する場合はルールが明確になり分かりやすいです。

        

ただ導入し始めの時は少し癖があり、戸惑った点もありました。

        

        

デメリットについては、「使う場所を限定する」である程度克服できました。

        

以下2つのルールを設けることで使いやすくなりました。

        

        

1.汎用的なウィジェットのみViewModelを使用する。

  他の人が関与しない個々の実装を行う際は、

        

  ViewModelを介すことでパラメータへのアクセス工程が増え、

        

  むしろ開発速度が遅くなってしまいました。

        

        

2.ViewModelの使用の有無に関わらず、

        

  基本的なウィジェットの作成や構成についてはデザイナーに任せる。

        

  デザイナーの後工程としてプログラマが実装していく。

  このルールを設けたことで当初の目標である

   「デザイナーとプログラマが同じWidgetを触らざるを得ない状況を回避する」

        

   が実現できるようになりました。

        

        

  • さいごに

        

以上がプラグイン「UMG ViewModel」を使ってみた所感になります。

癖はありますが、慣れて適した場面が分かると便利なプラグインとなっています。

導入後も状況に応じて使い分けもできますので、是非とも使用を検討してみてください。

    

   
作者
  Y.T
  PG

目次

目次を生成中...

Asset

前の記事

CasualGame_UI_Pack_Pop