【UE4】HotReload vs Live++ 의 조사와 Live++ 의 사용법

먼저



본 기사는 언리얼 엔진에서 C++ 프로젝트를 만들 때 이 HotReload와 Live++라는 기능을 살펴보고 정리한 것입니다. 언리얼 엔진에서 C++ 프로젝트를 만들 때 Live++는 유용한 장면이 많을까 생각합니다. 실수나 더 좋은 방법이 있었을 경우에는 살짝 Twitter( @ 로사무 )나 코멘트, 수정 리퀘스트등으로 알려 받을 수 있으면 매우 고맙습니다.

작업환경



기사 내에서 사용하는 작업 환경은 다음과 같습니다.
  • 언리얼 엔진: 4.23
  • Visual Studio: Community 2017 or Community 2017 for Mac or Enterprise 2019

  • Live++ VS HotReload



    Live++


  • Windows에서만 지원됩니다.
  • Live++에서는 C++의 반복 시간이 최대 3배 고속화된다.
  • 코드 변경 부분만 백그라운드에서 컴파일하고 DLL을 다시 로드합니다.

  • 메소드내의 처리를 변경하는 마이너 코드이면 사용할 수 있다.
  • 클래스 구조의 변경(메소드나 프로퍼티의 추가/삭제)은 실패한다.
  • Live++의 경우는 실행중에서도 변경이 가능.
  • Live++를 사용하는 경우, Engine측의 모듈이나 Plugin을 포함하면 동작 불안정하게.

  • HotReload


  • enum이나 struct를 제외한 거의 모든 코드를 리로드 할 수 있다.
  • DLL 전체를 재구성하기 위해 Live++보다 상당히 시간이 걸린다.
  • 공개 변수를 .h로 변경하거나 추가한 후 핫 리로드를 하면 BP상에서 값이 리셋될지 보이지 않게 된다.
  • 이 경우 재부팅.


  • 구분



    메소드의 처리를 변경하면 Live++.

    속성이나 메서드를 추가하는 경우 HotReload 또는 다시 시작합니다.

    Live++ 사용




    Edit 에서 Editor Preferences > Live Coding 를 여십시오.



    여기에 몇 가지 설정 항목이 표시되므로 관련이 있는 것을 살펴보겠습니다.




    품목
    요소
    개요


    Enable Live Coding
    true
    Live++를 활성화하십시오.

    false
    Live++를 비활성화하십시오.

    Startup
    Start automatically and show console
    시작시 Live++가 시작되고 콘솔도 표시됩니다.

    Start automatically but hide console until summoned
    시작시 Live++가 시작되지만 콘솔이 호출 될 때까지 숨겨집니다.


    Live++ 실행


    Enable Live Coding 를 유효하게 한 상태에서, 파일을 변경해 보존, Ctrl + Alt + F11 를 눌러 C++ 코드의 리컴파일이 실행된다.



    라이브코딩이 잘 안되면



    이전에 핫 리로드를 사용한 경우에 발생할 수 있습니다.

    이 경우 [Binaries] 폴더에서 dll 및 pdb 파일을 삭제한 다음 다시 시작하십시오.

    참고


  • UE4 Live++를 통한 고속 라이브 코딩 정보 - Let's Enjoy Unreal Engine
  • LIVE++
  • [GTMF2019]Unreal Engine 4의 2019년 상반기 업데이트 정보 정리
  • Live Coding vs Hot Reload?
  • 좋은 웹페이지 즐겨찾기