이 페이지의 과정을 따라 하면 포트나이트 언리얼 에디터(UEFN) 에서 'Hello, world!'를 출력하는 Verse 프로그램을 만들고, 실행하고, 편집하며, 문제를 해결하는 방법을 학습할 수 있습니다.
실행 방법을 알아보려면 포트나이트 언리얼 에디터 실행하기 를 참고하세요.
첫 Verse 프로그램
VKT - Verse Device Starter Games 템플릿은 Verse로 생성된 장치를 소개하며, 여러 장치를 예시로 제공합니다. 아래 단계에서는 이 템플릿에서 새로운 Verse 장치를 만들고 수정하게 됩니다.
-
프로젝트 브라우저(Project Browser) 창에서 기능 예시(Feature Examples) 를 선택해 모든 UEFN 기능 예시를 볼 수 있습니다.
-
기능 예시 목록에서 Verse 장치(Verse Device) 를 클릭하여 하이라이트합니다.
-
화면 하단의 프로젝트 이름(Project Name) 에서 프로젝트 이름을 MyVerseProject 로 짓고 생성(Create) 을 클릭합니다.
-
메뉴 바 에서 Verse > Verse 익스플로러(Verse Explorer) 로 이동합니다.
-
Verse 익스플로러 에서 프로젝트 이름을 우클릭하고 프로젝트에 새 Verse 파일 추가(Add new Verse file to project) 를 선택하여 Verse 스크립트 생성(Create Verse Script) 창을 엽니다.
-
'Verse 스크립트 생성' 창에서 Verse 장치(Verse Device) 를 클릭하여 템플릿으로 선택합니다.
-
콘텐츠 브라우저(Content Browser) 에서 프로젝트 콘텐츠 폴더 내의 CreativeDevices 폴더로 이동합니다.
콘텐츠 브라우저가 열려 있지 않다면 메뉴 바에서 창(Window) 을 클릭하고 콘텐츠 브라우저(Content Browser) 를 선택하거나 UEFN 창 왼쪽 하단에서 콘텐츠 드로어(Content Drawer) 를 선택합니다.
경로가 All > MyVerseProject Content > CreativeDevices 이어야 합니다.
-
레벨에 hello_world_device 를 드래그합니다.
-
툴바에서 세션 시작(Launch Session) 을 클릭해 섬을 플레이테스트합니다.
이미지를 클릭하면 확대됩니다.
-
콘텐츠 저장(Save Content) 창에서 선택 저장(Save Selected) 을 클릭해 변경사항을 프로젝트에 저장합니다.
-
서버의 프로젝트 로딩이 완료되면 메인 메뉴를 열고 게임 시작(Start Game) 을 클릭합니다.
-
클라이언트에서 ESC 를 눌러 메인 메뉴 화면을 열고 섬 설정(Island Settings) 을 클릭합니다. 다음으로 상단 탐색 바에서 로그(Log) 를 클릭해 로그를 확인합니다.
-
로그에서 'Hello, world!'가 있는 줄과 '2 + 2 = 4'가 있는 다음 줄을 찾습니다. hello_world_device.verse 파일이 출력한 줄입니다. Verse로 생성된 장치를 레벨에 추가했으므로, 게임이 시작되었을 때 해당 파일의 코드가 실행된 것입니다.
첫 Verse 프로그램을 실행해 봤으니, hello_world_device.verse 의 코드를 확인하고 수정해 보겠습니다. 다음 섹션을 진행하는 동안 클라이언트를 계속 켜 놓아주세요.
프로그램 수정하기
다음 과정을 따라 이전 섹션의 장치를 생성한 hello_world_device.verse 파일을 확인하고 코드를 추가해 보세요.
- 메뉴 바 에서 Verse > Verse 익스플로러 를 클릭해 프로젝트 내의 모든 Verse 파일을 볼 수 있습니다.
-
프로젝트 이름 아래의 hello_world_device.verse 를 더블클릭해 파일을 엽니다.
-
Verse 파일은 프로그램 작성용 에디터인 Visual Studio Code(VS Code) 에서 열립니다. 컴퓨터에 Visual Studio Code가 설치되어 있지 않다면 설치 창이 열립니다.
이미지를 클릭하면 확대됩니다.
Verse 코드 익스텐션은 VS Code용 익스텐션으로, Verse 오류 검사와 구문 강조 기능을 제공합니다. 또한 VS Code의 변경사항을 Verse 스크립트에 바로 컴파일하고 푸시할 수 있도록 합니다.
UEFN에 번들로 포함된 Verse 익스텐션은 Verse에 공식 지원되는 유일한 언어 익스텐션입니다. 이 익스텐션은 UEFN 실행 시 자동으로 활성화됩니다. 익스텐션의 설치를 제거해도 다시 UEFN을 실행하면 다시 설치됩니다.
Verse 코드 익스텐션이 설치되었는지는 VS Code 창 상단의 에디터 포커스(Editor Focus), Verse 변경사항 빌드(Build Verse Changes), Verse 변경사항 푸시(Push Verse Change) 버튼의 존재를 통해 확인할 수 있습니다.
이미지를 클릭하면 확대됩니다.
코드의 나머지 부분이 어떻게 작동하는지는 나중에 알아보겠습니다. OnBegin<override>()<suspends>:void=
아래에 작성하는 코드는 게임 시작 시 실행되므로 다음 코드를 파일의 끝에 추가하세요.
Print("This is my first line of Verse code!")
이제 Verse 파일은 다음과 같은 모습이어야 합니다.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Verse 장치를 만드는 방법은 https://dev.epicgames.com/documentation/ko-kr/uefn/create-your-own-device-in-verse를 참고하세요.
# Verse로 작성하여 레벨에 배치할 수 있는 포크리 장치
hello_world_device := class(creative_device):
# 실행 중인 게임에서 장치가 시작되면 실행됩니다.
OnBegin<override>()<suspends>:void=
# 과제: 직접 코드를 작성해 넣으세요
Print("Hello, world!")
Print("2 + 2 = {2 + 2}")
Print("This is my first line of Verse code!")
#
기호 뒤의 모든 텍스트는 코드 코멘트로 간주되므로 프로그램 실행 시 컴퓨터가 무시합니다. 코드 코멘트에는 코드에 대한 설명을 담을 수 있으므로 코드를 읽는 모두에게 도움이 됩니다. 이 예시에서는 # 게임 실행 중 장치가 시작되면 실행됩니다
와 #과제: 직접 코드를 작성해 넣으세요
가 모두 코드 코멘트입니다.
변경사항 저장하기
- Visual Studio Code에서 hello_world_device.verse 파일을 저장합니다.
-
UEFN 툴바에서 Verse 를 클릭하고 Verse 코드 빌드(Build Verse Code) 를 클릭해 코드를 컴파일합니다.
이미지를 클릭하면 확대됩니다.
-
컴파일에 성공하면 녹색 체크 표시가 Verse 버튼 위에 표시됩니다. 컴파일 도중 문제가 발생하면 빨간색 정지 아이콘이 표시되며, 모든 오류를 해결할 때까지 코드를 컴파일할 수 없습니다. 이 경우 코드의 문제 해결 섹션에서 코드를 수정하기 위한 팁을 확인하세요.
이미지를 클릭하면 확대됩니다.
-
코드의 컴파일이 완료되면 UEFN 툴바에 변경사항 푸시(Push Changes) 및 Verse 변경사항 푸시(Push Verse Changes) 옵션이 표시됩니다. 변경사항 푸시 는 사물 추가 및 제거, 오브젝트 프로퍼티 변경, Verse 코드 변경사항과 같은 에디터의 모든 변경사항을 클라이언트에 업데이트합니다. Verse 변경사항 푸시 는 Verse 코드만 업데이트하며 변경사항 푸시 보다 빠릅니다. 세션을 새로고침하지 않으면서 코드에 작고 점진적인 변화를 주고 싶은 상황에서 유용합니다. Verse 변경사항 푸시 를 클릭하여 클라이언트를 업데이트합니다.
이미지를 클릭하면 확대됩니다.
- 서버의 프로젝트 업데이트가 완료되면 메인 메뉴를 열고 게임 시작 을 클릭합니다.
-
로그에서 'This is my first line of Verse code!'가 있는 줄을 찾습니다. 방금 스크립트에 추가한 코드로 출력된 줄입니다!
순차 실행
로그에 텍스트를 출력하는 코드를 추가하자 '2 + 2 = 4' 다음에 'This is my first line of Verse code!'가 출력되었습니다. 이는 해당 코드 줄이 OnBegin<override>()<suspends>:void=
줄 아래에 작성된 순서대로 실행되기 때문입니다.
print 줄의 순서를 변경하면 로그에 텍스트가 출력되는 순서가 변경되어 'This is my first line of Verse code!'가 '2 + 2 = 4'보다 먼저 출력됩니다.
OnBegin<override>()<suspends>:void=
# 과제: 직접 코드를 작성해 넣으세요
Print("Hello, world!")
Print("This is my first line of Verse code!")
Print("2 + 2 = {2 + 2}")
코드는 일반적으로 표현식이 있는 줄 단위로 한 줄씩 실행됩니다. 이것을 순차 실행 이라고 합니다. 앞으로 Verse 프로그래밍을 학습하면서는 프로그램의 비헤이비어를 변경하기 위해 실행 흐름을 변경하는 방법도 익힐 것입니다.
코드의 문제 해결하기
Verse 코드의 첫 번째 줄을 작성하고 실행해 봤으니, 이제 코드를 작성할 때 겪을 수 있는 몇 가지 문제를 해결하는 방법을 알아보겠습니다.
다음 두 종류의 오류가 발생할 수 있습니다. 컴파일러 오류 와 버그 입니다.
컴파일러 오류
다른 글쓰기와 마찬가지로, 코드를 작성할 때도 오타가 발생할 수 있습니다. 오타가 발생하면 프로그램이 어떻게 작동해야 할지 컴파일러가 이해하지 못합니다. 프로그램이 컴파일되지 못하므로 이를 컴파일 오류라고 하며, 주로 구문 오류입니다. 이 경우 플레이테스트를 위해 코드를 실행할 수 없습니다.
VS Code는 일부 컴파일러 오류를 탐지하고 파일 탭과 탐색 패널에서 파일 이름의 색을 빨간색으로 변경해 오류가 있음을 알려줍니다.
또한 VS Code는 문제를 탐지한 줄의 코드에 빨간 밑줄을 쳐서 알려줍니다. 밑줄 쳐진 코드에 마우스를 올리면 VS Code가 제공할 수 있는 손쉬운 해결 방법이 있는 경우 오류 메시지가 표시됩니다.

