[Unity] Localization, 구글시트 연동하기 (아주 쉬움)

화이팅!·2025년 8월 11일

Unity

목록 보기
5/8

안녕하세요?
인디 게임의 경우 스팀이나 itch.io에 출시하는 경우가 많을텐데요. 위 플랫폼의 경우 해외 이용자의 비율이 정말 높죠.
그렇기 때문에 인디 게임의 경우라도, 많은 이용자가 플레이해주길 바란다면 다중언어 지원이 필수적입니다.

오늘은 그 다중언어 지원을 하기 위해서 아주 편리한 시스템인 Localizaion과 구글 시트 연동하는 방법에 대해 알아보겠습니다.
구글 시트에서 한국어, 영어, 일본어 등에 해당하는 대사를 작성하면, 그걸 유니티에 버튼 하나로 끌어올 수 있는 기능입니다.

협업을 하는 경우에 공유하고 있는 스프레드시트를 수정하기만 하면 개발자가 끌어와서 게임에 다양한 언어의 대사를 적용시킬 수 있기 때문에 정말 편리하겠죠?

크게 4가지 과정으로 나눠서 살펴보겠습니다.

1. Localization 설치

2. Localization Table 생성

3. 구글 클라우드 OAuth 설정

4. API와 공유 대상 설정


1. Localization 설치

Window > Pakage Manager을 통해 Localization을 설치합니다.
설치 과정은 어렵지 않기에 넘어가겠습니다.


2. Localization Table 생성

Localization Tables 클릭

본인이 쓸 Localization Table을 생성해줍니다.
저는 영어와 한국어 버전을 위해서 en과 ko 선택해서 생성했어요.


3. 구글 클라우드 OAuth 설정

project 창에서 Create > Localizaion > Google Sheet Service 생성해줍니다.

생성한 구글 시트 서비스의 인스펙터 창에서 Authentication을 O Auth로 설정합니다.
(API로 하는 방법도 있겠죠 하지만 제가 참고한 블로그에서는 O Auth를 이용해서 저도 이 방법을 사용했습니다.)

이제 구글 클라우드로 이동합니다.

https://console.cloud.google.com

프로젝트를 선택해주고요, 없다면 생성해줍니다.
그리고 왼쪽 줄 세 개 클릭하고 API 및 서비스 > OAuth 동의 화면으로 들어가줍니다.

클라이언트 생성을 해주세요. 시키는 대로 하다보면 이렇게 클라이언트 ID가 생성이 될 겁니다.

그리고!
대상에 들어가서 테스트 사용자 추가를 해줘야 합니다.
본인이 쓰는 계정을 등록해주세요.

아까 생성했던 클라이언트 ID와 비번을 복붙 해줍니다.
그리고 Authorize를 클릭해주고,
계속해서 계정 인증을 진행해줍니다.
(이때 사용하는 계정은 위에 등록했던 테스터 계정과 동일해야 할 겁니다.)


4. API와 공유 대상 설정

과정 2에서 생성했던 Localization table을 클릭하고 인스펙터 창에서 Google Sheet Extension을 해줍니다.

Create New Spreadsheet를 누르면 구글 드라이브에 새로운 Google Spread Sheets 를 생성하는 것이고,

Spreadsheet id와 Sheet id를 입력하면 구글 드라이브에 이미 존재하는 Google Spread Sheets를 가져오는 것일 겁니다.

저는 Create New Spreadsheet을 선택하였는데요,
그러면 아마

GoogleApiException: The service sheets has thrown an exception. HttpStatusCode is Forbidden. Google Sheets API has not been used in project (🐒) before or it is disabled.

오류가 등장할 겁니다.

저는 당황했는데 당황하지 마시고 오류 원인을 읽어보면 API 관련 오류인 것 같죠.

Unity Localization이 Google Sheets에 접근하려는데, 해당 프로젝트에서 Google Sheets API를 한 번도 안 켜놨거나 꺼져 있어서 막힌 상황입니더.

https://console.developers.google.com/apis/api/sheets.googleapis.com/overview?project=(🐒)

이곳에 들어갑니다. 원숭이 부분에는 위 오류 코드와 똑같이 원숭이 부분(아마 숫자로 된 프로젝트 ID가 적혀 있을 겁니다. 괄호는 제거해주시고요.)을 복붙해서 입장합니다.

당근 아까 계속 쓰던 구글 아이디로 로그인이 되어 있어야 하구요.

Enable을 통해 API을 활성화시키고 Create New Spreadsheet를 누르면 새로운 구글 시트가 잘 생성이 됩니다.

이제 다 됐다고 안심하지 마세요!! 한가지 과정이 더 남았습니다.

만들어진 구글 시트에서 파일 > 공유 버튼으로 다른 사용자와 공유가 가능해야 유니티와 pull, push가 가능해집니다. ㅎㅎ

그럼 이제 끝이에요.

유니티에서 push의 경우, Localization Table Editor에서 필요한 말들을 작성을 해주고,
인스펙터 창에서 Mapped Colums에서 push할 것들을 선택해준 뒤, push을 하면

구글 시트에도 똑같이 적용되는 것을 볼 수 있습니다 ㅎㅎ

반대로 구글 시트에서 작성을 한 것을 가져오고 싶다면 pull을 해주면 되겠죠.

(제가 참고한 블로그 주인장 분께서는 push는 비추천하신다고 합니다. 왜냐하면 누가 push 했는지 로그가 남지 않고, push와 pull이 꼬일 수 있기 때문입니다. 협업할 때 불상사를 예방하기 위해서는 pull만을 이용하는 것이 좋겠습니다.)


자 오늘은 Localization과 구글 시트 연동하는 방법에 대해 알아보았는데요.

저는 작은 규모의 인디 게임을 1인 개발로 지금 진행 중이어서 유니티 상에서 Localization Table을 수정해가며 할 수도 있겠지만,
협업을 하게 되거나 더 큰 규모의 게임을 개발하게 될 경우를 대비해서 이 과정을 배워봤습니다!
번역하기에도 구글 시트를 이용하는 것이 편할 것이고요.

이제 대사들을 번역하러 가봐야겠습니다.. 파이팅!

0개의 댓글