[TIL] Unreal 프로젝트 에셋 관리를 Google Drive + rclone + bat 파일로 분리하기

2026. 5. 21. 19:24·프로그래밍/개발일지

오늘은 직접적인 게임 기능 구현보다는, 팀 프로젝트의 에셋 관리 방식을 정리하고 테스트하는 데 대부분의 시간을 사용했다.

언리얼 프로젝트는 코드보다 에셋 파일의 용량이 훨씬 크다. .uasset, .umap, 텍스처, 사운드, 메시 파일들이 계속 쌓이다 보면 Git 저장소 용량과 대역폭 문제가 금방 커질 수 있다.

특히 우리 트랙에서는 Git 대역폭 제한도 있기 때문에, 모든 에셋을 Git으로 관리하는 방식은 장기적으로 위험하다고 판단했다.


1. 오늘 한 일

우리 팀은 에셋 공유를 위해 rclone과 Google Drive를 연동했다.

프로젝트 폴더와 Google Drive를 연결하는 자동화 프로그램은 다른 팀원이 Python으로 작성했고, 팀원들이 쉽게 사용할 수 있도록 .bat 파일 형태로 만들어두었다.

오늘 나는 이 .bat 파일을 실제 프로젝트에서 테스트하고, 팀원들에게 사용법을 설명했다.

처음에는 에셋 관리 범위를 두고 고민이 있었다.

  • 유료 에셋만 Google Drive에서 관리할지
  • 무료 에셋까지 모두 Google Drive에서 관리할지
  • PR 머지 시 일정 용량 이상이면 Drive에 따로 압축 업로드할지
  • 예를 들어 500MB 이상 변경이 생기면 Git 대신 Drive에서 공유할지

결론적으로는 무료/유료 구분 없이 에셋 파일은 Google Drive에서 통합 관리하기로 했다.


2. 왜 에셋을 Git이 아니라 Drive에서 관리하기로 했나?

가장 큰 이유는 Git 대역폭과 저장소 용량 문제다.

언리얼 프로젝트의 에셋 파일은 용량이 크고, 바이너리 파일이라 변경 이력 관리도 코드처럼 효율적이지 않다.

그래서 역할을 나누기로 했다.

  • Git
    → 코드, 설정 파일 중심으로 관리
  • Google Drive
    → 대용량 에셋 파일 관리
  • Python 기반 .bat 파일
    → 팀원들이 쉽게 업로드 / 다운로드

이렇게 나누면 Git 저장소 부담을 줄이면서도 팀원들이 같은 에셋을 공유할 수 있다.


3. bat 파일의 주요 기능

오늘 테스트한 .bat 파일은 크게 두 가지 기능이 중요했다.

업로드 Lock 기능

누군가 에셋을 업로드 중이면 Google Drive에 lock 파일을 생성한다.

이를 통해 다른 팀원이 동시에 업로드하지 못하게 막을 수 있다.

이 기능의 목적은 다음과 같다.

  • 동시에 업로드하다가 파일이 꼬이는 상황 방지
  • 누가 업로드 중인지 확인 가능
  • Drive 동기화 충돌 가능성 감소

멀티 작업 환경에서는 이런 lock 기능이 생각보다 중요하다고 느꼈다.


변경된 파일만 다운로드

다운로드할 때는 내 로컬 프로젝트와 Drive를 비교한다.

그리고 아래 파일만 받도록 되어 있다.

  • 로컬에 없는 파일
  • Drive 쪽이 더 최신인 파일
  • 수정된 파일

매번 전체 에셋을 다시 받지 않아도 되므로, 동기화 시간이 줄어든다.

언리얼 에셋은 용량이 크기 때문에 이 방식이 훨씬 현실적이다.


4. 팀원 및 튜터님과 논의한 내용

오전에는 팀원들과 에셋 관리 방향을 논의했다.

주요 논점은 다음과 같았다.

  • 무료 에셋과 유료 에셋을 분리할지
  • 모든 에셋을 Google Drive에서 통합 관리할지
  • Git에는 어떤 파일까지만 올릴지
  • Pull 전에 Drive에서 에셋을 먼저 받는 구조가 괜찮은지

오후에는 튜터님과도 의견을 나누었다.

결과적으로 현재 팀 상황에서는 에셋은 Drive에서 통합 관리하고, Git에서는 추적하지 않는 방향이 가장 현실적이라고 판단했다.


5. 문제 상황: gitignore와 언리얼 SCP

문제도 있었다.

gitignore로 에셋 폴더를 추적하지 않도록 설정했지만, 언리얼 에디터 내부의 SCP(Source Control Provider / Revision Control) 가 계속 해당 에셋 파일들을 추적하려는 문제가 있었다.

이를 해결하기 위해 아래 명령도 시도했다.

