멀티 유저 편집 레퍼런스

Multi-User Editing 관련 프로젝트 세팅, 콘솔 명령, 명령줄 파라미터에 대한 레퍼런스 정보입니다.

Windows
MacOS
Linux

멀티 유저 편집 시스템의 요구 조건, 세팅, 명령줄 파라미터, 콘솔 명령 관련 정보 페이지입니다.

프로젝트 세팅

멀티 유저 편집 세팅

프로젝트에서 Multi-User Editing (멀티 유저 편집) 플러그인을 활성화하면, 프로젝트 세팅 창의 플러그인 > Multi-User Editing 아래 다음과 같은 세팅을 액세스할 수 있습니다.

세팅

설명

Client Settings

클라이언트 세팅

Enable Multi-User Toolbar Button

멀티 유저 툴바 버튼 활성화 - 메인 언리얼 에디터 창의 툴바에 자주 쓰이는 멀티 유저 편집 작업 바고 가기가 제공됩니다.

아이콘 상태

버튼 동작

Join

참가 - 연결이 끊어졌고 아래 기본 서버 이름 또는 세션 이름을 설정한 상태라면, 참가 를 클릭했을 때 기본 세션에 참가합니다.

Browse

탐색 - 연결이 끊어졌고 아래 기본 서버 이름 또는 세션 이름이 설정되지 않은 경우, 탐색 을 눌러 멀티 유저 브라우저 를 실행하면 참가할 세션을 수동 검색하여 참가할 수 있습니다.

Leave

나가기 - 세션에 연결되어 있을 때, 나가기 를 누르면 연결이 끊어집니다.

또는 언제든 툴바 버튼 옆 아래 화살표를 눌러 멀티 유저 브라우저 에 액세스하거나, 프로젝트 세팅 창의 이 페이지를 열거나, 컴퓨터에서 멀티 유저 서버를 시작할 수 있습니다.

Auto Connect

자동 연결 - 활성화하면 언리얼 에디터가 이 프로젝트를 열 때마다 아래 설정된 Default Server URLDefault Session Name 으로 자동 연결 시도합니다.

Default Server URL

기본 서버 URL - 툴바의 참가 버튼을 클릭하거나 Auto Connect 세팅을 활성화했을 때 멀티 유저 편집 시스템이 연결 시도할 서버 이름을 설정합니다.

세션 브라우저 창에 나타나는 서버를 실행하는 컴퓨터의 호스트 이름이어야 합니다.

Default Session Name

기본 세션 URL - 툴바의 참가 버튼을 클릭하거나 Auto Connect 세팅을 활성화했을 때 멀티 유저 편집 시스템이 연결 시도할 세션 이름을 설정합니다.

기본 서버에 이 이름의 세션이 아직 존재하지 않으면, 서버는 새 세션을 시작합니다.

Default Session to Restore

복원할 기본 세션 - 툴바의 참가 버튼을 클릭하거나 Auto Connect 세팅을 활성화했을 때 저장된 세션을 복원하려는 경우, 저장된 세션 이름을 입력합니다.

Default Save Session As

세션을 저장할 기본 이름 - 툴바의 참가 버튼을 클릭하거나 Auto Connect 세팅을 활성화했을 때 멀티 유저 편집 시스템이 열린 세션을 저장하도록 하려는 경우, 여기에 기본 이름을 입력합니다.

Display Name

표시명 - 다른 사용자에게 보이는 모든 현재상태 정보에서 자신을 식별할 이름을 설정합니다.

Avatar Color

아바타 색 - 멀티 유저 편집 시스템에서 다른 사용자에게 보이는 모든 현재상태 정보에서 자신에게 할당할 색을 설정합니다.

Desktop Avatar Actor Class

데스크톱 아바타 액터 클래스 - 멀티 유저 편집 시스템이 다른 사용자의 레벨 뷰포트에서 표준 키보드와 마우스를 사용하여 언리얼 에디타 상호작용을 할 때 자신을 나타내는 데 사용하는 클래스를 설정합니다.
기본 아바타를 변경하려면, 내장된 DesktopPresence 클래스에서 자체 블루프린트 클래스를 파생한 다음 필요에 맞게 클래스를 사용자 정의하면 됩니다.

VRAvatar Actor Class

