Unity Supabase 연동

Roh·2023년 11월 20일
0

Supabase

목록 보기
1/4

Unity Supabase 연동을 시작해보자.
Supabase 기본 테이블 설정은 다른 좋은 글들이 있으니까 기본 테이블 설정을 하고 오자.
자 이제 Unity에서 Supabase를 사용해보자.

https://github.com/wiverson/supabase-unity-template
git에 들어가서 zip 다운받고 Unity Hub를 통해 프로젝트를 Open해주자.

프로젝트를 오픈하고 2D 버튼을 눌러주면 아래와 같이 UI들이 생성돼있다.

그리고 Supabase Settings Script를 열어주고 URL과 Key를 입력해준다.

Url, Key는 Supabase Setting에서 확인가능하다.

DB에서 데이터를 가져와보는것이 내 목표이다. 우리가 git에서 다운받은 project는 Supabase를 Local에서 돌리는것이다. 하지만 나는 서버에서 사용할 것이기에 Hierarchy 창에있는 Object들을 uncheck해주고 새로운 나만의 SupaManager를 만들어 주고 Supabase Get Script를 넣어줬다.

그리고 Project 창에서 오른쪽 마우스 -> Create -> Supabase -> Supabase Settings를 클릭하여 Supabase Settings를 생성해주자.

그리고 Supabase Get Component 속성인 Supabase Settings에 드래그 드랍해주자.

SupabaseGet Script는 아래와 같이 작성해 주었다.

using System;
using Supabase;
using UnityEngine;
using Client = Supabase.Client;
using System.Collections.Generic;
using Postgrest.Models; // Postgrest.Models.BaseModels

namespace com.example
{
    public class product : BaseModel  //
    {
        public int Id { get; set; }
        public string Name { get; set; }

        public override bool Equals(object obj)
        {
            return obj is product productInstance &&
                    Id == productInstance.Id;
        }

        public override int GetHashCode()
        {
            return HashCode.Combine(Id);
        }

    }

    public class SupabaseGet : MonoBehaviour
    {
        public SupabaseSettings SupabaseSettings = null!;
        private Client client;

        private async void Start()
        {
            var options = new SupabaseOptions
            {
                AutoConnectRealtime = true
            };

            var supabase = new Supabase.Client(SupabaseSettings.SupabaseURL, SupabaseSettings.SupabaseAnonKey, options);
            await supabase.InitializeAsync();

            var result = await supabase.From<product>().Select("name").Get();
            List<product> products = result.Models;
            foreach(var product in products){
                Debug.Log(product.Name);
            }
            
        }
    }
}

Supabase에서 작성한 database이다. 여기서 옷들의 이름을 가져오도록 작성된 코드다.

자 이제 시작버튼을 눌러 결과를 확인하자. 정상적으로 작동된 모습이다.

*** Reference
https://www.youtube.com/watch?v=8ue-h1qqQho&ab_channel=%EC%9E%98%EB%90%A0%EC%BD%94%EB%94%A9

https://supabase.com/docs/reference/csharp/select

profile
Better than doing nothing

0개의 댓글

관련 채용 정보