Unity 12

Unity App Check at Android, Apple With ASP.NET (Unity, ASP.NET에서 App Check)

구글 스토어에서 APK를 빼가서 다른곳에서 사용하여 접속하는 경우가 있었기에 이를 막기위한 방법으로App Check라는 것이 있습니다 Android, iOS각각 설정하는 방법도 있지만 Firebase를 사용하여 동시에 해결하는 방법도 있습니다. Unity는 아래의 방법에서 설정하면 됩니다.https://firebase.google.com/docs/app-check/unity/default-providers?hl=ko&authuser=1 1. Firebase설정1) Firebase에 해당 프로젝트의 App Check에 들어가줍니다.(보안 탭 > App Check > 시작하기 클릭) 2) 앱탭을 선택한 후 세부정보 표시에서 각 플랫폼에 맞게 설정해줍니다.Android나 iOS모두 앱 출시를 하시는 과정을..

Unity 2026.05.01

Unity AR World와 3D World 같이 쓸 때 주의사항

AR을 껐다 켰다하며 유니티 3D World를 같이 쓸 때 주의할 점 입니다. AR을 껐다 켜는 스크립트 참고는 아래 링크에서 하시면 됩니다.https://blog.naver.com/washble2/223958898798 1. AR월드의 Position과 3D World의 Position차이AR월드의 Position과 3D World의 Position이 다르기 때문에 이를 보간하는 작업을 해줘야 됩니다.아래의 링크를 참고하시면 됩니다.https://blog.naver.com/washble2/224085744801 AR Camera(AR Face) 와 Main Camera 같이 쓸 때 위치 변화Unity 6000.0.59f2버전을 사용했습니다 프로젝트에서 Main Camera와 AR Camera를 같이..

Unity 2026.04.25

OperationException : Failed to initialize localization, could not preload asset tables

[Error]OperationException : Failed to initialize localization, could not preload asset tables Localization을 쓸 때 preload를 적용했는데 자꾸 앱 시작 초반에 위와 같은 에러가 떠서 해결하기 위해서 찾아보니아래와 같은 링크의 해결법을 찾을 수 있었습니다.https://discussions.unity.com/t/locales-preloadoperation-has-not-been-initialized-in-standalone-build/863013/2 - Localization이 초기화 될 때 까지 기다리게 하는 코드입니다.다만 사용하면 초기화 될 때까지 기다리게 하는 것이라 멈춤이 보일 수 있기에 초기 로딩화면에서 ..

Unity 2026.03.13

Unity IAP Codeless 없이 수동 IAPManager 작성

처음에 Unity에 Codeless를 사용해서 IAP를 사용하고 있었는데처음 Scene이 IAP Button들이 있는 곳이 아니다보니 Android에서 Codeless초기화 때 작동시켜주는 Restore를 얻지 못해서결국 수동으로 IAP를 관리해주는 Manager를 만들었습니다. Manager사용 예시는 다음 게시글에 올리겠습니다. IDetailedStoreListener를 상속받아서 IStoreController, IExtensionProvider를 받을 수 있게 해주었습니다.구매관련은 IStoreController를 사용, Restore는 IExtensionProvider를 사용하였습니다.구매 후에는 ProcessPurchase여기로 Callback이 들어오는데 이때 정확한 delegate를 작동하..

Unity 2026.03.09

Unity Stove PCSDK3 연동과 Rank연동 후기

Unity6로 작업했습니다. Unity Stove PCSDK3 연동방법은 스토브 developers에 자세히 나와 있습니다.따라서 연동하면 되기는 하지만 경험한 에러나 주의할 점에 대해서 적어봅니다.https://developers-beta.onstove.com/ko/docs/Store/PCSDK3/PCSDK_v3_intro 스토브 스토어 개발자 가이드 developers-beta.onstove.com 제가 경험한 것에 따라 적은 것이기에 참고로만 봐주세요! 1. 작성한 전체 StovePCSDK3ManagerUnitask를 사용하였기에 Unitask를 Coroutine으로 변경해서 쓰셔도 됩니다.상속한 Singleton코드도 아래에 같이 올립니다. StovePCSDK3Manager.csusing Sys..

Unity 2026.03.08

Unity Codeless IAP 사용 때 소비아이템 자동 구매 확정 문제 해결