VR 아바타 액터 클래스 - 멀티 유저 편집 시스템이 다른 사용자의 레벨 뷰포트에서 VR 편집 시스템을 사용하여 VR 헤드셋과 컨트롤러로 레벨 작업을 하는 자신을 나타낼 때 사용하는 클래스를 설정합니다.
기본 아바타를 변경하려면, 내장된 VRPresence 클래스에서 자체 블루프린트 클래스를 파생한 뒤 필요에 맞게 클래스를 사용자 정의하면 됩니다.

Client Settings - Advanced

클라이언트 세팅 - 고급

Discovery Timeout

발견 타임아웃 - 이전에 발견했던 서버가 이 기간 내 메시지에 반응하지 않는 경우, 오래된 것으로 간주하여 멀티 유저 브라우저 의 목록에서 제거합니다.

Session Tick Frequency

세션 틱 빈도 - 이 인스턴스의 언리얼 에디터 프로세스 세션 업데이트 빈도를 결정합니다.

Latency Compensation

지연시간 보정 - 시퀀서 재생처럼 시간이 민감한 작업에서 들어오는 트랜잭션을 취급할 때 이 언리얼 에디터 인스턴스가 적용할 보정 양을 결정합니다.

Endpoint Settings

종점 설정

Enable Logging

로그 활성화 - 언리얼 에디터 이 인스턴스가 현재 세션 관련 자세한 정보를 로그에 기록할지 결정합니다. 이 로그는 프로젝트의 Saved/Logs/Concert 서브폴더에서 찾을 수 있습니다.

이 옵션을 활성화하면 단기간에 디스크 공간을 많이 소모할 수 있습니다.

로깅을 활성화했다가 비활성화하는 경우, 디스크 공간을 확보하려면 그 로그 파일을 직접 지워야 합니다.

Purge Processed Message Delay

처리됨 메시지 제거 딜레이 - 세션을 이미 처리했다는 상태 관련 메시지를 받은 뒤 이만큼 지나면 이 언리얼 에디터 인스턴스를 메모리에서 지웁니다.

Remote Endpoint Timeout

원격 종점 타임아웃 - 언리얼 에디터 원격 인스턴스가 이 기간 내 메시지에 응답하지 않으면, 오래된 것으로 간주하고 현재 세션에서 제거합니다.

멀티 유저 트랜잭션 세팅

또한 플러그인 > Multi-User Transactions 에서 다음 세팅을 액세스할 수도 있습니다.

멀티 유저 편집 시스템을 기본값으로 많이 사용해서 시스템 작동 방식을 잘 이해할 때까지는 이 세팅을 조정하지 않는 것이 좋습니다. 이 세팅을 변경하면 멀티 유저 편집 시스템 안정성에 영향을 줄 수 있습니다.

세팅

설명

Transaction Settings

트랜잭션 세팅

Snapshot Transactions Per Second

초당 스냅샷 트랜잭션 - 툴을 상호작용하거나 다른 클라이언트와 변경사항을 즉시 동기화하는 컨트롤 (예를 들어 레벨 뷰포트에서 액터 드래그 또는 액터 디테일 패널의 슬라이더 드래그) 작업 시 멀티 유저 시스템이 전송할 초당 트랜잭션 수입니다.

Include Object Class Filters

오브젝트 클래스 필터 포함 - 이 목록이 비어 있으면, 멀티 유저 편집 시스템은 수정에 대한 트랜잭션을 모든 클래스 유형에 자동 전송합니다. 특정 클래스에 대해서만 수정 사항을 동기화하려면, 이 목록에 그 클래스를 지정하면 됩니다. 이 목록에 기본으로 나타나는 값은 노출시켜도 안전한 것으로 테스트를 통해 판단된 것입니다.

Exclude Transaction Class Filters

트랜잭션 클래스 필터 제외 - 멀티 유저 편집 시스템이 동기화시킬 수정 사항을 특정 클래스로 제한시키려는 경우, 이 목록에 그 클래스를 지정하면 됩니다. 이 제외 클래스의 오브젝트에 대한 변경사항에 관련된 트랜잭션은 동기화되지 않습니다.
이 목록은 위의 Include Object Class Filters 보다 우선합니다.

기본적으로 이 목록은 Landscape 클래스를 포함합니다. Landscpae 수정 사항은 포함된 레벨을 저장하지 않으면 동기화되지 않습니다.

Allowed Transient Properties

허용된 휘발성 프로퍼티 - 보통은 필터링되는 경우라도 항상 동기화시킬 휘발성 클래스 프로퍼티 목록입니다. 기본 항목은 에디터의 액터 가시성을 동기화합니다. 같은 레벨에서 작업하는 다른 사용자가 다른 액터 세트를 표시하고 숨길 수 있도록 하려면 목록에서 이 기본 항목을 제거하면 됩니다.

