Common UI, UMG ViewModel 플러그인을 근 2달 가량 RnD 한 후기를 두서없이 간략하게 남겨봅니다.

 

Common UI

  • 멀티 플랫폼, 멀티 컨트롤러에 대해 크게 강조를 하였지만 실상은 그다지 효과적이지는 않음.
  • 물론 PC-콘솔 멀티 플랫폼에서는 할만 함.
  • 하지만 모바일이 들어가면 답이 없어 짐.
  • Common UI가 소개하는 기능 대부분이 InputAction을 UI에 Bind하는 것.
  • 아직 UI Event에 InputAction Bind는 제대로 동작 안함.
  • 게다가 UI의 Focus를 강력하게 체크하는데 모바일은 특성 상 UI의 터치, 드래그 등의 조작이 빈번함.
  • 이것저것 편의 기능을 만들었지만 아직 실무에서 활용하기에는 부족함이 큼.

UMG ViewModel

  • ViewModel의 근간이 되는 FieldNotify는 UE5 순정 기능.
  • MVVMViewModelBase에 선언 된 매크로와 SetProperty 템플릿 함수만 따로 분리해서 사용하는 것도 충분히 좋음.
  • ViewModel Creation 방식이 제한적임.
  • 가장 무난하게 사용 가능한게 Global Context, 그 다음이 Manual.
  • Resolve, Property Path는 구현이 덜 되었거나 제대로 분석이 안되어 사용 불가.
  • Creation은 사용 가능하나 현실적인 이유로 사용 불가.
  • 현실적인 이유: ViewModel을 BP로 안 만든다.
  • UMG ViewModel의 Bind가 BP에서 이루어 지지만, Model과 View의 중간자인 만큼 생성과 데이터 입력은 코드에서 일어날 가능성이 높음.
  • 그런데 Native Class에서 선언한 ViewModel 변수를 Bind 받지 못함.
  • BP 함수로 Set을 명시적으로 해줘야 함.
  • 이 지점에서 일단 사용성이 기대한 것만큼 안 나옴.
  • 여기에 ViewModel이 모두 UObject이므로 LifeCycle을 조절해줘야 함.
  • 이 부분이 ViewModel을 순정으로 사용 못하고 상당한 별도의 아키텍쳐 설계를 요구함.
  • 즉, 어느정도 Utility가 있어야 사용 가능함.

사실 2가지를 모두 섞어서 쓰다가 Common UI는 아직 시기상조이지만 UMG ViewModel은 편의기능만 만들면 쓰기 좋겠다 싶었습니다.

특히 개발자 입장에서는 View에 해당하는 Native C++ 작업을 ViewModel 작업으로 대체.

ViewModel이 제공하는 정보의 종류만 공유가 되면 아티스트와 완전한 병행 작업이 가능하기 때문에 꼭 쓰고 싶었습니다.

하지만 한국에서는 아직 대다수의 구성원들이 업무를 좁게 해석하더군요.

디자이너들도 BP 작업을 완강히 거절하였고, 아티스트도 시각디자인이 아닌 작업을 할 이유를 못 찾겠다 하네요....

 

혹 이 Plugin에 관심을 가지시는 분들이 계시다면 지나가면서 살짝 보시고 RnD 해보시기 바랍니다.

'UE5 > UI' 카테고리의 다른 글

[UI] Common UI FAQ  (0) 2024.07.10
[UI] CommonUI Technical Guide  (0) 2024.07.10
[UI] Common UI Widget  (0) 2024.07.10
[UI] Common UI Introduction  (0) 2024.07.10
[UI] UMG ViewModel  (0) 2024.07.08

+ Recent posts