VS Code가 모든 컴파일러 오류를 탐지할 수는 없으므로, 오류를 찾아내기 위해서는 코드를 실행하기 전에 빌드해 보는 것이 좋은 습관입니다. 코드를 빌드하려면 UEFN 툴바에서 Verse 를 클릭한 뒤 Verse 코드 빌드 를 클릭합니다. 프로젝트 내의 모든 Verse 파일을 컴파일해 작성한 코드를 컴퓨터가 실행할 수 있는 인스트럭션으로 변환합니다.
이미지를 클릭하면 확대됩니다.
코드가 성공적으로 빌드되면 출력 로그에 성공 메시지 가 출력되며, 플레이테스트하는 동안 코드를 사용하기 전에 수정해야 할 부분이 있다면 오류 가 출력됩니다.
또한 Verse 코드 빌드 를 선택했을 때 컴파일 오류가 발생했다면 팝업 메시지가 표시됩니다.

팝업 메시지에서 오류 표시(See Errors) 를 선택하면 메시지 로그(Message Log) 창이 열리며 VS Code가 코드 내에서 탐지한 모든 오류가 나타납니다.
이미지를 클릭하면 확대됩니다.
모든 오류를 해결한 후에 UEFN 툴바에서 Verse 스크립트 빌드(Build Verse Scripts) 를 다시 클릭하거나 팝업 메시지에서 리빌드(Rebuild) 를 클릭하여 코드를 다시 컴파일하고 코드가 성공적으로 빌드되는지 검증할 수 있습니다.
버그
코드가 성공적으로 빌드되었지만 프로그램이 예상대로 작동하지 않을 경우, 이 문제를 버그 라고 합니다. 버그는 코드의 로직에 문제가 있는 경우 발생하며, 버그를 찾아내는 한 가지 방법은 로그를 출력하는 것입니다.
hello_world_device 의 코드는 게임 시작 시 코드가 실행되는지 검증하기 위해 로그를 출력하는 좋은 예시입니다.
OnBegin<override>()<suspends>:void=
# 과제: 직접 코드를 작성해 넣으세요
Print("Hello, world!")
Print("This is my first line of Verse code!")
Print("2 + 2 = {2 + 2}")
또한 값을 출력해 코드가 의도한 대로 작동하는지 확인할 수도 있습니다. 다음 코드를 실행하면 로그에 '2 + 2 = 4' 텍스트가 출력됩니다.
Print("2 + 2 = {2 + 2}")
로그에 텍스트가 출력되기 전에 표현식 {2 + 2}
가 평가되어 4가 결과로 나왔습니다. 마지막 줄의 큰따옴표 " " 안에 있는 중괄호 {} 내의 표현식은 평가된 후에 텍스트로 변환됩니다. 이렇게 string에 값을 삽입하는 것은 string 보간의 예시입니다.
중괄호 내의 표현식을 수정하면 출력되는 값이 변경됩니다. 다음 예시에서는 표현식이 {2 + 3}
으로 수정되었으므로 로그에 '2 + 2 = 5'가 표시됩니다.
OnBegin<override>()<suspends>:void=
# 과제: 직접 코드를 작성해 넣으세요
Print("Hello, world!")
Print("This is my first line of Verse code!")
Print("2 + 2 = {2 + 3}")
다음 단계
지금까지 Verse의 기초를 학습하고, 코드를 실행하고 문제를 해결하는 방법을 알아보았습니다. 전반적인 프로그래밍 지식을 확장하고 Verse 프로그래밍 툴을 활용하는 방법을 더 알아보려면 Verse 코드 작성 기초 학습을 참고하세요.
생성되었을 때 콘솔 하단의 버튼과 상호작용하여 Verse 장치 스타터 미니게임을 플레이할 수도 있습니다. Verse 스타터 템플릿에서 이 미니게임 제작 방법을 배우고, Verse 익스플로러에서 이 프로젝트에 사용된 코드 파일도 확인할 수 있습니다!