이 값을 변경해야 하는 경우, UI 보다는 Saved/Config/<platform>/Engine.ini 파일의 [/Script/ConcertSyncCore.ConcertSyncConfig] 섹션에서 바로 수정하세요.

Transaction Settings — Advanced

트랜잭션 세팅 - 고급

Interactive Editor Hot Reload

인터랙티브 에디터 핫 리로드 - 이미 로드된 애셋을 같은 애셋의 다른 버전으로 대체해야 하는 경우 언리얼 에디터가 상황을 처리하는 방법을 결정합니다. 세션에 연결된 다른 사용자가 애셋을 수정하고 저장할 때 발생합니다. 변경사항 지속 없이 세션을 나갈 때, 에디터가 세션 도중 수정된 콘텐츠를 세션에 참여하기 전에 원래 있었던 콘텐츠로 대체해야 하는 경우에도 발생합니다.

이 세팅을 비활성화로 놔두면 새로 로드된 콘텐츠가 이미 로드했던 콘텐츠를 즉시 대체합니다. 활성화하면 수정된 애셋 각각을 로드할지 확인합니다.

Show Presence in PIE

PIE 에 현재상태 표시 - 에디터에서 플레이 (PIE) 세션에서 다른 사용자의 현재상태 정보 표시 여부를 결정합니다.

UnrealMultiUserServer 명령줄 파라미터

시작하기 페이지는 언리얼 에디터의 UI 안에서 멀티 유저 편집 시스템의 서버 컴포넌트를 실행하는 방법을 보여줍니다. 그러나 이 서버는 언리얼 엔진이 설치된 컴퓨터라면 명령줄에서 실행할 수도 있습니다.

명령줄에서 서버를 실행하면, 그 컴퓨터에 프로젝트가 있을 필요가 없습니다. 서버는 트랜잭션과 수정된 애셋만 기록하므로, 전체 프로젝트 콘텐츠가 있을 필요가 없습니다. 세션에 참여하는 컴퓨터만 프로젝트 콘텐츠 사본이 있으면 됩니다.

멀티 유저 편집 서버는 언리얼 엔진 설치 폴더의 Engine/Binaries/<platform>/UnrealMultiUserServer.exe 에서 찾을 수 있습니다. 실행하면 명령줄에 다음과 같은 옵션 파라미터를 제공하여 동작을 제어할 수 있습니다.

파라미터

설명

-ConcertSession=

지정하면, 서버는 시작할 때 이 이름으로 새 세션을 생성합니다. 예:
-ConcertSession=DemoSession

-ConcertProject=

-ConcertSession 을 지정한 경우, 서버는 ConcertProject 값을 세션에 연관된 언리얼 엔진 프로젝트 이름으로 사용합니다. 같은 이름의 프로젝트를 실행 중인 언리얼 엔진 인스턴스의 연결만 허용합니다. 예:
-ConcertProject=MyUprojectName

-ConcertVersion=

-ConcertSession 를 지정한 경우, 서버는 ConcertVersion 값을 세션에 연관된 언리얼 엔진 버전으로 사용합니다. 같은 버전으로 빌드된 언리얼 엔진 인스턴스의 연결만 허용합니다. 예:
-ConcertVersion=4.22.0-123456

이 버전 번호를 얻으려면, 언리얼 에디터를 열고 메인 메뉴의 도움말 > 언리얼 에디터에 대하여... 를 선택합니다.

-ConcertRevision=

-ConcertSession 를 지정한 경우, 서버는 ConcertRevsion 값을 세션에 연관된 기본 소스 컨트롤 changelist 로 사용합니다. 소스 컨트롤이 활성화되어 있고, 같은 콘텐츠 리비전이 체크아웃 되어 있으며, 로컬 수정 사항이 없는 언리얼 에디터 인스턴스의 연결만 허용합니다. 예:
-ConcertRevision=4725058

-ConcertIgnore

명령줄에 이 값을 추가하면, 멀티 유저 편집 서버가 연결되는 언리얼 에디터 인스턴스 각 세션에 대해 연관된 프로젝트 이름, 엔진 버전, 콘텐츠 소스 컨트롤 changelist 에 대한 유효성 검사를 하지 않습니다.

