# 2.X

{% hint style="info" %}
버전 1.X에서 업데이트하는 경우, 반드시 읽어주세요 [1.x-2.x](https://docs.febucci.com/text-animator-unity/2.x-ko/undefined-3/undefined-3/1.x-2.x "mention")
{% endhint %}

***

## 2.3.X <a href="#id-21x" id="id-21x"></a>

### 2.3.1

{% hint style="info" %}
새 버전을 가져오기 전에 에셋 폴더를 삭제해 주세요, 감사합니다! <3
{% endhint %}

**주요 변경 사항**

* 추가: 사라짐 중간 기호를 '#'에서 사용자가 선호하는 기호로 변경하는 설정
* 추가: 에셋 루트에 Third Parties notice.md 추가

**기타 변경 사항**

* 개선: 웹사이트에 추가 예제 추가
* 개선: Tween 및 태그 파싱에 공유 라이브러리 사용
* 개선: 정보 창의 링크들
* 버그 수정: 액션 선언이 대문자로 되어 있어도 이제 액션은 대소문자 구분 없이 동작함
* 버그 수정: 등호(=) 기호를 사용하는 특정 형식에서 색상을 인식하지 못하던 TMP 태그 파서 문제

### 2.3.0 - 텍스트의 특정 부분 건너뛰기

**주요 변경 사항**

* 추가: 텍스트의 특정 부분에서 타자 효과를 비활성화하는 새로운 리치 텍스트 태그 추가, 기본값은 "\<notype>"이며 글로벌 설정에서 변경 가능
* 추가: 맨 끝에서 전체 등장 또는 소멸이 완료될 때까지 대기하는 옵션 추가

**기타 변경 사항**

* 추가: 타자 효과가 비활성화되어 있지만 사용자가 타자 효과에 의존하는 설정을 변경할 때 타입라이터 인스펙터에 경고 라벨 추가
* 개선: 툴팁 및 사용자 정의 타입라이터 드로어
* 버그 수정: 타입라이터 인스펙터에 같은 변수가 두 번 표시되던 문제
* 버그 수정: 문서에서 누락된 링크 수정

## 2.2.X

### 2.2.1

* 버그 수정: TMPro가 오버플로우가 없는데도 계산하여 타입라이터가 조기에 멈추던 문제
* 오타 수정: TypewriterByCharacter에서 필드 "avoidMultiplePunctuaction" 이름을 "avoidMultiplePunctuation"으로 변경(잘못된 이름은 이제 더 이상 사용되지 않음)

### 2.2.0 - 웹사이트 및 문서 재설계

**주요 변경 사항**

* 더 예쁜 Text Animator 랜딩 페이지, 게임 쇼케이스, 지원 페이지와 새로운 도구 릴리스를 준비한 새로운 웹사이트
* Text Animator용 새로운 문서, 많은 페이지 개선(예제 및 구성 포함), 새 페이지 추가(예: "최선의 관행") 및 FAQ 페이지 강화. 문서에는 검색 바와 라이트/다크 모드 전환도 포함됨.
* 새 사용자용 Discord 온보딩 재작업 및 인증 프로세스 간소화(추가 정보 포함)

#### 기타 변경 사항

* 버그 수정: 오버플로우가 truncate로 설정된 경우 첫 호출 시 텍스트 사각형이 업데이트되지 않던 문제
* 버그 수정: 타입라이터가 재시작되었지만 restart 매개변수가 false로 설정된 경우 액션/이벤트가 재설정되지 않던 문제
* 버그 수정: 스크립터블 오브젝트 선언에서 스타일이 대소문자 구분을 하지 않았어야 하는데 그렇지 않던 문제(텍스트에 설정할 때는 올바르게 작동함)
* 버그 수정: 페이지만 넘칠 때(typewriter within pages overflow) 타입라이터가 제대로 작동하지 않던 문제
* 버그 수정: 문자가 표시되자마자(즉시, 같은 프레임) 호출된 경우 사라짐이 시작되지 않던 문제
* 버그 수정: 예제 씬에서 잘못된 정렬로 Unity 6에서 작동하지 않던 문제
* 이전 위치: API 웹사이트 위치 *febucci.com/.../api*, 에서 *api.febucci.com/...*

#### API

* 추가: TAnimCore.SetVisibilityChar 및 Word에 가시성 변경 시 애니메이션을 비활성화하는 매개변수 추가
* 변경: 사용자 정의 스타일 구현을 허용하기 위해 StyleSheetScriptable.cs의 TryGetStyle 메서드에 "virtual" 시그니처 추가

## 2.1.X <a href="#id-21x" id="id-21x"></a>

### 2.1.1 <a href="#id-211" id="id-211"></a>

**주요 변경 사항**

* 버그 수정: 텍스트를 이어붙인 다음 타입라이터를 재개하려면 사용자가 먼저 maxVisibleCharacters를 증가시켜야 했던 문제
* 버그 수정: TMPro의 “br” 태그가 효과 태그들을 밀어내던 문제
* 개선: 초기화되지 않았던 문자 데이터에 대한 성능 개선

**기타 변경 사항**

* 버그 수정: 사용자가 null 텍스트를 파싱하려고 할 때 발생하던 오류
* 버그 수정: 인스펙터를 통해 스타일 변경이 등록되지 않던 문제

***

### 2.1.0 - 스타일 <a href="#id-210---styles" id="id-210---styles"></a>

**주요 변경 사항**

* 추가: 서로 다른 태그 프리셋을 만들고 텍스트에 쉽게 적용할 수 있는 스타일 기능 추가
* 추가: 사라짐 중에는 타입라이터를 건너뛸 수 있는 기능 추가
* 추가: 문서에 Game Creator 2 통합 페이지 추가
* 추가: 문서에 Unity Localization 통합 페이지 추가
* 버그 수정: TMPro의 텍스트가 null일 때 타입라이터 텍스트 설정 오류
* 버그 수정: TMPro의 닫는 “size” 태그가 인식되지 않던 문제

**기타 변경 사항**

* 버그 수정: 편집 모드 미리보기에서 텍스트 편집 시 텍스트가 한 프레임 동안 표시되던 문제
* 개선: Text Animator 설정용 커스텀 인스펙터 개선

**API**

* 추가: TAnimCore에 “SwapText” 메서드 추가

***

## 2.0.X <a href="#id-20x" id="id-20x"></a>

### 2.0.2 <a href="#id-202" id="id-202"></a>

**주요 변경 사항**

* 추가: 무작위 타입라이터 사라짐 순서
* 버그 수정: 빈 태그가 있는 경우 TMPro의 “link” 태그가 올바르게 파싱되지 않던 문제
* 버그 수정: TMPro의 “sprites”가 텍스트의 다른 태그를 밀어내던 문제
* 버그 수정: 첫 프레임에 캔버스가 할당되지 않은 UI TMPText 인스턴스화 시 발생하던 null 오류
* 버그 수정: 일부 사용자에게 OnRectTransformDimensionsChange 콜백에서 발생하던 인덱스 범위 초과 오류
* 버그 수정: Unity 2023.2 베타 이후 올바른 패키지를 가리키도록 Assembly Definition Reference 수정
* API: “단어 단위 타입라이터(Typewriter By Word)” 변수 공개

**기타 변경 사항**

* 개선: “단어 단위 타입라이터”용 커스텀 인스펙터 드로어 개선
* 개선: “단어 단위 타입라이터”에 AddComponentMenu 추가
* 버그 수정: 반대 메서드를 일시정지할 때 타입라이터가 시작/중지되던 문제
* 버그 수정: “반전된(Inverted)” 타입라이터 사라짐이 올바르게 작동하지 않던 문제
* 버그 수정: 초기화 전에 외부에서 시작된 경우 전체 텍스트가 표시되던 문제(TAnim의 deltaTime 0)

***

### 2.0.1 <a href="#id-201" id="id-201"></a>

**주요 변경 사항**

* 버그 수정: TimeScale이 0으로 설정되고 타입라이터가 여전히 쓰고 있을 때 텍스트가 제대로 숨겨지도록 수정
* 버그 수정: 타입라이터의 “avoidMultiplePuntuationWait”가 올바르게 작동하지 않던 문제
* 버그 수정: 타입라이터가 일시정지된 경우 올바른 위치에서 다시 시작되도록 수정
* 버그 수정: “Shake” 동작의 “d” 수정자가 애니메이션에 영향을 주지 않던 문제

**기타 변경 사항**

* 버그 수정: 인스펙터의 커스텀 효과 모듈이 TAnim 컴포넌트에서 활성화될 수 없던 문제(스크립터블 오브젝트 뷰에서는 정상 작동)
* 버그 수정: 타입라이터 사운드 패키지가 2.X로 업데이트됨
* API: TypewriterByCharacter의 옵션 변수 공개

***

### 2.0.0 <a href="#id-200" id="id-200"></a>

**주요 변경 사항**

* 추가: 편집 모드 미리보기 추가, 플레이 모드에 들어가지 않고도 효과를 재생하고 편집 가능
* 추가: 이벤트가 이제 여러 매개변수를 가질 수 있음
* 추가: 단일 태그로 여러 애니메이션을 재생할 수 있는 “Composite” 효과 추가
* 추가: 에디터와 런타임 플러그인 기능을 테스트하는 테스트 프레임워크 추가
* 추가: 텍스트 내의 어떤 글자든 독립적으로 숨기거나 표시하는 메서드 추가, 단어 단위로 보여주기 등 가능
* 추가: 각 문자 정점(vertex)에 대해 서로 다른 애니메이션을 지정할 수 있는 “Vertex” 커스텀 효과 추가
* 개선: 내장 효과들이 이제 결정적(deterministic)으로 동작하여 재시작 시 동일한 결과를 반환하고 향후 Timeline 통합을 허용
* 개선: 내장 효과와 액션은 이제 사용자가 설정한 다른 태그를 가질 수 있음
* 개선: TextAnimator의 기본 클래스 개선으로 향후 TextMeshPro 외의 다른 텍스트 소스도 애니메이션 가능
* 개선: 효과와 액션이 이제 스크립터블 오브젝트로 변경되어 프로젝트에서 더 많은 커스터마이즈와 통합 가능
* 개선: 효과와 액션이 각자의 데이터베이스에 저장되어 컴포넌트 간에 공유 가능
* 개선: 텍스트 파싱 및 리치 텍스트 태그 인식 향상, 향후 사용자 정의 태그 및 외부 플러그인과의 호환성 지원
* 개선: 코드로 커스텀 효과와 액션을 더 쉽게 생성할 수 있도록 개선
* 개선: 인스펙터를 통해 커스텀 효과를 더 쉽게 생성할 수 있도록 개선
* 개선: TMPro의 'page' 태그가 이제 지원됨!

**기타 변경 사항**

* 추가: 인스펙터에서 “대체 태그(Fallback Tags)”를 상수로 설정하는 옵션 추가, 다른 태그가 있어도 전체 텍스트에 적용됨
* 추가: 기본 설정의 효과/액션 데이터베이스를 사용하거나 컴포넌트별로 특정 데이터베이스를 설정하는 옵션 추가
* 개선: TextAnimator가 설치 위치를 인식하여 에셋 설치 폴더를 프로젝트 내 어디로든 이동할 수 있으며 새 효과를 해당 위치에 설치함
* 개선: 어셈블리 재로드 시간 개선
* 개선: 단순화된 API 및 리팩터링
* 개선: UI 및 UX 개선, 효과/액션 데이터베이스에 잘못된 태그가 있는 경우 알림 제공, 오류 수정 지원 등
* 개선: 다양한 크기 간 일관된 효과를 위한 TextAnimator의 동적 스케일링이 기본적으로 활성화됨
* 변경: “TextAnimatorPlayer” 이름을 “Typewriter”로 변경
* 변경: “Preset” 효과(동작 등)의 이름을 “Uniform” 커스텀 효과로 변경
* 변경: 최소 Unity 버전을 스토어의 가이드라인에 따라 2020.3.0f1로 변경
* 버그 수정: Rect Transform 크기 변경 시 메시가 한 프레임 동안 업데이트되지 않던 문제
* 버그 수정: 일부 경우에 효과 파싱이 몇 글자 밀려 처리되던 문제(특히 TMPro 태그가 TAnim 태그 바로 앞에 작성된 경우)

**API**

* 폐기 예정: 몇몇 API가 폐기 예정(Obsolete)으로 표시되었지만 여전히 이전 호환성을 유지하며 다음 업데이트 전에 어떻게 변경해야 하는지 주석 포함
* 중대한 변경: “TextAnimator.AssignSharedAppearancesData” 메서드가 제거되었습니다. 대신 “TextAnimator.DatabaseAppearances” 속성에서 데이터베이스를 할당해 주세요.
* 중대한 변경: “TextAnimator.AssignSharedBehaviorsData” 메서드가 제거되었습니다. 대신 “TextAnimator.DatabaseBehaviors” 속성에서 데이터베이스를 할당해 주세요.
* 중대한 변경: “TextAnimator.onEvent” 이벤트가 제거되었습니다. 대신 관련 Typewriter에서 발생하는 메시지에 구독해 주세요. 해당 메시지는 텍스트가 해당 Typewriter 덕분에 진행될 때에만 발생합니다.
* 중대한 변경: “Febucci.UI.Core.TAnimBuilder.InitializeGlobalDatabase()” 메서드가 제거되었습니다. (이 줄은 더 이상 필요하지 않으니 안전하게 제거하셔도 됩니다.)
* 중대한 변경: “Febucci.UI.TextAnimatorPlayer”가 “Febucci.UI.TypewriterByCharacter”로 이름이 변경되었습니다. 추상형은 Febucci.UI.Core.TypewriterCore를 사용할 수 있습니다.
* 중대한 변경: “Febucci.UI.TextAnimator”가 “Febucci.UI.TextAnimator\_TMP”로 이름이 변경되었습니다. 추상형은 Febucci.UI.Core.TAnimCore를 사용할 수 있습니다.

사용자 정의 Typewriter 또는 액션을 만든 경우 영향이 있을 수 있습니다:

* 중대한 변경: “TAnimPlayerBase.isWaitingForPlayerInput” 속성이 제거되었습니다. 대신 “input” 액션을 참조하고 해당 액션이 실행 중인지 확인해 주세요.
* 중대한 변경: ‘TAnimPlayerBase.WaitInput” 메서드가 제거되었습니다. 새 가이드를 따라 커스텀 액션을 구현해 주세요.
* 중대한 변경: ‘TAnimPlayerBase.DoCustomAction” 메서드가 제거되었습니다. 새 가이드를 따라 커스텀 액션을 구현해 주세요.
* 중대한 변경: ‘TAnimPlayerBase.OnTypewriterCharDelay’ 메서드가 제거되었습니다.
* 변경: 타입라이터의 “GetWaitAppearanceTimeOf” 메서드의 매개변수가 ‘char’에서 ‘int’(characterIndex)로 변경됨
* 변경: 타입라이터의 “GetWaitDisappearanceTimeOf” 메서드의 매개변수가 ‘char’에서 ‘int’(characterIndex)로 변경됨
