본문으로 건너뛰기

변경 내역

1.0.6

브레이킹 변경

  • AchEngine.Extensions 어셈블리와 Runtime/Extensions 확장 메서드 소스 파일을 제거했습니다. 관련 확장 메서드 가이드 문서도 삭제했습니다.

1.0.5

신기능

  • AchTask / AchTask<T>를 추가했습니다. UniTask와 System.Threading.Tasks.Task를 단일 API로 통합하는 비동기 래퍼입니다. com.cysharp.unitask 패키지 감지 시 ENABLE_UNITASK 심볼이 자동 정의되어 UniTask로 동작하고, 없으면 Task로 폴백합니다. Delay, DelayRealtime, WaitUntil, WhenAll, WhenAny, CompletedTask, 암묵적 변환을 제공합니다.

문서

  • AchTask 한국어·영어 문서를 추가했습니다 (guide/async).

1.0.4

브레이킹 체인지

  • SoundManager를 제거했습니다. 모든 사용처를 새로운 AudioManager로 교체해야 합니다.

신기능

  • AudioManager를 추가했습니다. SoundManager를 대체하며 BGM 크로스페이드(PlayBgm(clip, fadeDuration), StopBgm(fadeDuration)), BGM 볼륨 페이드(SetBgmVolume(volume, fadeDuration)), 채널별 뮤트(MuteBgm, MuteSfx, MuteAll), 8채널 동시 재생 SFX 풀, 3D 공간 음향(PlaySfxAt(clip, worldPosition))을 제공합니다.
  • AchTimer를 추가했습니다. AchTimer.Wait(seconds) / AchTimer.WaitRealtime(seconds)으로 단순 대기를 처리하고, AchTimer.Start(duration)Elapsed, Remaining, Progress(0–1), IsDone, Cancel(), 직접 await 등을 제공하는 AchTimerHandle을 반환합니다. CancellationTokenuseUnscaledTime을 지원합니다. 내부 AchTimerRunner는 앱 시작 시 자동 생성되므로 씬 설치가 불필요합니다.
  • UIAchTimer 컴포넌트를 추가했습니다. Bind(handle) / Unbind()AchTimerHandleTextSlider에 연결해 실시간으로 진행 상황을 표시합니다.
  • AchButtonCooldown 컴포넌트를 추가했습니다. 클릭 직후 Button을 비활성화하고 지정된 시간 뒤 자동으로 재활성화합니다. 카운트다운 Text 레이블과 OnCooldownStart / OnCooldownEnd UnityEvent를 내장하고 있으며, StartCooldown(), ResetCooldown(), IsCoolingDown을 제공합니다.
  • AchButtonHold 컴포넌트를 추가했습니다. 버튼을 누르고 있는 동안 설정된 간격으로 UnityEvent를 반복 발동합니다. InitialDelayRepeatInterval을 조절할 수 있습니다.
  • AchDebugConsole을 추가했습니다. Unity 렌더 스레드에 영향을 주지 않는 네이티브 UI 오버레이 디버그 콘솔입니다. Android에서는 드래그 가능한 WindowManager 오버레이(SYSTEM_ALERT_WINDOW 권한 필요), iOS에서는 UIWindowLevelAlert + 100UIWindow, 에디터에서는 DrawEditorGUI()를 통한 IMGUI 폴백으로 동작합니다. API: Show(), Hide(), Toggle(), Clear(), IsVisible.
  • RedDot.ClearAll()을 추가했습니다. 모든 노드의 카운트를 한 번에 0으로 초기화합니다.
  • RedDotBadge에 클릭 클리어 기능을 추가했습니다. Clear On Click(기본값 true)과 Button 필드를 추가했으며, 연결된 버튼을 누르면 해당 키의 RedDot.Clear(key)가 자동 호출됩니다.

문서

  • 소스 코드와 불일치하는 API 오류 15개를 수정했습니다. ServiceLocator.Get<T>()Resolve<T>(), UIView 수명 주기 훅 시그니처 수정(object payload), CloseSelf() 교정, 존재하지 않는 Show<T>() / Close<T>() / CloseLayer() 오버로드 제거, AchEngineScopeServiceLocator 수명 주기 다이어그램 수정, IServiceBuilder 등록 문법 수정, ISaveService.Configure() 소유권 명시, 길찾기 문서에서 Rigidbody2D.MovePosition() 참조 제거, Selectable<T>.mChanged 이벤트명 수정, Build()의 GET/POST 전용 제한 명시.
  • 신규 기능 전체에 대한 한국어·영어 문서를 추가했습니다: AudioManager, AchTimer + UIAchTimer, AchButtonCooldown + AchButtonHold, AchDebugConsole.
  • RedDot 문서에 ClearAll() 및 클릭 클리어 배지 사용법을 추가했습니다.

1.0.3

  • SaveManager, ISaveService, LocalSaveService를 추가했습니다. 저장 로직을 PlayerManager에서 분리한 추상화 레이어로, 동기/비동기 API를 모두 제공하며 향후 Firestore, AWS 등 클라우드 백엔드로 교체할 수 있도록 설계했습니다.
  • PlayerManager에서 저장·불러오기 로직을 제거했습니다. 이제 타입별 데이터 컨테이너 관리(Add, Get, Remove)만 담당합니다.
  • AchProjectile을 추가했습니다. Rigidbody2D가 필요 없는 직선·유도탄 통합 발사체 컴포넌트입니다.
  • AchFollower를 완전한 독립 컴포넌트로 리팩터했습니다. AchMover 의존성을 제거했습니다.
  • FontAsset Maker에 다국어 FontAsset 빌드 기능을 추가했습니다. 한국어·영어·일어를 멀티체크로 선택해 각각 별도의 *_TMP.asset 파일을 생성할 수 있습니다.
  • 모든 런타임 비동기 API를 System.Threading.Tasks.Task로 통일했습니다. 중간 추상화인 AchTask를 제거했습니다.

1.0.2

  • Unity Entities용 선택 ECS 헬퍼를 추가했습니다. World, CommandBuffer, Baker, System, DI 래퍼를 포함합니다.
  • Managers, Singleton, Log, WebRequest, PlayerData, QuickSave 등 게임 프레임워크 런타임 모듈을 추가했습니다.
  • Unity 오브젝트, UI 컴포넌트, 컬렉션, 문자열, 델리게이트, Task, 공통 유틸리티를 다루는 Runtime Extensions 어셈블리를 추가했습니다.
  • A* Pathfinding 유틸리티와 Grid Baker를 추가했습니다.
  • AchMover 기반 이동 헬퍼를 추가했습니다.
  • RedDot 알림 배지 런타임 기능을 추가했습니다.
  • Drag, Object Touch, Binding, Open/Close Button 등 UI 컴포넌트 헬퍼를 추가했습니다.
  • AchEngine 주요 시스템을 함께 보여주는 3개 씬 구성의 Full Sample을 추가했습니다.
  • Addressables, DI, Localization, Table, UI 문서를 한국어/영어 양쪽에서 보강했습니다.
  • Domain Reload가 꺼진 Enter Play Mode에서도 정적 상태가 초기화되도록 처리했습니다.
  • 문서 사이트, Mermaid 다이어그램, 교차 링크, JSON 처리 관련 문제를 수정했습니다.
  • Editor Decorators 모듈과 관련 문서를 제거했습니다.
  • 루트 README를 문서 링크 중심의 간단한 랜딩 페이지로 정리했습니다.

1.0.1

  • Table JSON 데이터를 Google Sheets 임포트용 CSV로 내보내는 도구를 추가했습니다. 개별 파일과 폴더 단위 변환을 지원합니다.