프로젝트 콘텐츠에 사소한 불일치가 있어도 클라이언트가 연결할 수 있도록 하는 것이 가끔은 유용할 수도 있지만, 콘텐츠가 다른 클라이언트와 동기화되지 않아 예기치 못한 상황이 발생하는 것을 피하려면 이 세팅을 일반적인 워크플로로 의존해서는 안됩니다.

-ConcertClean

이 값을 명령줄에 추가하면 서버가 시작할 때 임시 저장 디렉터리에서 모든 기존 세션 파일을 제거합니다.

모든 저장 세션을 제거합니다.

-ConcertSaveSessionAs=

-ConcertSession 를 지정한 경우, 서버는 ConcertSaveSessionAs 값을 사용하여 세션 삭제 이전 서버가 종료될 때 세션 데이터 저장에 사용할 이름을 정의합니다. 이 방법으로 이름을 지정하면 언리얼 에디터에서 새 세션을 만들 때 세션 데이터 관리 > 세션을 다른 이름으로 저장 값을 설정하는 것과 같습니다.
세션 저장 및 서버 종료 이후, ConcertSessionToRestore 로 서버를 재시작하면 그 세션 상태를 복원할 수 있습니다.

-ConcertSessionToRestore=

-ConcertSession 를 지정하면, 이 파라미터를 사용해서 이 서버가 새 세션을 만들지 않고 기존에 지정한 이름으로 저장한 세션을 복원할 수 있습니다.

언리얼 에디터 명령줄 파라미터

명령줄에서 언리얼 에디터를 실행하는 경우, 멀티 유저 편집 시스템의 동작 제어에 사용할 수 있는 파라미터는 다음과 같습니다. 이 파라미터는 위의 프로젝트 세팅 아래 나열된 일부 세팅의 기본값을 설정합니다.

파라미터

설명

-ConcertAutoConnect

프로젝트의 Auto Connect 세팅을 활성화합니다. 시작 직후 언리얼 에디터는 기본 서버와 거기에 구성된 세션에 연결 시도합니다. 프로젝트 세팅 에서 이 기본 세션 구성을 미리 설정하거나, 아래 파라미터로 명령줄에서 지정할 수도 있습니다.

-ConcertServer=

프로젝트의 Default Server URL 세팅 값을 설정합니다.

-ConcertSession=

프로젝트의 Default Session Name 세팅 값을 설정합니다.

-ConcertSaveSessionAs=

프로젝트의 Default Save Session As 세팅 값을 설정합니다.

-ConcertSessionToRestore=

프로젝트의 Default Session to Restore 세팅 값을 설정합니다.

-ConcertDisplayName=

프로젝트의 Display Name 세팅 값을 설장합니다.

콘솔 명령

멀티 유저 편집 시스템에 영향을 주는 언리얼 엔진 콘솔 명령 목록입니다.

명령

설명

Concert.DefaultConnect

프로젝트 세팅에서 Default Server URLDefault Session Name 을 구성했고, 멀티 유저 편집 세션에 이미 연결되어 있지 않은 경우, 기본 서버 및 세션에 즉시 연결 시도합니다.

Concert.Disconnect

현재 연결된 세션이 있으면 끊습니다.

Concert.EnableOpenRemoteSequencer

이 세팅을 활성화한 사용자가 시퀀서 UI 의 레벨 시퀀스 또는 마스터 시퀀스를 열 때마다, 멀티 유저 편집 시스템은 같은 세션에서 마찬가지로 이 세팅을 활성화한 모든 사용자에 대해 시퀀서 UI 를 자동으로 열고 같은 시퀀스를 로드합니다.
이 세팅은 기본적으로 비활성화되어 있습니다. 활성화는 Concert.EnableOpenRemoteSequencer 1, 비활성화는 Concert.EnableOpenRemoteSequencer 0 입니다.

Concert.EnablePresence

이 세팅을 활성화하면, 같은 레벨에서 작업하는 사용자 중 프로젝트 세팅의 Desktop Avatar Actor Class 또는 VRAvatar Actor Class 가 설정된 사용자의 현재 위치와 시야를 나타내는 액터가 레벨 뷰포트에 표시됩니다.

Concert.EnableSequencePlayer

