jjkwa***
2025-08-31

프로그래밍 몰라도 OK! 설치부터 완성까지, 단계별 실습으로 배우는 게임 개발
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."


아라카와 다쿠야와 아사노 유이치는 유니티 게임 개발 입문서를 지속하여 발간해 오고 있는 저자들입니다.
한빛미디어에서도 지속적으로 번역본을 출간해 오고 있습니다. 그만큼 유니티 입문자들에게 유니티 사용법을 빠르게 전달할 수 있다는 장점이 있기 때문이라고 생각합니다.
이번에 소개하는 "따라 하며 배우는 유니티 게임 개발"의 경우에는 유니티 6에 내장되어 있는 '비주얼 스크립팅'이라는 기능만을 이용하여 게임을 제작하는 기초적인 방법을 안내하고 있습니다.
C#을 사용하지 않아서, 책의 부제도 "프로그래밍 없이도 누구나 쉽게 만드는 2D & 3D 게임" 입니다.

책은 여느 유니티 관련 서적들처럼 유니티를 설치하는 방법부터 안내하고 있으며 유니티 에디터 화면 구성에 대하여 간략하게 소개하고 있습니다.
책이 240여 페이지정도 되는 얇은 책이다 보니 유니티 설치라든가 유니티 화면 구성 및 기본적인 조작방법 같은 내용들은 정말 간략하게 적혀 있습니다.

책의 대부분 내용은 책과 함께 제공되는 예제 에셋들을 이용한 프로젝트 실습 위주로 구성되어 있습니다.
마치, 유니티 게임 개발 기초만 딱 잡아 주려고 꼭 알아야 하는 내용들만 요약 정리한 것 같습니다.

책에 몇가지 샘플 프로젝트가 제시되어 있는데 C#으로 코딩하는 것이 아니라 "비주얼 스크립팅"이라는 기능을 이용하여 유니티를 조작하는 방법으로만 제작하게 됩니다.
"비주얼 스크립팅은 코드를 처음부터 작성할 필요없이 그래픽을 기반으로 Unity의 오브젝트와 동작을 조작하는 방식입니다. 비주얼 노드를 함께 연결하여 로직을 구현하고, 아티스트, 디자이너, 프로그래머가 간단하게 게임플레이와 인터렉티브 시스템을 만들 수 있게 합니다."라고 유니티 홈페이지에 안내되어 있네요.
2021년에 BOLT라는 회사를 인수하면서 유니티에서 이용할 수 있게 되었다고 하는데, 저는 C#으로 코딩하는 방법만 알고 있다가 이번에 책을 보면서 새롭게 알게 되었습니다.
그래픽 기반 에디터 이다 보니, 저 같은 웹퍼블리셔나 디자이너들에게도 좀 더 쉽게 와 닿는 기능이네요.


비주얼 스크립팅은 유니티 엔진이 제공하는 클래스들을 노드라고 부르는 그래픽 요소로 치환하여, 비주얼 스튜디오 코드 같은 텍스트 기반 에디터가 아니라 유니티 자체에서 제공하는 그래픽 에디터를 이용하여 프로그래밍 할 수 있게 합니다.
각 오브젝트들의 인스펙터 화면에 컴포넌트를 추가하여 변수를 조작하는 것처럼 비주얼 스크립팅 컴포넌트를 추가한 후 비주얼 스크립팅 에디터에 오브젝트 조작에 필요한 노드들을 하나씩 불러 오고 각각을 연결해 주면서 게임을 제작하는 방식입니다.
C# 코드 한 줄도 쓰지 않고 오브젝트를 조작할 수 있다는게 굉장히 흥미로웠습니다.


입문자들을 위한 책이다 보니 매우 간단한 게임 몇가지를 따라 만들게 되어 있습니다.
게임을 구성하는 컴포넌트들에 대한 내용은 최소화하고 스텝 바이 스텝으로 비주얼 스크립팅 내용을 따라해 보는 방식으로 구성되어 있습니다.
저는 2D 게임에 관심이 많아서 책의 예제중 2D 부분을 따라해 봤습니다. 한줄 읽고 해당 부분 한번 클릭하고 한줄 읽고 해당 부분 한번 클릭하는 방식으로 실습을 진행하였습니다.
예전에 C#으로 코딩해 봤던 내용들이 새록 새록 기억이 나는게, 유니티 게임 제작에 경험이 있는 분들은 더욱 빠르게 책의 내용을 습득할 수 있겠습니다.

노드와 노드 사이를 연결하는데 각 노드들 간에 조건이 있음을 이해할 수 있도록 일부러 에러를 내어 안내하고 제대로 수정할 수 있도록 하는 내용도 있습니다.
제 경우에는 책에서 안내한 에러 내용 말고 다른 부분이 막히는 경험을 해서 소개 합니다. 책 내용을 따라하다 같은 에러를 만난 분들에게 도움이 되면 좋겠네요.
책의 예제를 따라 하던 중, "InvalidOperationException: You are trying to read input using the UnityEngine.Input class, but you do not have any Input settings..." 라는 에러 메시지를 보게 되었는데요.
검색을 통해서 해결 방법을 찾기가 쉽지가 않아서, 위 화면 그대로를 캡쳐하여 ChatGPT에 업로드 하고 해결방법을 안내해 달라고 했더니,
"Input 시스템 문제 때문에 Get Mouse Button Down 노드가 정상적으로 작동하지 않고 있습니다."라는 답변과 함께 해결방법도 안내 받았습니다.
유니티가 업그레이드 되면서 예전에 사용하던 Input 시스템 대신에 새로운 Input 시스템을 디폴트로 사용하기 때문에 생긴 문제였습니다.
해결 방법
방법은 두 가지 중 하나를 선택하시면 됩니다.
방법 1: Legacy Input Manager 사용하기 (가장 간단)
메뉴에서 Edit → Project Settings → Player → Other Settings 로 이동
Active Input Handling 항목을 찾습니다.
현재 Input System Package (New)로 되어 있을 가능성이 큽니다.
이를 Both 또는 Input Manager (Old) 로 변경하세요.
Unity 재시작 후 다시 실행하면 Get Mouse Button Down이 정상 작동할 것입니다.
ChatGPT를 이용하여 큰 어려움 없이 에러를 해결하고 프로젝트 실습을 계속 진행할 수 있었습니다.
책의 내용을 통해 해결하기 어려운 에러를 마주친 경우에는 ChatGPT의 도움을 받아 해결 가능한 것 같습니다.
이것도 C# 스크립트를 통해 코딩하는 것에 비해 비주얼 스크립팅과 같은 그래픽 요소로 컴포넌트를 조작하는 방식의 큰 이점이지 않겠나 싶은 생각이 드네요.
복잡한 프로젝트를 구성하는데는 한계가 있어 보이긴 합니다만, 간단한 캐주얼 게임들을 만든다든가 목업이나 테스트 버전을 만들고 디자이너 및 기획자들과 의견을 교환하는데 매우 효과적인 방법이 될 것 같습니다.
그 첫걸음으로 이 책 "따라 하며 배우는 유니티 게임 개발"을 통해 빠르게 유니티 비주얼 스크립팅을 익히고 게임개발에 도전해 보시길 추천합니다.