git rm -r --cached "Content/Assets"

의도는 이미 Git index에 올라간 에셋 파일을 캐시에서 제거하고, 이후부터는 .gitignore 규칙에 따라 추적하지 않게 만드는 것이었다.

하지만 이 방법만으로는 에디터 내부 SCP에서 계속 번거로운 상황이 남아 있었다.

즉, Git 추적 제외와 언리얼 에디터 SCP 표시가 완전히 같은 방식으로 동작하지 않는 문제가 있었다.

그래서 Content/Assets 폴더에서 에셋 관련 작업을 할 때는 에디터 SCP를 끄고 작업하는 방향으로 운영하는 것이 좋겠다고 판단했다.

정리하면 다음과 같다.

  • Git에서는 Content/Assets를 추적하지 않음
  • 에셋은 Google Drive 동기화 프로그램으로 관리
  • Content/Assets 작업 시 에디터 SCP는 끄고 작업
  • 코드나 Git에서 관리되는 파일 작업 시에는 기존 Git 흐름 유지

오늘 배운 점

오늘 작업은 게임 기능 구현은 아니었지만, 팀 프로젝트에서는 이런 개발 환경 정리가 매우 중요하다는 것을 느꼈다.

특히 언리얼 프로젝트는 에셋 용량이 크기 때문에 Git에 모든 파일을 올리는 방식은 금방 한계가 올 수 있다.

오늘 정리한 방향은 다음과 같다.

  1. 무료/유료 에셋 모두 Google Drive에서 통합 관리
  2. Git은 코드와 설정 중심으로 사용
  3. 다른 팀원이 Python으로 만든 .bat 파일을 테스트하고 사용법 공유
  4. 업로드 lock 파일로 동시 업로드 충돌 방지
  5. 다운로드 시 변경된 파일만 받아 동기화 시간 절약
  6. Content/Assets 폴더 작업 시 에디터 SCP를 끄는 방향으로 운영
  7. .gitignore와 언리얼 SCP 추적 문제는 추가 확인 필요

결과적으로 오늘은 팀 프로젝트의 에셋 공유 방식과 자동화 흐름을 정리하고, 팀원들이 실제로 사용할 수 있도록 테스트와 설명까지 진행했다.


회고

평소에는 기능 구현이나 코드 작성이 더 직접적인 개발이라고 생각했지만, 오늘처럼 팀 전체가 안정적으로 작업할 수 있는 환경을 만드는 것도 중요한 개발 작업이라는 생각이 들었다.

특히 9주라는 제한된 기간 안에서 프로젝트를 진행하려면, 에셋 공유나 동기화 문제로 시간을 낭비하지 않도록 초반에 운영 방식을 정리하는 것이 중요하다.

아직 언리얼 SCP와 .gitignore 사이에서 생기는 문제는 완전히 해결하지 못했지만, 최소한 에셋 관리 방향은 팀 차원에서 정리할 수 있었다.

'프로그래밍 > 개발일지' 카테고리의 다른 글

[TIL] 연발사격 처리 아키텍쳐 결정  (0) 2026.05.29
[TIL] Listen Server 기반 프로토타입 빌드 패키징 정리  (0) 2026.05.27
[UnrealEngine] 멀티플레이어 디펜스 `SagoMagic` 프로젝트 KPT 회고  (0) 2026.04.24
[개발전반] Ureal Engine 5를 이용해 한 달동안 진행했던 팀프로젝트 TPS게임 개발 KRP  (0) 2026.03.05
[개발전반] Best Practice란?  (0) 2026.02.03
'프로그래밍/개발일지' 카테고리의 다른 글
  • [TIL] 연발사격 처리 아키텍쳐 결정
  • [TIL] Listen Server 기반 프로토타입 빌드 패키징 정리
  • [UnrealEngine] 멀티플레이어 디펜스 `SagoMagic` 프로젝트 KPT 회고
  • [개발전반] Ureal Engine 5를 이용해 한 달동안 진행했던 팀프로젝트 TPS게임 개발 KRP
hanong8
hanong8
hanong8 님의 블로그 입니다.
  • hanong8
    HaNong
    hanong8
  • 전체
    오늘
    어제
    • 분류 전체보기 (115) N
      • 프로그래밍 (112) N
        • Unreal Engine 5 (47) N
        • C++ (22)
        • UML (2)
        • 자료구조 (2)
        • 알고리즘 (9)
        • 개발일지 (8) N
        • DirectX11 (5)
        • Git (2)
        • 코드카타 (15)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    UE5 #GAS #Multiplayer #C++ #Projectile
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
hanong8
[TIL] Unreal 프로젝트 에셋 관리를 Google Drive + rclone + bat 파일로 분리하기
상단으로

티스토리툴바