Unity 에서 Codeless IAP를 사용할 때 소비 아이템일 경우 바로 자동 구매확정 되어지도록 세팅이 되어 있어서 문제가 되었습니다. 자동으로 확정되면 오히려 좋지 않냐? 할 수 있는데 아직 이용자에게 보상을 주지 않았는데도 Pending을 안 시키고 그대로 확정 지어버리면사용자는 돈을 써서 구매했지만 아이템은 받지 못했을 경우 문제가 됩니다. 해결하는 방법은 간단하게 IAP Button에서 Consume Purchase를 체크해제해주면 됩니다. 구매확정은 실제 보상 지급 후 꼭 아래의 코드를 사용해서 완료해주세요!CodelessIAPStoreListener.Instance.StoreController.ConfirmPendingPurchase(product);

Unity 2026.03.05

Unity TextMeshPro - Text에 Sprite Mask 되게 적용하기

일반적으로 Canvas에서 쓰는 TextMeshProUGUI에 Mask적용은 매우 간단하게 되지만MeshRenderer를 사용하는 TextMeshPro - Text의 경우는 Material에 Stancil설정을 통해 직접 해주어야한다. 1. 우선 TMP에서 Material을 만들어 줍니다. 이때 보통 새로운 Material을 만드는데 TMP에서 제대로 Material을 사용하려면 아래와 같이 만들어 주어야 합니다. - Material있는 부분에 오른쪽 마우스 클릭 후 Create Variant for Renderer를 클릭 후 새롭게 Material을 생성합니다. - Select Material을 통해 Material의 이름을 바꿔주고 해당 Material을 사용하도록 해줍니다.(보통 SDF있는 위치..

Unity 2026.02.06

유니티 SerializeHashSet, HashSet직렬화

Unity Inspector에 HashSet을 Serialize하고 쓸 수 있게 해줍니다. Dictionary를 Serialize하고 싶으시면 아래 링크를 참고해주세요https://blog.naver.com/washble2/222950029589 유니티 SerializeDictionary, Dictionary직렬화유니티에서는 inspector에 Dictionary가 보이지 않습니다. 이럴 때 유용히 쓰는 것에 SerializeDictiona...blog.naver.com 전체 코드입니다.using System;using System.Collections.Generic;using UnityEngine;[Serializable]public class SerializeHashSet : HashSet, I..

Unity 2026.02.03

[Unity] Content Size Fitter: Parent has a type of layout group component

Layout Group과 Content Size Fitter를 같이 쓰다 보면 위와 같은 경고를 볼 수 있습니다.이는 Unity에서 제공하는 UI Setting을 따르지 않아서 생긴 경고입니다. 일반적으로 Content Size Fitter가 하위의 UI들의 크기에 따라 적절히 잡아주기 때문에 하위항목을 많이 가진 부모에 넣곤 합니다.하지만 Layout Group과 쓸 때는 한 번만 쓰면 됩니다. https://stackoverflow.com/questions/53059487/unity3d-parent-has-a-type-of-layout-group-error Unity3D - "Parent has a type of layout group" errorI have this simple structure ..

Unity 2026.01.30

Unity Sound Clip 간단 설정 및 확장자(BGM, SFX, Dubbing)

따로 음원크기나 프로젝트의 특성을 고려하지 않고 일반적인 경우에 간단 설정을 잊지 않기 위해 적어둡니다.(꼭 본인 프로젝트에 맞게 고려해서 설정하세요! 예를 들어 모바일일 경우 Mono로만 가능) [추천 음원 확장자]1. BGM : .mp3 또는 .ogg장점:압축률이 높아 파일 크기가 작음 → 모바일 환경에서 유리긴 음악 파일에 적합 (메모리 절약)Unity에서 잘 지원단점:무손실 포맷이 아니므로 음질 손실이 있음루프 시 프레임 단위 정확도가 떨어질 수 있음 (간혹 끊김 발생)대안: 긴 음악은 .ogg(Vorbis)도 많이 사용 → 루프 정확도가 더 좋음 2. SFX : .wav장점:무압축 포맷 → 빠른 로딩과 재생짧은 효과음은 용량 부담이 적음음질 손실 없음단점:파일 크기가 큼 → 긴 오디오에는 부적..

Unity 2026.01.26