It is normal in previous versions including unity2019.
This is a phenomenon that occurred after updating to unity2020. It will also happen in 2021.
It only occurs on android and pc (steam). It doesn't happen on ios.
I am using spine version 3.8. The resource causing the problem is a resource created in 3.7 and upgraded to 3.8.

The symptom is that the scale value appears to be 10 times larger. A normal SkeletonDataAsset uses 0.01, but the visible size is 0.1.
I tried forcibly setting the scale value of the SkeletonDataAsset using CreateRuntimeInstance when creating the spine object, but it doesn't work.

Not all objects occur, only some objects.
It does not occur on all devices and is being reported by some users overseas.
It does not occur in our editor or phone device pc device.
There is no information reported in Korea.

Have you had similar symptoms and is there a solution? Or if you have any hints to find the cause, please share.

unity2019 포함 이전버전에서는 정상적입니다.
unity2020으로 업데이트해서 발생한 현상입니다. 2021에서도 발생합니다.
android, pc(steam)에서만 발생합니다. ios에서는 발생하지 않습니다.
스파인 버전은 3.8 사용하고 있습니다. 문제가 발생하는 리소스는 3.7에서 만들어서 3.8로 업그레이드 진행한 리소스입니다.

증상은 scale값이 10배 커져 보입니다. 정상적인 SkeletonDataAsset는 0.01을 사용하는데 보이는 사이즈는 0.1로 입니다.
스파인 오브젝트 생성시 CreateRuntimeInstance를 사용해서 SkeletonDataAsset의 스케일값을 강제 세팅해보았지만 해결되지 않습니다.

모든 오브젝트가 발생하지않고 몇몇 오브젝트만 발생합니다.
모든 디바이스에서 발생하지않고 해외 몇몇 유저에게서 보고되고 있습니다.
저희쪽 에디터나 폰디바이스 pc디바이스에서는 발생하지 않습니다.
국내에서 제보된 내용도 없습니다.

이와 같은증상이 발생했고 해결방법이 있을까요? 아니면 원인을 찾을 힌트가 있으면 공유 부탁드립니다.

    Related Discussions
    ...

    어떤 버전의 spine-unity 런타임을 사용하고 있습니까('Assets/Spine/version.txt'에도 나열된 unitypackage의 이름)?

    Unity 버전을 업데이트할 때 문제가 발생하면 필요한 다시 가져오기로 인해 문제가 발생할 가능성이 있습니다. 'SkeletonDataAsset' 자산에 버전 제어 시스템에 커밋된 모든 줄이 없는지 확인하고 싶을 수 있습니다. Unity 버전을 업그레이드한 후 버전 제어 시스템의 SkeletonDataAsset 파일에서 diff를 볼 수 있어야 합니다. 어떤 변화가 보이나요? 여기 포럼에서 이 파일의 diff를 공유할 수 있습니까?

    일반적으로 SkeletonDataAsset 배율 기본값은 Edit - Preferences - Spine 창에서 Default SkeletonData Scale 아래에 설정되며 SpineSettings 자산에 저장됩니다. 이 설정 자산은 기본적으로 'Assets/Editor/SpineSettings'에 있지만 다른 위치로 이동할 수 있습니다. 여러 프로그래머나 아티스트가 기본 설정이 다른 버전 제어(또는 다운로드 가능한 게임 내 자산 게시)에 커밋을 푸시하고 있고 SkeletonDataAsset 이 완전히 커밋되지 않았습니까 ?

    min2pro 척추 오브젝트 생성시 CreateRuntimeInstance를 이용하여 SkeletonDataAsset의 스케일 값을 강제로 설정해 보았으나 잘 되지 않습니다.

    다른 scale 인수로 CreateRuntimeInstance() 를 호출해도 Unity 내부에서도 아무런 효과가 없으며 스켈레톤이 항상 너무 큰 크기로 생성된다는 뜻인가요?



    Which version of the spine-unity runtime are you using (name of the unitypackage, also listed in Assets/Spine/version.txt)?

    If your issue occurs when updating your Unity version, chances are that the necessary re-import triggers your problem. You might want to check whether your SkeletonDataAsset asset maybe does not have all lines committed in your version control system. You should be able to see a diff on the SkeletonDataAsset file in your version control system after upgrading your Unity version. Which changes do you see? Could you perhaps share the diff of this file here on the forum?

    In general, SkeletonDataAsset scale defaults are set at the Edit - Preferences - Spine window under Default SkeletonData Scale, which is saved to the SpineSettings asset. This settings asset is by default located at Assets/Editor/SpineSettings, but can be moved to another location. Are perhaps multiple programmers or artists pushing commits into version control (or publishing downloadable in-game assets) which have different default settings set, and the SkeletonDataAsset is not entirely committed?

    min2pro I tried forcibly setting the scale value of the SkeletonDataAsset using CreateRuntimeInstance when creating the spine object, but it doesn't work.

    Do you mean that calling CreateRuntimeInstance() with different scale arguments has no effect even inside Unity, and your skeleton is always created at a too large size?

    코드에서 프로그래밍 방식으로 skeleton.ScaleX 또는 ScaleY를 설정하고 있습니까? 일부 장치에서만 발생하고 모두 동일한 동일한 자산을 사용하거나 다운로드하는 경우 두 개의 스크립트 또는 이벤트 설정 스케일이 서로 다른 순서로 발생하는 경합 상태처럼 들립니다. 때때로 잘못된 스케일이 마지막에 설정됩니다.


    Are you setting skeleton.ScaleX or ScaleY somewhere else programmatically in code? If it only occurs on some devices and they are all using or downloading the same identical asset, it sounds like a race condition of two scripts or events setting scale in different order, where sometimes the wrong scale is set last.

    25 days later

    The issue has been confirmed.
    When the language setting of the device phone is set to Portuguese or Brazilian language, it was a problem caused by a string conversion problem according to the cultural format.
    So setting it like this solved it:
    CultureInfo.CurrentCulture = CultureInfo.InvariantCulture;
    thank you

    @min2pro Thanks for getting back to us, very glad to hear you've figured it out.

    I assume that the issue would no longer occur with current 4.1 and newer spine-unity runtime versions, as related parsing issues have been fixed in the commits referenced by this issue ticket:
    EsotericSoftware/spine-runtimes1354