기본적으로 멀티 유저 편집 시스템은 시퀀서 UI 에 같은 시퀀스를 열어둔 언리얼 에디터 인스턴스 사이 시퀀서 재생 이벤트만 동기화합니다.
-game 모드로 실행중인 언리얼 인스턴스에도 시퀀서 재생 이벤트를 동기화하려면 이 세팅을 활성화하세요.
이 세팅은 기본적으로 비활성화되어 있습니다. 활성화는 Concert.EnableOpenRemoteSequencer 1, 비활성화는 Concert.EnableOpenRemoteSequencer 0 입니다. 이 재생 이벤트에 응답하도록 하려면 -game 인수를 붙여 시작하는 각 언리얼 에디터 인스턴스에 대해 활성화해야 합니다.

Concert.OpenBrowser

멀티 유저 브라우저 창을 엽니다. 메인 메뉴의 창 > 개발자 툴 > 멀티 유저 브라우저 또는 툴바의 멀티 유저 편집 버튼 옆 아래 화살표에서 세션 브라우저 를 선택한 것과 같습니다.

Concert.OpenSettings

프로젝트 세팅 창을 열어 Plugins - Multi-User Editing 페이지로 이동합니다. 툴바의 멀티 유저 편집 버튼 옆 아래 화살표에서 ((멀티 유저 세팅** 을 선택한 것과 같습니다. 이 세팅 관련 자세한 내용은 위 프로젝트 세팅 부분을 참고하세요.

고급 네트워킹

시작하기 페이지의 안내대로 했는데도 네트워크에서 멀티 유저 편집 시스템이 작동하지 않는 경우, 아래 고급 방법을 사용하여 서버와 언리얼 에디터 인스턴스의 IP 주소를 설정해 보세요.

로컬 IP 주소 설정

컴퓨터에 네트워크 카드 또는 어댑터가 여러 개 설치된 경우, 다른 종점과 통신할 때 멀티 유저 편집 서비스가 사용하는 IP 주소를 변경해야 할 수 있습니다.

언리얼 에디터에 대한 로컬 IP 주소를 설정하려면:

  1. 메인 메뉴에서 편집 > 프로젝트 세팅 을 선택합니다.

  2. 프로젝트 세팅 창에서 플러그인 > UDP Messaging (UDP 메시징) 섹션으로 이동한 뒤 Transport > Unicast Endpoint 세팅을 찾습니다.
    Unicast Endpoint

  3. 이 프로퍼티 값을 언리얼 에디터가 사용하려는 네트워크 어댑터의 IP 주소로 설정합니다. 포트는 항상 0 을 사용합니다.
    예:

멀티 유저 편집 서버에 대한 로컬 IP 주소를 설정하려면:

  1. 서버가 이미 실행 중이라면 종료하세요.

  2. 언리얼 엔진 설치 폴더에서 Engine/Programs/UnrealMultiUserServer/Saved/Config/<platform> 으로 이동한 뒤 Engine.ini 파일을 텍스트 에디터에서 엽니다. 없으면 만듭니다.

  3. 파일에 다음과 같은 세팅 블록을 추가합니다.

    [/Script/UdpMessaging.UdpMessagingSettings]
    EnableTransport=True
    UnicastEndpoint=192.168.0.73:0
    MulticastEndpoint=230.0.0.1:6666
    MulticastTimeToLive=1
    EnableTunnel=False
    TunnelUnicastEndpoint=
    TunnelMulticastEndpoint=
  1. UnicastEndpoint 세팅 값을 언리얼 에디터에 사용하려는 네트워크 어댑터의 IP 주소로 설정합니다. 포트는 항상 0 을 사용합니다.

  2. 파일을 저장하고 서버를 재시작합니다.

언리얼 에디터에 대한 서버 주소 지정

멀티 유저 편집 서버를 실행했지만 같은 LAN 또는 VPN 에서 실행 중인 언리얼 에디터가 서버를 자동 감지하지 못하는 경우, 서버의 IP 주소를 언리얼 에디터에 대한 정적 종점으로 지정해 볼 수 있습니다.

  1. 메인 메뉴에서 편집 > 프로젝트 세팅 을 선택합니다.

  2. 프로젝트 세팅 창에서 플러그인 > UDP Messaging (UDP 메시징) 섹션으로 이동합니다. Transport 섹션 아래 고급 세팅을 펼치고 Static Endpoints 세팅을 찾습니다.
    Static Endpoints list

  3. + 를 눌러 목록에 새 항목을 추가하고, 새 항목의 값을 서버의 IP 주소로 설정합니다. Multicast Endpoint 에 사용되는 포트를 포함해 줘야 합니다. 일반적으로 6666 입니다.
    Set the server's IP address

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