https://docs.unrealengine.com/5.0/en-US/one-file-per-actor-in-unreal-engine/

UE4 까지는 레벨에 있는 액터의 속성(위치, 변수값, 이름 등등) 을 변경할 경우, 그 레벨 단위를 변경으로 보고 서밋해야했다.

같은 레벨에 다른 사람이 작업을 하고 있었다면, 머지를 위해 추가적인 작업을 해야했다.

서로 다른 작업을 해서 겹치는 변경사항이 없었다고 해도 결국 같은 레벨을 작업했다면 누군가는 뒤처리를 해야했다.

아니면 다른 작업자가 작업을 끝내기 전까지 기다리던가 해야했다.

One File Per Actor 줄여서 OFPA 는 변경사항을 레벨단위가 아니라, 그 레벨에 속한 액터 단위로 관리될 수 있도록 해주는 기능이다.

이 기능을 사용하면 레벨 작업을 하더라도 충돌을 좀 더 합리적으로 해결할 수 있게 된다.

이 기능을 정상적으로 히스토리까지 남겨서 제대로 쓰려면 소스 컨트롤로 Perforce 를 사용 하는 것이 권장된다.

이 기능을 켜면 컨텐츠 폴더에 아래와 같은 두 폴더가 생성된다.

  • __ExternalActors__
  • __ExternalObjects__

폴더 구조는 실제 컨텐츠 폴더에 레벨이 저장되는 것과 동일하게 저장되고, 특별히 해싱된 이름의 uasset 으로 저장된다.

레벨에 속한 액터마다의 속성을 가진 메타데이터를 갖고있는 것이라고 보면 된다.

동시 작업자가 많으면 많을수록 유용한 기능일 것이다.

하지만 나같이 혼자 취미로 찔끔씩 개발하는 사람에겐 이렇게 커밋에 쓸때없는 것들이 너무 많이 생겨서 딱히 필요가 없는 기능이라 끄고싶었다.

알아서 하라고 월드 세팅에 액터 폴더 오브젝트 사용 을 넣어두긴했는데 5.0.2 에서 비활성화 되어있다…

액터에도 Packaging Mode 가 안보인다.. 뭔가 아직 불안정해서 빼둔건가..?

나중에 복구되면 좀 더 써보겠다. 허허….