본문 바로가기
■ 로블록스 개발 노트/개발일지

[로블록스]#14 - 성능 최적화 & 모바일 대응

by Popbox 2025. 12. 31.

[로블록스]#14 - 성능 최적화 & 모바일 대응

PC에서는 멀쩡하다.
그런데 모바일에서 프레임이 떨어지고, 입력이 밀리고, 튕긴다.
이번 글에서는 로블록스 성능 최적화의 핵심 원칙 모바일 대응에서 반드시 지켜야 할 기준을 Unity 개발자 관점에서 정리한다.


 

 

1. 로블록스 성능의 1순위는 모바일이다

로블록스 유저의 상당수는 모바일에서 접속한다.

PC 기준으로 만든 게임은
모바일에서 반드시 무너진다.

그래서 로블록스 최적화는 “나중에”가 아니라 처음부터 고려해야 한다.

 

 

 


2. 성능을 잡아먹는 4대 요소

  • Part 개수
  • Unanchored 물리
  • UI 오버드로우
  • 과도한 Script 실행

이 네 가지만 줄여도 체감 성능은 눈에 띄게 좋아진다.

 

 

 


3. Part 최적화 – 개수부터 줄여라

로블록스에서는 Part 수 = 성능 비용이다.

  • 작은 Part 여러 개 = 나쁨
  • MeshPart 하나 = 좋음
  • Decorative Part는 CanCollide = 나쁨
  • 보이지 않는 Part는 Transparency 1 + CanCollide = 나쁨

“보여주기용”과 “충돌용”을 분리하라

 

 

 


4. 물리는 최소한으로만 사용한다

모바일에서 가장 무거운 요소는 물리 연산이다.

  • Unanchored Part 최소화
  • 필요 없는 Constraint 제거
  • Weld 남용 금지
  • 움직임은 Tween / CFrame 우선

“물리로 할 수 있다”와 “물리로 해야 한다”는 다르다.

 

 

 


5. Script 실행 횟수를 줄여라

로블록스에서 성능을 갉아먹는 또 하나는 Script 실행 빈도다.

  • X while true do + wait() 
  • X RunService 남용 
  • O 이벤트 기반 처리 
  • O 상태 변화 시에만 실행 

매 프레임 실행은
정말 마지막 수단이다.

 

 

 


6. UI 최적화 – 모바일의 복병

모바일에서 UI는 생각보다 훨씬 무겁다.

  • 겹치는 Frame 최소화
  • 불필요한 Transparency 제거
  • 보이지 않는 UI는 Visible=false
  • TextScaled 남용 금지

UI는 “많이 보여줄수록” 성능을 잡아먹는다.

 

 

 


7. StreamingEnabled – 무조건 켜라

큰 맵을 쓴다면 StreamingEnabled는 선택이 아니다.

StreamingEnabled
=
필요한 것만 불러온다

  • 초기 로딩 시간 감소 > 플레이어 주변 오브젝트만 단계적으로 로딩
  • 메모리 사용 감소
  • 모바일 안정성 증가
  • 단, 클라에서 특정 오브젝트(part)가 로딩이 됐는지 nil체크

Workspace's properties

 

 

 


8. 모바일 입력 대응 기본기

모바일에서는 입력 자체가 다르다.

  • X 작은 버튼 
  • X Hover 기반 UI 
  • O 터치 영역 크게 
  • O 중요 버튼은 화면 하단 

PC에서 편한 UI는 모바일에서 최악일 수 있다.

 

 

 


9. 개발자가 자주 하는 착각

  • “나중에 최적화하면 되겠지”
  • PC 기준 테스트만 한다
  • 물리는 공짜라고 생각한다
  • UI는 성능과 무관하다고 믿는다

로블록스에서는 이 착각들이 그대로 프레임 드랍으로 이어진다.

 

 

 


10. 성능 최적화 핵심 체크리스트

  • Part 수 줄였는가?
  • Unanchored 최소화했는가?
  • Script 실행 빈도 점검했는가?
  • UI 겹침 줄였는가?
  • StreamingEnabled 켰는가?
  • 모바일 직접 테스트했는가?

이 체크리스트를 통과하면 모바일에서도 안정적인 게임이 된다.

 

 

 


11. 다음 글 예고

다음 글은 중간 기본기의 마지막이다.

“핵은 막을 수 있다”


반응형

댓글