유니티(Unity)에서 AI 음성 질의응답 (Open AI API) 서비스 구현
- 유니티게임개발/AI
- 2026. 4. 27.
유니티(Unity)에서 AI 음성 질의응답 (Open AI API) 서비스 구현
유니티에서 OpenAI API를 활용하여 사용자 질문(음성)에 대한 응답 서비스(STT, LLM, TTS) 간단 구현방법
예제에서는 OpenAI의 공식 API( RESTful API)를 유니티 환경에서 편리하게 호출할 수 있도록 래핑된(Wrapper) 비공식 SDK를 활용합니다(서비스 구현에 Open AI 계정 및 API 키 필요)
RageAgainstThePixel, A Non-Official OpenAI Rest Client for Unity ,UPM
https://github.com/RageAgainstThePixel/com.openai.unity
GitHub - RageAgainstThePixel/com.openai.unity: A Non-Official OpenAI Rest Client for Unity (UPM)
A Non-Official OpenAI Rest Client for Unity (UPM). Contribute to RageAgainstThePixel/com.openai.unity development by creating an account on GitHub.
github.com
또는 OpenUPM에서 배포
https://openupm.com/packages/com.openai.unity/
해당 SDK는 OpenAI 의 RESTful API를 사용할 수 있는 간단한 C# .NET 클라이언트 라이브러리인 OpenAI-DotNet에 기반합니다.
https://rageagainstthepixel.github.io/OpenAI-DotNet/README.html
https://github.com/OkGoDoIt/OpenAI-API-dotnet
유니티 프로젝트 세팅 순서
1)프로젝트 설정(Package Manager)에서 OpenUPM 패키지 레지스트리를 추가합니다.
Name - OpenUPM
URL - https://package.openupm.com
Scope(s) -
com.openai
com.utilities

2)패키지 관리자(PackageManager)의 My Registries에서 OpenUPM 레지스트리를 확인할수있습니다. OpenAI 패키지를 설치합니다(서명되지않은 패키지로 경고 메시지를 표시함)

3)프로젝트의 패키지(Packages)에서 정상적으로 설치된것을 확인할수있습니다.

4)샘플 에셋을 다운로드하려면 Open AI 패키지의 Samples에서 에셋을 가져오기(import) 및 추가합니다.

5)프로젝트에서 샘플 씬 및 에셋을 확인할수있습니다.

인증(Authentication)을 위한 API 키를 제공하는 4가지 방법
API를 초기화할때 인증을위해 OpenAIAuthentication 를 사용하며 API 키(Key)를 제공하는 4가지 방법이있습니다
1-OpenAIClient를 생성할때 명시적으로 전달(생성자를 통해 키를 직접 전달)
2-키를 OpenAIConfiguration 구성 에셋에 지정(ScriptableObject)
(이 파일은 소스 코드 관리 시스템에 커밋할 경우 다른 사용자가 API 키를 볼 수 있으므로 주의해야 함)
3-키를 구성파일(.openai 또는 .json)에서 불러오기
기본적으로 현재 디렉터리에 존재하는 구성파일에서 API 키 로드를 시도
Json 형식
{
"apiKey": "sk-aaaabbbbbccccddddd",
"organizationId": "org-yourOrganizationId",
"projectId": "proj_yourProjectId"
}
OpenAIAuthentication 함수를 호출하여 지정된 경로에서 직접 로드
var api = new OpenAIClient(new OpenAIAuthentication().LoadFromPath("path/to/your/file.json"));
4-시스템환경변수 사용
OpenAIConfiguration 구성 에셋에 API Key를 지정한 방법
6)프로젝트에서 에셋의 Resources 폴더에 OpenAIConfiguration 에셋을 생성합니다.


7)OpenAIConfiguration 에셋에 Api Key를 입력합니다.
Open AI 플랫폼(platform)에서 API key 발급하고 크레딧 충전하기
https://learnandcreate.tistory.com/3128

8)샘플 씬에서 대화형 OpenAIClient 구현 스크립트에 OpenAIConfiguration에셋을 참조합니다.


9)샘플 씬에는 기본적인 대화를 위한 입력 및 출력 UI가 세팅되어있습니다.

10)게임을 실행하고 사용자 텍스트 및 질문을 입력하면 응답을 생성 및 출력합니다.



기타
한글 지원 텍스트
글꼴 ttf 파일 준비 및 유니티가져오기, textmeshpro 에셋 생성
캔버스 input field에 에셋 할당
private TextMeshProUGUI AddNewTextMessageContent(Role role)
텍스트 관련 함수 코드수정
textMesh.font = fonts;
'유니티게임개발 > AI' 카테고리의 다른 글
| 유니티에서 OpenAI GPT 맞춤형 질의응답 구현(Responses API, 벡터스토어) (0) | 2026.06.12 |
|---|