Showing preview only (422K chars total). Download the full file or copy to clipboard to get everything.
Repository: hexthedev/OpenAi-Api-Unity
Branch: main
Commit: 67658d9694f6
Files: 252
Total size: 358.7 KB
Directory structure:
gitextract_1dt47_oh/
├── .github/
│ ├── scripts/
│ │ ├── prChangelog_NoAuth.py
│ │ └── versionUpdater.py
│ └── workflows/
│ └── unitypackage.yml
├── CHANGELOG.md
├── CHANGELOG.md.meta
├── Documentation/
│ ├── 1_Overview.md
│ ├── 1_Overview.md.meta
│ ├── 2_Authentication.md
│ ├── 2_Authentication.md.meta
│ ├── 3_ApiCalls.md
│ ├── 3_ApiCalls.md.meta
│ ├── 4_JsonSerialization.md
│ └── 4_JsonSerialization.md.meta
├── Documentation.meta
├── Editor/
│ ├── Scripts/
│ │ ├── Examples/
│ │ │ ├── EMExampleChatRuntimeScene.cs
│ │ │ ├── EMExampleChatRuntimeScene.cs.meta
│ │ │ ├── EMExampleOpenAiApiRuntimeScene.cs
│ │ │ ├── EMExampleOpenAiApiRuntimeScene.cs.meta
│ │ │ ├── ExampleOpenAiApiUnityEditor.cs
│ │ │ └── ExampleOpenAiApiUnityEditor.cs.meta
│ │ ├── Examples.meta
│ │ ├── Unity/
│ │ │ ├── V1/
│ │ │ │ ├── Auth/
│ │ │ │ │ ├── SOAuthArgsV1Editor.cs
│ │ │ │ │ └── SOAuthArgsV1Editor.cs.meta
│ │ │ │ ├── Auth.meta
│ │ │ │ ├── EMPrefabs.cs
│ │ │ │ └── EMPrefabs.cs.meta
│ │ │ └── V1.meta
│ │ └── Unity.meta
│ ├── Scripts.meta
│ ├── openai.api.unity.editor.asmdef
│ └── openai.api.unity.editor.asmdef.meta
├── Editor.meta
├── License.md
├── License.md.meta
├── README.md
├── README.md.meta
├── Runtime/
│ ├── Config/
│ │ ├── DefaultAuthArgsV1.asset
│ │ ├── DefaultAuthArgsV1.asset.meta
│ │ ├── DefaultChatCompletionArgs.asset
│ │ ├── DefaultChatCompletionArgs.asset.meta
│ │ ├── DefaultCompletionArgs.asset
│ │ └── DefaultCompletionArgs.asset.meta
│ ├── Config.meta
│ ├── Prefabs/
│ │ ├── OpenAiApiGatewayV1.prefab
│ │ ├── OpenAiApiGatewayV1.prefab.meta
│ │ ├── OpenAiChatCompleterV1.prefab
│ │ ├── OpenAiChatCompleterV1.prefab.meta
│ │ ├── OpenAiCompleterV1.prefab
│ │ └── OpenAiCompleterV1.prefab.meta
│ ├── Prefabs.meta
│ ├── Scenes/
│ │ ├── ExampleChatRuntimeScene.unity
│ │ ├── ExampleChatRuntimeScene.unity.meta
│ │ ├── ExampleOpenAiApiRuntimeScene.unity
│ │ └── ExampleOpenAiApiRuntimeScene.unity.meta
│ ├── Scenes.meta
│ ├── Scripts/
│ │ ├── Api/
│ │ │ ├── Base/
│ │ │ │ ├── AApiResource.cs
│ │ │ │ ├── AApiResource.cs.meta
│ │ │ │ ├── ApiResult.cs
│ │ │ │ ├── ApiResult.cs.meta
│ │ │ │ ├── IApiResource.cs
│ │ │ │ ├── IApiResource.cs.meta
│ │ │ │ ├── OpenAiApiException.cs
│ │ │ │ └── OpenAiApiException.cs.meta
│ │ │ ├── Base.meta
│ │ │ ├── Utility/
│ │ │ │ ├── EChatModelNames/
│ │ │ │ │ ├── EChatModelName.cs
│ │ │ │ │ └── EChatModelName.cs.meta
│ │ │ │ ├── EChatModelNames.meta
│ │ │ │ ├── EngineNames/
│ │ │ │ │ ├── EEngineName.cs
│ │ │ │ │ ├── EEngineName.cs.meta
│ │ │ │ │ ├── UTEngineNames.cs
│ │ │ │ │ └── UTEngineNames.cs.meta
│ │ │ │ ├── EngineNames.meta
│ │ │ │ ├── StringOrArray.cs
│ │ │ │ ├── StringOrArray.cs.meta
│ │ │ │ ├── UnityWebRequestAsync/
│ │ │ │ │ ├── UnityWebRequestAwaiter.cs
│ │ │ │ │ ├── UnityWebRequestAwaiter.cs.meta
│ │ │ │ │ ├── UnityWebRequestExtensions.cs
│ │ │ │ │ └── UnityWebRequestExtensions.cs.meta
│ │ │ │ └── UnityWebRequestAsync.meta
│ │ │ ├── Utility.meta
│ │ │ ├── V1/
│ │ │ │ ├── Api/
│ │ │ │ │ ├── Chat/
│ │ │ │ │ │ ├── ChatResourceV1.cs
│ │ │ │ │ │ ├── ChatResourceV1.cs.meta
│ │ │ │ │ │ ├── Completions/
│ │ │ │ │ │ │ ├── ChatCompletionRequestV1.cs
│ │ │ │ │ │ │ ├── ChatCompletionRequestV1.cs.meta
│ │ │ │ │ │ │ ├── ChatCompletionsResourceV1.cs
│ │ │ │ │ │ │ └── ChatCompletionsResourceV1.cs.meta
│ │ │ │ │ │ └── Completions.meta
│ │ │ │ │ ├── Chat.meta
│ │ │ │ │ ├── Engines/
│ │ │ │ │ │ ├── Engine/
│ │ │ │ │ │ │ ├── Completions/
│ │ │ │ │ │ │ │ ├── CompletionRequestV1.cs
│ │ │ │ │ │ │ │ ├── CompletionRequestV1.cs.meta
│ │ │ │ │ │ │ │ ├── CompletionsResourceV1.cs
│ │ │ │ │ │ │ │ └── CompletionsResourceV1.cs.meta
│ │ │ │ │ │ │ ├── Completions.meta
│ │ │ │ │ │ │ ├── EngineResourceV1.cs
│ │ │ │ │ │ │ └── EngineResourceV1.cs.meta
│ │ │ │ │ │ ├── Engine.meta
│ │ │ │ │ │ ├── EnginesResourceV1.cs
│ │ │ │ │ │ └── EnginesResourceV1.cs.meta
│ │ │ │ │ ├── Engines.meta
│ │ │ │ │ ├── Files/
│ │ │ │ │ │ ├── File/
│ │ │ │ │ │ │ ├── FileResourceV1.cs
│ │ │ │ │ │ │ └── FileResourceV1.cs.meta
│ │ │ │ │ │ ├── File.meta
│ │ │ │ │ │ ├── FilesResourceV1.cs
│ │ │ │ │ │ └── FilesResourceV1.cs.meta
│ │ │ │ │ └── Files.meta
│ │ │ │ ├── Api.meta
│ │ │ │ ├── Models/
│ │ │ │ │ ├── AnswerV1.cs
│ │ │ │ │ ├── AnswerV1.cs.meta
│ │ │ │ │ ├── ChatChoiceV1.cs
│ │ │ │ │ ├── ChatChoiceV1.cs.meta
│ │ │ │ │ ├── ChatCompletionV1.cs
│ │ │ │ │ ├── ChatCompletionV1.cs.meta
│ │ │ │ │ ├── ChoiceV1.cs
│ │ │ │ │ ├── ChoiceV1.cs.meta
│ │ │ │ │ ├── ClassificationV1.cs
│ │ │ │ │ ├── ClassificationV1.cs.meta
│ │ │ │ │ ├── CompletionV1.cs
│ │ │ │ │ ├── CompletionV1.cs.meta
│ │ │ │ │ ├── DeltaV1.cs
│ │ │ │ │ ├── DeltaV1.cs.meta
│ │ │ │ │ ├── EngineV1.cs
│ │ │ │ │ ├── EngineV1.cs.meta
│ │ │ │ │ ├── EnginesListV1.cs
│ │ │ │ │ ├── EnginesListV1.cs.meta
│ │ │ │ │ ├── FileV1.cs
│ │ │ │ │ ├── FileV1.cs.meta
│ │ │ │ │ ├── FilesListV1.cs
│ │ │ │ │ ├── FilesListV1.cs.meta
│ │ │ │ │ ├── LabeledExampleV1.cs
│ │ │ │ │ ├── LabeledExampleV1.cs.meta
│ │ │ │ │ ├── MessageV1.cs
│ │ │ │ │ ├── MessageV1.cs.meta
│ │ │ │ │ ├── QuestionAnswerPairV1.cs
│ │ │ │ │ ├── QuestionAnswerPairV1.cs.meta
│ │ │ │ │ ├── SearchListV1.cs
│ │ │ │ │ ├── SearchListV1.cs.meta
│ │ │ │ │ ├── SearchV1.cs
│ │ │ │ │ ├── SearchV1.cs.meta
│ │ │ │ │ ├── SelectedDocumentV1.cs
│ │ │ │ │ ├── SelectedDocumentV1.cs.meta
│ │ │ │ │ ├── SelectedExampleV1.cs
│ │ │ │ │ ├── SelectedExampleV1.cs.meta
│ │ │ │ │ ├── UsageV1.cs
│ │ │ │ │ └── UsageV1.cs.meta
│ │ │ │ ├── Models.meta
│ │ │ │ ├── OpenAiApiV1.cs
│ │ │ │ ├── OpenAiApiV1.cs.meta
│ │ │ │ ├── SAuthArgsV1.cs
│ │ │ │ ├── SAuthArgsV1.cs.meta
│ │ │ │ ├── _abstract/
│ │ │ │ │ ├── AModelV1.cs
│ │ │ │ │ └── AModelV1.cs.meta
│ │ │ │ └── _abstract.meta
│ │ │ └── V1.meta
│ │ ├── Api.meta
│ │ ├── Examples/
│ │ │ ├── ExampleChatRuntime.cs
│ │ │ ├── ExampleChatRuntime.cs.meta
│ │ │ ├── ExampleOpenAiApiRuntime.cs
│ │ │ └── ExampleOpenAiApiRuntime.cs.meta
│ │ ├── Examples.meta
│ │ ├── Json/
│ │ │ ├── Deserialization/
│ │ │ │ ├── JsonDeserializer.cs
│ │ │ │ ├── JsonDeserializer.cs.meta
│ │ │ │ ├── JsonObject.cs
│ │ │ │ ├── JsonObject.cs.meta
│ │ │ │ ├── LexicalAnalysis/
│ │ │ │ │ ├── CharacterAnalyzer/
│ │ │ │ │ │ ├── BaseAnalyzer.cs
│ │ │ │ │ │ ├── BaseAnalyzer.cs.meta
│ │ │ │ │ │ ├── ECharacterAnalyzerResponse.cs
│ │ │ │ │ │ ├── ECharacterAnalyzerResponse.cs.meta
│ │ │ │ │ │ ├── ICharacterAnalyzer.cs
│ │ │ │ │ │ ├── ICharacterAnalyzer.cs.meta
│ │ │ │ │ │ ├── StringAnalyzer.cs
│ │ │ │ │ │ └── StringAnalyzer.cs.meta
│ │ │ │ │ ├── CharacterAnalyzer.meta
│ │ │ │ │ ├── JsonLexer.cs
│ │ │ │ │ └── JsonLexer.cs.meta
│ │ │ │ ├── LexicalAnalysis.meta
│ │ │ │ ├── SyntacticAnalysis/
│ │ │ │ │ ├── EJsonType.cs
│ │ │ │ │ ├── EJsonType.cs.meta
│ │ │ │ │ ├── JsonSyntaxAnalyzer.cs
│ │ │ │ │ └── JsonSyntaxAnalyzer.cs.meta
│ │ │ │ ├── SyntacticAnalysis.meta
│ │ │ │ ├── UTJsonDeserialization.cs
│ │ │ │ └── UTJsonDeserialization.cs.meta
│ │ │ ├── Deserialization.meta
│ │ │ ├── IJsonable.cs
│ │ │ ├── IJsonable.cs.meta
│ │ │ ├── OpenAiJsonException.cs
│ │ │ ├── OpenAiJsonException.cs.meta
│ │ │ ├── Serialization/
│ │ │ │ ├── JsonBuilder.cs
│ │ │ │ └── JsonBuilder.cs.meta
│ │ │ └── Serialization.meta
│ │ ├── Json.meta
│ │ ├── Unity/
│ │ │ ├── Util/
│ │ │ │ ├── AMonoSingleton.cs
│ │ │ │ └── AMonoSingleton.cs.meta
│ │ │ ├── Util.meta
│ │ │ ├── V1/
│ │ │ │ ├── Auth/
│ │ │ │ │ ├── SOAuthArgsV1.cs
│ │ │ │ │ └── SOAuthArgsV1.cs.meta
│ │ │ │ ├── Auth.meta
│ │ │ │ ├── ChatCompleter/
│ │ │ │ │ ├── OpenAiChatCompleterV1.cs
│ │ │ │ │ ├── OpenAiChatCompleterV1.cs.meta
│ │ │ │ │ ├── SOChatCompletionArgsV1.cs
│ │ │ │ │ └── SOChatCompletionArgsV1.cs.meta
│ │ │ │ ├── ChatCompleter.meta
│ │ │ │ ├── Completer/
│ │ │ │ │ ├── OpenAiCompleterV1.cs
│ │ │ │ │ ├── OpenAiCompleterV1.cs.meta
│ │ │ │ │ ├── SOCompletionArgsV1.cs
│ │ │ │ │ └── SOCompletionArgsV1.cs.meta
│ │ │ │ ├── Completer.meta
│ │ │ │ ├── Gateway/
│ │ │ │ │ ├── OpenAiApiGatewayV1.cs
│ │ │ │ │ └── OpenAiApiGatewayV1.cs.meta
│ │ │ │ └── Gateway.meta
│ │ │ └── V1.meta
│ │ └── Unity.meta
│ ├── Scripts.meta
│ ├── openai.api.unity.asmdef
│ └── openai.api.unity.asmdef.meta
├── Runtime.meta
├── Tests/
│ ├── Editor/
│ │ ├── Scripts/
│ │ │ ├── Core/
│ │ │ │ ├── V1/
│ │ │ │ │ ├── Models/
│ │ │ │ │ │ ├── CompletionRequestModelTests.cs
│ │ │ │ │ │ └── CompletionRequestModelTests.cs.meta
│ │ │ │ │ └── Models.meta
│ │ │ │ └── V1.meta
│ │ │ ├── Core.meta
│ │ │ ├── Json/
│ │ │ │ ├── JsonDeserializerTests.cs
│ │ │ │ ├── JsonDeserializerTests.cs.meta
│ │ │ │ ├── LexicalAnalysis/
│ │ │ │ │ ├── JsonLexerTests.cs
│ │ │ │ │ └── JsonLexerTests.cs.meta
│ │ │ │ ├── LexicalAnalysis.meta
│ │ │ │ ├── SyntacticAnalysis/
│ │ │ │ │ ├── JsonSyntaxAnalyzerTests.cs
│ │ │ │ │ └── JsonSyntaxAnalyzerTests.cs.meta
│ │ │ │ ├── SyntacticAnalysis.meta
│ │ │ │ ├── UTJsonObjectTests.cs
│ │ │ │ └── UTJsonObjectTests.cs.meta
│ │ │ └── Json.meta
│ │ ├── Scripts.meta
│ │ ├── openai.api.unity.editor.tests.asmdef
│ │ └── openai.api.unity.editor.tests.asmdef.meta
│ ├── Editor.meta
│ ├── Runtime/
│ │ ├── Scripts/
│ │ │ ├── Core/
│ │ │ │ ├── V1/
│ │ │ │ │ ├── V1BugTests.cs
│ │ │ │ │ ├── V1BugTests.cs.meta
│ │ │ │ │ ├── V1PlayTests.cs
│ │ │ │ │ └── V1PlayTests.cs.meta
│ │ │ │ └── V1.meta
│ │ │ ├── Core.meta
│ │ │ ├── Utility/
│ │ │ │ ├── TestManager.cs
│ │ │ │ └── TestManager.cs.meta
│ │ │ └── Utility.meta
│ │ ├── Scripts.meta
│ │ ├── openai.api.unity.tests.asmdef
│ │ └── openai.api.unity.tests.asmdef.meta
│ └── Runtime.meta
├── Tests.meta
├── package.json
└── package.json.meta
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/scripts/prChangelog_NoAuth.py
================================================
# Gets the PR associated with a commit and then writes all of the commit messages to a changelog
# sys.argv[1] = reponame
# sys.argv[2] = SHA key of commit to test
# sys.argv[3] = path to change log
import json
import sys
import requests
repo = sys.argv[1]
sha = sys.argv[2]
changelogPath = sys.argv[3]
# Get the pull request that's related to the commit
pulls_url = f"https://api.github.com/repos/hexthedev/{repo}/commits/{sha}/pulls"
pulls_headers = {
'User-Agent' : 'hexthedev',
'Accept' : 'application/vnd.github.groot-preview+json'
}
pulls_req = requests.get(pulls_url, headers = pulls_headers)
if pulls_req.status_code != 200:
# If status fails, stop changelog creation
raise Exception(f'Cannot retrieve pulls from commit:{sha} in repo:{repo}')
pulls_json = json.loads(pulls_req.text)
# Follow the commits link and get the commit messages in order
commits_url = pulls_json[0]["_links"]["commits"]["href"]
commits_headers = {
'User-Agent' : 'hexthedev'
}
commits_req = requests.get(commits_url, headers = commits_headers)
if commits_req.status_code != 200:
raise Exception(f'Cannot get commit messages from {commits_url}')
commits_json = json.loads(commits_req.text)
# Write the changelog
commits_list = []
for commit in commits_json:
commits_list.append(commit["commit"]["message"])
with open(changelogPath, 'w') as f:
f.truncate(0)
for com in commits_list:
f.write(f'* {com}\n')
================================================
FILE: .github/scripts/versionUpdater.py
================================================
import json
import sys
import os
path = sys.argv[1]
outjson = {}
newVersion = ""
with open(path, 'r') as f:
j = json.load(f)
s = j["version"]
spl = s.split(".")
spl[2] = str(int(spl[2])+1)
newVersion = ".".join(spl)
j["version"] = newVersion
outjson = j
with open(path, 'w') as f:
json.dump(outjson, f)
# Output
print(newVersion)
================================================
FILE: .github/workflows/unitypackage.yml
================================================
name: unitypackage
on:
push:
branches:
- main
paths-ignore:
- './CHANGELOG.md'
- './package.json'
env:
VAR_NAME: value
jobs:
build_job:
name: Build Job
runs-on: ubuntu-20.04
steps:
# ----- DEPENDENCIES -----
# Install the pip dependencies
- name: Install Dependencies
run: pip install requests
# ----- CHECKOUT -----
# Checks out a copy of your repository on the ubuntu-latest
- name: Checkout code
uses: actions/checkout@v2
# ----- WORK -----
# Update a version in some json
- name: Run a test python script version update
run: |
export BUMPED_VERSION=`python ./.github/scripts/versionUpdater.py ./package.json`
echo "::set-output name=version::$BUMPED_VERSION"
id: versioner
# Get the SHA of the current git head
- name: Output SHA Head # Note: You can pass command sup through stdout
run: |
export CUR_SHA=`git rev-parse HEAD`
echo "::set-output name=sha::$CUR_SHA"
id: head_sha
# Create the changleog using the commit sha and grabbing the commit messages
- name: Run a changelog creator
run: python ./.github/scripts/prChangelog_NoAuth.py ${{ github.event.repository.name }} ${{steps.head_sha.outputs.sha}} ./CHANGELOG.md
# Commit the changes to the repo
- name: Do git commit
run: |
git config user.name hexthedev
git config user.email jamesmccafferty@live.ca
git add .
git commit -m "Github Actions Commit"
git push
# ----- RELEASE -----
# Get the SHA of the current HEAD (after the commit)
- name: Output SHA Head # Note: You can pass command sup through stdout
run: |
export CUR_SHA=`git rev-parse HEAD`
echo "::set-output name=sha::$CUR_SHA"
id: head_sha_new
# Make a Release at the commit
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: v${{ steps.versioner.outputs.version }}
release_name: Release v${{ steps.versioner.outputs.version }}
body_path: CHANGELOG.md
draft: false
prerelease: true
commitish : ${{steps.head_sha_new.outputs.sha}}
================================================
FILE: CHANGELOG.md
================================================
* version specific UnityWebRequest.Post | UnityWebRequest.PostWwwForm
* Merge branch 'hexthedev:main' into uwr_2022
================================================
FILE: CHANGELOG.md.meta
================================================
fileFormatVersion: 2
guid: 79adca46a4928e1469b0b75ab7f94ae6
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Documentation/1_Overview.md
================================================
# Context
The `OpenAi Api Unity` library is a wrapper for the OpenAI Api.
The following technical decisions were made during development:
* All json serialization and deserialization is performed with a custom serializer so that the library has no dependencies
* Classes and objects were created to make the libraries api call syntax as close to the api calls shown in the [OpenAi Api Reference](https://beta.openai.com/docs/api-reference)
* All Api calls are implemented in two ways, as async functions and as Coroutines.
## Getting Started
All api calls are accessible through the `OpenAiApiV1` object. When created, it requires initialization with a `SAuthArgsV1` which provides the authentication keys. For details [See Authentication](https://github.com/hexthedev/OpenAi-Api-Unity/blob/main/Documentation/2_Authentication.md)
`OpenAiApiV1` is not a `MonoBehaviour`, so it needs to be initalized somewhere to be used in a scene. The `OpenAiApiGatewayV1` prefab is a singleton that handles the initalization of the `OpenAiApiV1` automatically during the `Start()` method. This can be added via the menu `OpenAi > V1 > CreateGateway`. You can also disable the automatic initalization on `Start()`, and instead initalize the `OpenAiApiV1` manually. The `OpenAiApiV1` object is accessed through `OpenAiApiGatewayV1.Instance.Api`. For details [See ApiCalls](https://github.com/hexthedev/OpenAi-Api-Unity/blob/main/Documentation/3_ApiCalls.md)
Once you're able to access the `OpenAiApiV1` object, all api calls follow the [OpenAi Api Reference](https://beta.openai.com/docs/api-reference) as closely as possible. For example, the api call `https://api.openai.com/v1/engines/{engine_id}/completions` called Create Completions in the docs is called using the pattern `OpenAiApiV1Instance.Engines.Engine("<engine_id>").Completions.CreateCompletion`. For details [See ApiCalls](https://github.com/hexthedev/OpenAi-Api-Unity/blob/main/Documentation/3_ApiCalls.md)
## Serialization
A custom json serializer/deserializer was implemented to remove a dependency on Newtonsoft. This was the make the library more lightweight and to avoid some problems compiling Newtonsoft on some platforms.
For details [See JsonSerialization](https://github.com/hexthedev/OpenAi-Api-Unity/blob/main/Documentation/4_JsonSerialization.md)
================================================
FILE: Documentation/1_Overview.md.meta
================================================
fileFormatVersion: 2
guid: 68aabfede4eeba444abc34db5c63b1e7
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Documentation/2_Authentication.md
================================================
# Context
The `OpenAi Api` is currently in beta. In order to get access you need a private api key which is aquired by signing up for the beta at the [OpenAi Api Website](https://beta.openai.com/). When accepted you'll be able to access your api key on the [Developer QuickStart Page](https://beta.openai.com/docs/developer-quickstart)
Individuals that are part of an organization can also use an organization key. I'm not sure where this is found, as I do not have one. The organization key is used when individuals are using api quotas from multiple organizations, and they want to specify which quota to use.
# Authenticating in OpenAi Api Unity
Authentication info is entered in the `SOAuthArgsV1` object. This Scriptble Object is a required input for all API prefabs.
The `SOAuthArgsV1` has two modes.
* Local File
* String
### Local File
Local file mode pulls a json from a the local file path `~/.openai/auth.json` (Linux/Mac) or `%USERPROFILE%/.openai/auth.json` (Windows). The json should be formatted as follows:
```json
// auth.json
{
"private_api_key":"<YOUR_KEY>",
(optional) "organization":"<YOUR_ORGANIZATION_ID>"
}
```
The file is read and deserailized when the `OpenAiApiGatewayV1` is initialized
### String
String mode lets user input their OpenAI Api credentials as plain text strings. This is a bad idea in most cases though, because commiting this to a public repo reveals your key.
================================================
FILE: Documentation/2_Authentication.md.meta
================================================
fileFormatVersion: 2
guid: 6af7f80e91631e244887f81043fc5a06
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Documentation/3_ApiCalls.md
================================================
# Context
The `OpenAi Api Unity` library is a wrapper for REST API calls made to the OpenAi Api. REST API calls are HTTP requests sent directly to the OpenAI Api resource endpoints with some simple authentication.
An example of an actual api call looks something like this:
```
https://api.openai.com/v1/engines/davinci/completions
```
You can read more about the details of these api calls using the [OpenAi Api Reference](https://beta.openai.com/docs/api-reference)
The `OpenAi Api Unity` library implements these Api calls using Unity's built-in [UnityWebRequest](https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.html) class and a custom Json Serailizer/Deserializer.
HTTP requests cannot occur syncronously without causing the thread to pause. This is not ideal, so all api calls are implemented as `async` functions and as Coroutines.
# MonoBehaviours
The `OpenAiApiGatewayV1` is a prefab and `MonoBehaviour` singleton that allows any script in a Unity scene to access the api. This Monobehaviour simply controls the initalization of an `OpenAiApiV1` object, which actually houses the api logic.
You can add an `OpenAiApiGatewayV1` to the current scene using the menu item `OpenAi > V1 > CreateGateway`
You don't have to use the `OpenAiApiGatewayV1` prefab to access the api. This is simply one way that the `OpenAiApiV1` can be initialized. A custom `MonoBehaviour` can be written easily, it just needs to create the `OpenAiApiV1` object with valid authentication args.
## Completer
The `OpenAiApiCompleterV1` is a simpler class that automatically initalizes the `OpenAiApiV1` object with use for a single engine, and provides the `Complete()` method to allow simple completions.
You can add an `OpenAiApiCompleterV1` to the current scene using the menu item `OpenAi > V1 > CreateCompleter`
# API Implementation
As much as possible, the syntax for performing a call using `OpenAi Api Unity` follows the same structure as the api calls found in the [OpenAi Api Reference](https://beta.openai.com/docs/api-reference).
All Api calls start with an `OpenAiApiV1` object.
For example:
```csharp
# this api call (In the Create Completion Section of the docs)
POST
https://api.openai.com/v1/engines/davinci/completions
{
"prompt" : "hey",
"max_tokens" : 8
}
# is called using the following structure
class ApiExample : MonoBehaviour
{
public OpenAiApiV1 api;
void LogCompletion()
{
api.Engines.Engine("davinci").Completions.CreateCompletionCoroutine(
this,
new CompletionRequestV1() { prompt = "hey", max_tokens = 8},
(result) => { Debug.Log(result.Result.choices[0].text);}
);
}
}
```
Lets break this down.
Each step in an api call is called a resource. `api.Engines` returns the `EnginesResource` which allows us to use any resource call related to engines. For example, the [OpenAi Api List Engines Reference](https://beta.openai.com/docs/api-reference/list-engines) shows the list engines api call. `GET
https://api.openai.com/v1/engines` which is called using `api.Engines.ListEnginesCoroutine` function.
In some cases, resources are parameters. Like in the [OpenAi Api Retrieve Engine Reference](https://beta.openai.com/docs/api-reference/retrieve-engine). In this case `GET https://api.openai.com/v1/engines/{engine_id}` the engine is a parameter. To get an Engine resource, we provide an argument: `api.Engines.Engine("<engine_id>")`
Making an api call from a resource is always implemented as an `async` function and as a Coroutine. So the api call `POST https://api.openai.com/v1/engines/{engine_id}/completions` has two functions, `api.Engines.Engine("{engine_id}").Completions.CreateCompletionCoroutine` and `api.Engines.Engine("<engine_id>").Completions.CreateCompletionAsync`.
## Async vs Coroutine functions
Async functions use `async/await` syntax to return an `ApiResult`. The signature looks like this `async Task<ApiResult<{ResultType}>> {ApiCall}Async({RequestType} request)`
Coroutine functions require a MonoBehaviour and callbacks. The basic signature looks like this `Coroutine {ApiCall}Coroutine(MonoBehaviour mono, {RequestType} request, Action<ApiResult<{ResultType}>> onResult)`.
### Coroutine Scripting
The Coroutine implementations run the API request as a task, and check the tasks completion every frame.
```csharp
# ExampleMono.cs
using OpenAi.Unity.V1;
using UnityEngine;
public class Example : MonoBehaviour
{
public void DoApiCompletion()
{
Debug.Log("Performing Completion in Play Mode");
OpenAiCompleterV1.Instance.Complete(
"prompt",
s => Debug.Log(s),
e => Debug.LogError(e.StatusCode)
);
}
}
```
### Async scripts
Async implementations let you use the `async/await` style syntax to perform api calls.
```csharp
// MyEditor.cs
using OpenAi.Api.V1;
using OpenAi.Unity.V1;
using UnityEditor;
using UnityEngine;
public class MyEditor : EditorWindow
{
[MenuItem("MyMenu/MyEditor")]
public static void ShowWindow()
{
EditorWindow.GetWindow(typeof(MyEditor));
}
async void OnGUI()
{
SOAuthArgsV1 auth = ScriptableObject.CreateInstance<SOAuthArgsV1>();
OpenAiApiV1 api = new OpenAiApiV1(auth.ResolveAuth());
if (api != null && GUILayout.Button("Do Completion"))
{
Debug.Log("Performing Completion in Editor Time");
ApiResult<CompletionV1> comp = await api.Engines.Engine("davinci").Completions.CreateCompletionAsync(
new CompletionRequestV1()
{
prompt = "test",
max_tokens = 8
}
);
Debug.Log(comp.IsSuccess);
Debug.Log(comp.Result.choices[0].text);
}
}
}
```
## ApiResult
The `ApiResult` class is returned to encapsulate any exception that occurs during the request. There are many reasons api requests might fail, so the `ApiResult` exists so that any error can be handled, or at the very least a successful request can be verified.
## Extra Notes
* The [Create Completion](https://beta.openai.com/docs/api-reference/create-completion) has a `stream` parameters that changes the way the completion result is received. This required a different implementation for stream and non-stream calls. As such, there are separate functions for the stream and non-stream version of completion. Calling `api.Engines.Engine("{engine_id}").Completions.CreateCompletionCoroutine` will automatically set `stream=false` and `api.Engines.Engine("{engine_id}").Completions.CreateCompletionCoroutine_EventStream` will automatically set `stream=true` no matter the input.
================================================
FILE: Documentation/3_ApiCalls.md.meta
================================================
fileFormatVersion: 2
guid: bc00ea052f096d8409eb252f4855e8ba
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Documentation/4_JsonSerialization.md
================================================
# Context
To keep `OpenAi Api Unity` portable, it was important to reduce dependencies as much as possible. Making the library easy to use and light weight was a priority.
As such, a simple, bare-minimum custom Json Serailizer/Deserializer was written. The serailizer shipped with `OpenAi Api Unity` is not intended for use outside of the library, and has only been tested and developed to handle JSON syntax present in OpenAi Api HTTP request/responses.
As more api calls are introduced, the Json Serailizer will be updated as needed.
All custom Json code can be found in the `OpenAi.Json` namespace
================================================
FILE: Documentation/4_JsonSerialization.md.meta
================================================
fileFormatVersion: 2
guid: fe8e132778ca03748b12aab30ca10cfe
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Documentation.meta
================================================
fileFormatVersion: 2
guid: 8bc73d1c9ca97e54cbe2c98a632c400a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/Scripts/Examples/EMExampleChatRuntimeScene.cs
================================================
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
public static class ExampleChatRuntimeScene
{
private const string cSceneName = "ExampleChatRuntimeScene";
[MenuItem("OpenAi/Examples/Chat at Runtime")]
public static void OpenScene()
{
string[] assets = AssetDatabase.FindAssets(cSceneName);
string path = null;
foreach (string guid in assets)
{
path = AssetDatabase.GUIDToAssetPath(guid);
}
if (string.IsNullOrEmpty(path))
{
Debug.LogError($"Cannot find the scene: {cSceneName}");
return;
}
string newScenePath = $"Assets/{cSceneName}.unity";
AssetDatabase.CopyAsset(path, newScenePath);
EditorSceneManager.OpenScene(newScenePath);
AssetDatabase.Refresh();
Selection.activeObject = AssetDatabase.LoadAssetAtPath(newScenePath, typeof(Object));
}
}
================================================
FILE: Editor/Scripts/Examples/EMExampleChatRuntimeScene.cs.meta
================================================
fileFormatVersion: 2
guid: e0a27e5aef073284da820f4ce2ced1f4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/Scripts/Examples/EMExampleOpenAiApiRuntimeScene.cs
================================================
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
public static class ExampleOpenAiApiRuntimeScene
{
private const string cSceneName = "ExampleOpenAiApiRuntimeScene";
[MenuItem("OpenAi/Examples/Completion at Runtime")]
public static void OpenScene()
{
string[] assets = AssetDatabase.FindAssets(cSceneName);
string path = null;
foreach (string guid in assets)
{
path = AssetDatabase.GUIDToAssetPath(guid);
}
if (string.IsNullOrEmpty(path))
{
Debug.LogError($"Cannot find the scene: {cSceneName}");
return;
}
string newScenePath = $"Assets/{cSceneName}.unity";
AssetDatabase.CopyAsset(path, newScenePath);
EditorSceneManager.OpenScene(newScenePath);
AssetDatabase.Refresh();
Selection.activeObject = AssetDatabase.LoadAssetAtPath(newScenePath, typeof(Object));
}
}
================================================
FILE: Editor/Scripts/Examples/EMExampleOpenAiApiRuntimeScene.cs.meta
================================================
fileFormatVersion: 2
guid: 93f30114c6062d94695cfb919c9faebd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/Scripts/Examples/ExampleOpenAiApiUnityEditor.cs
================================================
// MyEditor.cs
using OpenAi.Api.V1;
using OpenAi.Unity.V1;
using System.Threading.Tasks;
using UnityEditor;
using UnityEngine;
namespace OpenAi.Examples
{
public class ExampleOpenAiApiUnityEditor : EditorWindow
{
private string _input = "Enter Prompt here";
private string _output;
[MenuItem("OpenAi/Examples/Completion In Editor Window")]
public static void ShowWindow()
{
EditorWindow.GetWindow(typeof(ExampleOpenAiApiUnityEditor));
}
void OnGUI()
{
GUI.enabled = false;
EditorGUILayout.ObjectField("Code:", MonoScript.FromScriptableObject(this), typeof(ScriptableObject), false);
GUI.enabled = true;
SOAuthArgsV1 auth = ScriptableObject.CreateInstance<SOAuthArgsV1>();
OpenAiApiV1 api = new OpenAiApiV1(auth.ResolveAuth());
_input = EditorGUILayout.TextField(_input);
if (api != null && GUILayout.Button("Do Completion"))
{
Debug.Log("Performing Completion in Editor Time");
DoEditorTask(api);
}
if (!string.IsNullOrEmpty(_output))
{
GUI.enabled = false;
EditorGUILayout.TextField(_output);
GUI.enabled = true;
}
}
private async Task DoEditorTask(OpenAiApiV1 api)
{
_output = "Performing completion...";
ApiResult<CompletionV1> comp = await api.Engines.Engine("davinci").Completions.CreateCompletionAsync(
new CompletionRequestV1()
{
prompt = "test",
max_tokens = 8
}
);
if (comp.IsSuccess)
{
_output = $"{comp.Result.choices[0].text}";
}
else
{
_output = $"ERROR: StatusCode={comp.HttpResponse.responseCode} - {comp.HttpResponse.error}";
}
}
}
}
================================================
FILE: Editor/Scripts/Examples/ExampleOpenAiApiUnityEditor.cs.meta
================================================
fileFormatVersion: 2
guid: cbe89ff476c953f4990fab5f5bf4c640
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/Scripts/Examples.meta
================================================
fileFormatVersion: 2
guid: 02674ce6ed1d7ed4a84d3c6d31346b72
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/Scripts/Unity/V1/Auth/SOAuthArgsV1Editor.cs
================================================
using OpenAi.Unity.V1;
using UnityEditor;
using UnityEngine;
using static OpenAi.Unity.V1.SOAuthArgsV1;
namespace OpenAi.Api.Unity.V1
{
[CustomEditor(typeof(SOAuthArgsV1))]
public class OpenAiApiAuthArgsEditor : Editor
{
SerializedProperty AuthType;
SerializedProperty PrivateApiKey;
SerializedProperty Organization;
void OnEnable()
{
AuthType = serializedObject.FindProperty("AuthType");
PrivateApiKey = serializedObject.FindProperty("PrivateApiKey");
Organization = serializedObject.FindProperty("Organization");
}
public override void OnInspectorGUI()
{
serializedObject.Update();
GUI.enabled = false;
EditorGUILayout.ObjectField("Script", MonoScript.FromScriptableObject((SOAuthArgsV1)target), typeof(SOAuthArgsV1), false);
GUI.enabled = true;
EditorGUILayout.Space();
EditorGUILayout.PropertyField(AuthType);
switch((EAuthProvisionMethod)AuthType.enumValueIndex)
{
case EAuthProvisionMethod.LocalFile:
EditorGUILayout.HelpBox("This auth method will attempt to find the private key at `~/.openai/auth.json` (Linux/Mac) or `%USERPROFILE%/.openai/auth.json` (Windows). If this file does not exist or the key is not present, api calls will fail", MessageType.Warning);
break;
case EAuthProvisionMethod.String:
EditorGUILayout.PropertyField(PrivateApiKey);
EditorGUILayout.PropertyField(Organization);
break;
}
serializedObject.ApplyModifiedProperties();
}
}
}
================================================
FILE: Editor/Scripts/Unity/V1/Auth/SOAuthArgsV1Editor.cs.meta
================================================
fileFormatVersion: 2
guid: 3f6e6a6d360308d42817d969ae55bd3f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/Scripts/Unity/V1/Auth.meta
================================================
fileFormatVersion: 2
guid: 5805db06a168eba4a9d18cd186ee00d8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/Scripts/Unity/V1/EMPrefabs.cs
================================================
using UnityEditor;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace OpenAi.Unity.V1
{
public static class EMPrefabsV1
{
[MenuItem("OpenAi/V1/CreateGateway")]
public static void CreateGateway() => SpawnPrefab("OpenAiApiGatewayV1");
[MenuItem("OpenAi/V1/CreateCompleter")]
public static void CreateCompleter() => SpawnPrefab("OpenAiCompleterV1");
[MenuItem("OpenAi/V1/CreateChatCompleter")]
public static void CreateChatCompleter() => SpawnPrefab("OpenAiChatCompleterV1");
private static void SpawnPrefab(string name)
{
string[] assets = AssetDatabase.FindAssets(name);
GameObject obj = null;
foreach (string guid in assets)
{
string apath = AssetDatabase.GUIDToAssetPath(guid);
obj = AssetDatabase.LoadAssetAtPath<GameObject>(apath);
if (obj != null) break;
}
if (obj == null)
{
Debug.LogError($"Cannot find the prefab: {name}");
return;
}
Object inst = PrefabUtility.InstantiatePrefab(obj);
Selection.activeObject = inst;
return;
}
}
}
================================================
FILE: Editor/Scripts/Unity/V1/EMPrefabs.cs.meta
================================================
fileFormatVersion: 2
guid: 50dc49b27bd81d54aadcda8893587046
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/Scripts/Unity/V1.meta
================================================
fileFormatVersion: 2
guid: 305f7cea76954a5418ef8d00bf990e9e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/Scripts/Unity.meta
================================================
fileFormatVersion: 2
guid: e7082c633e69c3e40a25864f088e5f39
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/Scripts.meta
================================================
fileFormatVersion: 2
guid: d0e98a06002e536468e9c41eca65239c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor/openai.api.unity.editor.asmdef
================================================
{
"name": "openai.api.unity.editor",
"references": [
"GUID:762faf06f60fab647b9b71ae958fdf20"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}
================================================
FILE: Editor/openai.api.unity.editor.asmdef.meta
================================================
fileFormatVersion: 2
guid: 58a743fc042d1cc4bacc5a05c82a03f9
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Editor.meta
================================================
fileFormatVersion: 2
guid: b899e02a35d43fb478005ecddced2557
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: License.md
================================================
MIT License
Copyright (c) 2020 James McCafferty
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: License.md.meta
================================================
fileFormatVersion: 2
guid: 46c8397f0ceee1d459015910980c4a2e
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: README.md
================================================
**WARNING**: This project is officially dead. No updates will come, and as such I moved it to the archived state. If more complete implementation of the current API come to my awareness I will post here. Sadly, I do not have time to take PRs or manage this repo.
# OpenAi Api Unity
A simple OpenAI API wrapper for Unity
This is a community library. I am not officially affiliated with OpenAi.
Big shout out to:
* [@OkGoDoIt](https://github.com/OkGoDoIt): This code base is heavily based on the [OpenAI-API-dotnet Repo](https://github.com/OkGoDoIt/OpenAI-API-dotnet), which is a dotnet wrapper for the OpenAI Api
* [@ivomarel](https://github.com/ivomarel): For the [OpenAI_Unity Repo](https://github.com/hexthedev/OpenAI_Unity)
To report bugs, problems, suggestions please submit [Github Issues](https://github.com/hexthedev/OpenAi-Api-Unity/issues)
If anyone wants to contribute, [Pull Requests](https://github.com/hexthedev/OpenAi-Api-Unity/pulls) are welcome
## Status
| Api Call | Implemented | Bare-Minimum Tests | Thourough Tests |
| --- | --- | --- | --- |
| `GET /engines` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `GET /engines/{engine_id}` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `POST /engines/{engine_id}/completions` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `GET /engines/{engine_id}/completions/browser_stream` | :x: | :heavy_minus_sign: | :heavy_minus_sign: |
| `GET /files` | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| `POST /files/{file_id}` | :x: | :heavy_minus_sign: | :heavy_minus_sign: |
| `GET /files/{file_id}` | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
| `POST /chat/completions` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## Overview
This is a simple OpenAI API wrapper that implements the API calls found in the [OpenAI Api Reference](https://beta.openai.com/docs/api-reference) as Coroutines and Async functions.
The syntax follows the docs as closely as possible. For example, the API call Create Completion at the endpoint `https://api.openai.com/v1/engines/{engine_id}/completions` is called using `OpenAiApiV1.Engines.Engine("<engine_id>").Completions.CreateCompletionCoroutine`. The API call Chat Completion at the endpoint `https://api.openai.com/v1/chat/completions` is called using `OpenAiApiV1.Chat.Completions.CreateChatCompletionCoroutine`.
To learn more:
1. Read the Quick Start section below to see a basic example of how to use the wrapper
2. Refer to the [Documentation](https://github.com/hexthedev/OpenAi-Api-Unity/tree/main/Documentation) for a more detailed explanation of the library
### What is and isn't tested
I've tested the list below. Testing for all other use cases will come with time
* Editor scripts and editor windows using async versions of API calls
* Coroutine api calls in Play Mode
* I have not tested builds, but should work since it's really just Native C#. Any issues will likely be platform related.
* Unit Tested basic use cases and any issue I found along the way, to ensure stability
* Only tested on a Windows machine. If Linux/Mac authentication doesn't work as expected, please let me know.
* I do not have an organization, I have not been able to test the organization key functionality during authentication
# Quick Start
See video: https://youtu.be/Ju-i0sxsX7E
## Install
**Unity Package Manager (Recommended):**
Go to the Unity Package Manager (`Window > Package Manager`), and click the `+` icon in the top left hand corner. Choose `Add package from git URL...` and provide the url `https://github.com/hexthedev/OpenAi-Api-Unity.git`.
**Unity Package:**
Go to https://github.com/hexthedev/OpenAi-Api-Unity/releases and download the desired release. Once downloaded, open the file and follow the instructions to import it into Unity.
**Git Submodule**:
For more advanced git users, you can simply add this repo as a submodule in your assets folder. This is especially useful if you want to edit, change and version the `OpenAi Api Unity` code.
## Authenticate
Add a file to the path `~/.openai/auth.json` (Linux/Mac) or `%USERPROFILE%/.openai/auth.json` (Windows)
if you only have an API key, the `auth.json` should look like this
```json
{
"private_api_key":"<YOUR_KEY>"
}
```
If you have an organization key, the `auth.json` should look like this
```json
{
"private_api_key":"<YOUR_KEY>",
"organization":"<YOUR_ORGANIZATION_ID>"
}
```
## Editor Script
To see an example of a completion in an editor script:
* From the top bar to to `OpenAi > Examples > Completion In Editor Window`.
* To see the code, Click the `Code` reference at the top of the window.
## Play Script
To see an example of a completion at Runtime:
* If you're working on a scene, save the scene you are working on
* From the top bar click `OpenAi > Examples > Completion At Runtime`
* Look at the `CompletionExample` object in the hierarchy and check out the code in `ExampleOpenAiApiRuntime`
* Press play and run the scene
To see an example of chat completion at Runtime:
* If you're working on a scene, save the scene you are working on
* From the top bar click `OpenAi > Examples > Chat At Runtime`
* Look at the `ChatCompletionExample` object in the hierarchy and check out the code in `ExampleChatRuntime`
* Press play and run the scene
# What Next
The above quick start is an extremely simple way to use the `OpenAi Api Unity` library. For more advanced use cases, refer to the [OpenAi Api Unity Documentation](https://github.com/hexthedev/OpenAi-Api-Unity/tree/main/Documentation)
================================================
FILE: README.md.meta
================================================
fileFormatVersion: 2
guid: c0d42e9c4461c4b40ae3b624a4de9661
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Config/DefaultAuthArgsV1.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 82cfa4d983a7d91419ea8999b972a333, type: 3}
m_Name: DefaultAuthArgsV1
m_EditorClassIdentifier:
AuthType: 0
PrivateApiKey:
Organization:
================================================
FILE: Runtime/Config/DefaultAuthArgsV1.asset.meta
================================================
fileFormatVersion: 2
guid: 6d0ce71886a13d44a9693a5e31c0a754
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Config/DefaultChatCompletionArgs.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 080e53b2b28b9684d819081e4e9b9de6, type: 3}
m_Name: DefaultChatCompletionArgs
m_EditorClassIdentifier:
temperature: 1
top_p: 1
n: 1
stop:
-
-
-
-
max_tokens: 2048
presence_penalty: 0
frequency_penalty: 0
user:
================================================
FILE: Runtime/Config/DefaultChatCompletionArgs.asset.meta
================================================
fileFormatVersion: 2
guid: 3064ae573dfd1aa45bfc201f2bc5f0ed
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Config/DefaultCompletionArgs.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6fd689c40e44326488e8c75b58e63175, type: 3}
m_Name: DefaultCompletionArgs
m_EditorClassIdentifier:
max_tokens: 32
temperature: 0.7
top_p: 1
stop:
-
-
-
-
presences_penalty: 0
frequency_penalty: 0
================================================
FILE: Runtime/Config/DefaultCompletionArgs.asset.meta
================================================
fileFormatVersion: 2
guid: 672d04ddb1f852449bbdd712933b43f8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Config.meta
================================================
fileFormatVersion: 2
guid: fac516003fa24e448a19637f26126859
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Prefabs/OpenAiApiGatewayV1.prefab
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2965647775477036486
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1041637925907717537}
- component: {fileID: 6326357910860361850}
m_Layer: 0
m_Name: OpenAiApiGatewayV1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1041637925907717537
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2965647775477036486}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6326357910860361850
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2965647775477036486}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2368cfe602a61dc47b9fceb48ea4dae0, type: 3}
m_Name:
m_EditorClassIdentifier:
InitializeOnStart: 1
Auth: {fileID: 11400000, guid: 6d0ce71886a13d44a9693a5e31c0a754, type: 2}
================================================
FILE: Runtime/Prefabs/OpenAiApiGatewayV1.prefab.meta
================================================
fileFormatVersion: 2
guid: 15d84929ed54ded40904bb85c13f5b87
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Prefabs/OpenAiChatCompleterV1.prefab
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2692144715385115183
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2458975999970266705}
- component: {fileID: 2692144715385115182}
m_Layer: 0
m_Name: OpenAiChatCompleterV1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2458975999970266705
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2692144715385115183}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2692144715385115182
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2692144715385115183}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 582650b353200ef458d8ce61588f26dc, type: 3}
m_Name:
m_EditorClassIdentifier:
Auth: {fileID: 11400000, guid: 6d0ce71886a13d44a9693a5e31c0a754, type: 2}
Args: {fileID: 11400000, guid: 3064ae573dfd1aa45bfc201f2bc5f0ed, type: 2}
Model: 9
dialogue: []
================================================
FILE: Runtime/Prefabs/OpenAiChatCompleterV1.prefab.meta
================================================
fileFormatVersion: 2
guid: 4e6ec076fabc0494db4fa5402d517a9f
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Prefabs/OpenAiCompleterV1.prefab
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &8905070302076984395
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9000805303073374261}
- component: {fileID: 5490449287616113856}
m_Layer: 0
m_Name: OpenAiCompleterV1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &9000805303073374261
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8905070302076984395}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &5490449287616113856
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8905070302076984395}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 00b92053656ca0643ab0d4d86e1387fa, type: 3}
m_Name:
m_EditorClassIdentifier:
Auth: {fileID: 11400000, guid: 6d0ce71886a13d44a9693a5e31c0a754, type: 2}
Args: {fileID: 11400000, guid: 672d04ddb1f852449bbdd712933b43f8, type: 2}
Engine: 6
================================================
FILE: Runtime/Prefabs/OpenAiCompleterV1.prefab.meta
================================================
fileFormatVersion: 2
guid: f28446e696573d2418d2a68633c4a3b3
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Prefabs.meta
================================================
fileFormatVersion: 2
guid: 286c91b0d5867e144a3e5bca108536f0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scenes/ExampleChatRuntimeScene.unity
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.37311992, g: 0.38074034, b: 0.35872713, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &3530426
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3530427}
- component: {fileID: 3530429}
- component: {fileID: 3530428}
m_Layer: 5
m_Name: Label
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3530427
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3530426}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 895809921}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -7.5, y: -0.5}
m_SizeDelta: {x: -35, y: -13}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &3530428
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3530426}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 32
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: user
--- !u!222 &3530429
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3530426}
m_CullTransparentMesh: 1
--- !u!1 &21594508
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 21594509}
- component: {fileID: 21594511}
- component: {fileID: 21594510}
m_Layer: 5
m_Name: Placeholder
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &21594509
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 21594508}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1908724337}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.5}
m_SizeDelta: {x: -20, y: -13}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &21594510
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 21594508}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 32
m_FontStyle: 2
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 48
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Enter Prompt Here
--- !u!222 &21594511
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 21594508}
m_CullTransparentMesh: 0
--- !u!1 &24186520
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 24186521}
- component: {fileID: 24186523}
- component: {fileID: 24186522}
m_Layer: 5
m_Name: Item Label
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &24186521
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 24186520}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 342422714}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 5, y: -0.5}
m_SizeDelta: {x: -30, y: -3}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &24186522
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 24186520}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Option A
--- !u!222 &24186523
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 24186520}
m_CullTransparentMesh: 1
--- !u!1 &143266664
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 143266665}
- component: {fileID: 143266668}
- component: {fileID: 143266667}
- component: {fileID: 143266666}
m_Layer: 5
m_Name: Add
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &143266665
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 143266664}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.44114578, y: 0.44114578, z: 0.44114578}
m_Children:
- {fileID: 289601564}
m_Father: {fileID: 734231673}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &143266666
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 143266664}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 143266667}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1144405788}
m_TargetAssemblyTypeName: OpenAi.Examples.ExampleChatRuntime, openai.api.unity
m_MethodName: DoAddToDialogue
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &143266667
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 143266664}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &143266668
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 143266664}
m_CullTransparentMesh: 0
--- !u!1 &280116129
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 280116130}
- component: {fileID: 280116133}
- component: {fileID: 280116132}
- component: {fileID: 280116131}
m_Layer: 5
m_Name: Quit
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &280116130
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 280116129}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.44114578, y: 0.44114578, z: 0.44114578}
m_Children:
- {fileID: 865087086}
m_Father: {fileID: 734231673}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &280116131
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 280116129}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 280116132}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1144405788}
m_TargetAssemblyTypeName: OpenAi.Examples.ExampleChatRuntime, openai.api.unity
m_MethodName: QuitApp
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &280116132
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 280116129}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &280116133
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 280116129}
m_CullTransparentMesh: 0
--- !u!1 &285536669
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 285536670}
- component: {fileID: 285536672}
- component: {fileID: 285536671}
m_Layer: 5
m_Name: Output
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &285536670
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 285536669}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1512394315}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &285536671
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 285536669}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 32
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 48
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Output
--- !u!222 &285536672
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 285536669}
m_CullTransparentMesh: 0
--- !u!1 &289601563
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 289601564}
- component: {fileID: 289601566}
- component: {fileID: 289601565}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &289601564
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 289601563}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 143266665}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &289601565
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 289601563}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Add to Dialogue
--- !u!222 &289601566
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 289601563}
m_CullTransparentMesh: 0
--- !u!1 &290938305
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 290938306}
- component: {fileID: 290938308}
- component: {fileID: 290938307}
m_Layer: 5
m_Name: Handle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &290938306
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 290938305}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1191005547}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0.2}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &290938307
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 290938305}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &290938308
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 290938305}
m_CullTransparentMesh: 1
--- !u!1 &342422713
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 342422714}
- component: {fileID: 342422715}
m_Layer: 5
m_Name: Item
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &342422714
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 342422713}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1158409480}
- {fileID: 1027592577}
- {fileID: 24186521}
m_Father: {fileID: 2073891501}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &342422715
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 342422713}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1158409481}
toggleTransition: 1
graphic: {fileID: 1027592578}
m_Group: {fileID: 0}
onValueChanged:
m_PersistentCalls:
m_Calls: []
m_IsOn: 1
--- !u!1 &358800524
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 358800527}
- component: {fileID: 358800526}
- component: {fileID: 358800525}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &358800525
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358800524}
m_Enabled: 1
--- !u!20 &358800526
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358800524}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0, g: 0.21792704, b: 0.2830189, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &358800527
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358800524}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &630972316
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 630972317}
- component: {fileID: 630972319}
- component: {fileID: 630972318}
m_Layer: 5
m_Name: Label
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &630972317
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 630972316}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1984789198}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &630972318
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 630972316}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 32
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 40
m_Alignment: 5
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'Role:'
--- !u!222 &630972319
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 630972316}
m_CullTransparentMesh: 1
--- !u!1 &638305103
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 638305107}
- component: {fileID: 638305106}
- component: {fileID: 638305105}
- component: {fileID: 638305104}
m_Layer: 5
m_Name: UI
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &638305104
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638305103}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &638305105
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638305103}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &638305106
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638305103}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 25
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &638305107
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638305103}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 1984789198}
- {fileID: 1512394315}
- {fileID: 734231673}
- {fileID: 2056935217}
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &734231672
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 734231673}
- component: {fileID: 734231674}
m_Layer: 0
m_Name: Actions
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &734231673
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 734231672}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 2.2668242, y: 2.2668242, z: 2.2668242}
m_Children:
- {fileID: 280116130}
- {fileID: 1075851854}
- {fileID: 143266665}
m_Father: {fileID: 638305107}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: 89}
m_SizeDelta: {x: 750, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &734231674
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 734231672}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 0
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 250, y: 100}
m_Spacing: {x: 0, y: 0}
m_Constraint: 0
m_ConstraintCount: 2
--- !u!1 &803458504
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 803458505}
- component: {fileID: 803458508}
- component: {fileID: 803458507}
- component: {fileID: 803458506}
m_Layer: 5
m_Name: Scrollbar
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &803458505
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 803458504}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1191005547}
m_Father: {fileID: 1813061924}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 0}
m_Pivot: {x: 1, y: 1}
--- !u!114 &803458506
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 803458504}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 290938307}
m_HandleRect: {fileID: 290938306}
m_Direction: 2
m_Value: 0
m_Size: 0.2
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!114 &803458507
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 803458504}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &803458508
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 803458504}
m_CullTransparentMesh: 1
--- !u!1 &865087085
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 865087086}
- component: {fileID: 865087088}
- component: {fileID: 865087087}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &865087086
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 865087085}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 280116130}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &865087087
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 865087085}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Quit Application
--- !u!222 &865087088
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 865087085}
m_CullTransparentMesh: 0
--- !u!1 &895809920
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 895809921}
- component: {fileID: 895809924}
- component: {fileID: 895809923}
- component: {fileID: 895809922}
m_Layer: 5
m_Name: Role
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &895809921
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 895809920}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 3530427}
- {fileID: 1213195449}
- {fileID: 1813061924}
m_Father: {fileID: 1984789198}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &895809922
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 895809920}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 895809923}
m_Template: {fileID: 1813061924}
m_CaptionText: {fileID: 3530428}
m_CaptionImage: {fileID: 0}
m_ItemText: {fileID: 24186522}
m_ItemImage: {fileID: 0}
m_Value: 0
m_Options:
m_Options:
- m_Text: user
m_Image: {fileID: 0}
- m_Text: system
m_Image: {fileID: 0}
- m_Text: assistant
m_Image: {fileID: 0}
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
m_AlphaFadeSpeed: 0.15
--- !u!114 &895809923
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 895809920}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &895809924
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 895809920}
m_CullTransparentMesh: 1
--- !u!1 &996691227
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 996691228}
- component: {fileID: 996691231}
- component: {fileID: 996691230}
- component: {fileID: 996691229}
m_Layer: 5
m_Name: Viewport
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &996691228
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 996691227}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 2073891501}
m_Father: {fileID: 1813061924}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -18, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &996691229
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 996691227}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShowMaskGraphic: 0
--- !u!114 &996691230
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 996691227}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &996691231
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 996691227}
m_CullTransparentMesh: 1
--- !u!1 &1027592576
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1027592577}
- component: {fileID: 1027592579}
- component: {fileID: 1027592578}
m_Layer: 5
m_Name: Item Checkmark
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1027592577
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1027592576}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 342422714}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 10, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1027592578
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1027592576}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1027592579
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1027592576}
m_CullTransparentMesh: 1
--- !u!1 &1075851853
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1075851854}
- component: {fileID: 1075851857}
- component: {fileID: 1075851856}
- component: {fileID: 1075851855}
m_Layer: 5
m_Name: Complete
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1075851854
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1075851853}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.44114578, y: 0.44114578, z: 0.44114578}
m_Children:
- {fileID: 1986469218}
m_Father: {fileID: 734231673}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1075851855
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1075851853}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1075851856}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1144405788}
m_TargetAssemblyTypeName: OpenAi.Examples.ExampleChatRuntime, openai.api.unity
m_MethodName: DoApiCompletion
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &1075851856
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1075851853}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1075851857
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1075851853}
m_CullTransparentMesh: 0
--- !u!1 &1144405786
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1144405787}
- component: {fileID: 1144405788}
m_Layer: 0
m_Name: ChatCompletionExample
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1144405787
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1144405786}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1144405788
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1144405786}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ac671c01496633846acf376026fb4b26, type: 3}
m_Name:
m_EditorClassIdentifier:
role: {fileID: 895809922}
Input: {fileID: 1908724338}
Output: {fileID: 285536671}
--- !u!1 &1158409479
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1158409480}
- component: {fileID: 1158409482}
- component: {fileID: 1158409481}
m_Layer: 5
m_Name: Item Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1158409480
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1158409479}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 342422714}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1158409481
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1158409479}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1158409482
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1158409479}
m_CullTransparentMesh: 1
--- !u!1 &1191005546
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1191005547}
m_Layer: 5
m_Name: Sliding Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1191005547
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1191005546}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 290938306}
m_Father: {fileID: 803458505}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -20, y: -20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1213195448
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1213195449}
- component: {fileID: 1213195451}
- component: {fileID: 1213195450}
m_Layer: 5
m_Name: Arrow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1213195449
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1213195448}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 895809921}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -15, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1213195450
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1213195448}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1213195451
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1213195448}
m_CullTransparentMesh: 1
--- !u!1 &1512394314
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1512394315}
- component: {fileID: 1512394316}
m_Layer: 5
m_Name: Chat IO
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1512394315
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1512394314}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1908724337}
- {fileID: 285536670}
m_Father: {fileID: 638305107}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1750, y: 750}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1512394316
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1512394314}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 4
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 1500, y: 250}
m_Spacing: {x: 0, y: 10}
m_Constraint: 0
m_ConstraintCount: 2
--- !u!1 &1813061923
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1813061924}
- component: {fileID: 1813061927}
- component: {fileID: 1813061926}
- component: {fileID: 1813061925}
m_Layer: 5
m_Name: Template
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &1813061924
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813061923}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 996691228}
- {fileID: 803458505}
m_Father: {fileID: 895809921}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 2}
m_SizeDelta: {x: 0, y: 150}
m_Pivot: {x: 0.5, y: 1}
--- !u!114 &1813061925
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813061923}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Content: {fileID: 2073891501}
m_Horizontal: 0
m_Vertical: 1
m_MovementType: 2
m_Elasticity: 0.1
m_Inertia: 1
m_DecelerationRate: 0.135
m_ScrollSensitivity: 1
m_Viewport: {fileID: 996691228}
m_HorizontalScrollbar: {fileID: 0}
m_VerticalScrollbar: {fileID: 803458506}
m_HorizontalScrollbarVisibility: 0
m_VerticalScrollbarVisibility: 2
m_HorizontalScrollbarSpacing: 0
m_VerticalScrollbarSpacing: -3
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!114 &1813061926
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813061923}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1813061927
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813061923}
m_CullTransparentMesh: 1
--- !u!1001 &1894887618
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2458975999970266705, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2692144715385115182, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: Model
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2692144715385115183, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
propertyPath: m_Name
value: OpenAiChatCompleterV1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4e6ec076fabc0494db4fa5402d517a9f, type: 3}
--- !u!1 &1908724336
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1908724337}
- component: {fileID: 1908724340}
- component: {fileID: 1908724339}
- component: {fileID: 1908724338}
m_Layer: 5
m_Name: Input
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1908724337
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908724336}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 21594509}
- {fileID: 2129249664}
m_Father: {fileID: 1512394315}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1908724338
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908724336}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1908724339}
m_TextComponent: {fileID: 2129249665}
m_Placeholder: {fileID: 21594510}
m_ContentType: 0
m_InputType: 0
m_AsteriskChar: 42
m_KeyboardType: 0
m_LineType: 0
m_HideMobileInput: 0
m_CharacterValidation: 0
m_CharacterLimit: 0
m_OnEndEdit:
m_PersistentCalls:
m_Calls: []
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_CustomCaretColor: 0
m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
m_Text:
m_CaretBlinkRate: 0.85
m_CaretWidth: 1
m_ReadOnly: 0
m_ShouldActivateOnSelect: 1
--- !u!114 &1908724339
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908724336}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1908724340
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908724336}
m_CullTransparentMesh: 0
--- !u!1 &1984789197
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1984789198}
- component: {fileID: 1984789199}
m_Layer: 5
m_Name: Choose Role
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1984789198
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1984789197}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 630972317}
- {fileID: 895809921}
m_Father: {fileID: 638305107}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: -87.5, y: -114.5}
m_SizeDelta: {x: 550, y: 150}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1984789199
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1984789197}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 4
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 250, y: 75}
m_Spacing: {x: 10, y: 0}
m_Constraint: 0
m_ConstraintCount: 2
--- !u!1 &1986469217
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1986469218}
- component: {fileID: 1986469220}
- component: {fileID: 1986469219}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1986469218
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986469217}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1075851854}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1986469219
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986469217}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Attempt Completion
--- !u!222 &1986469220
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986469217}
m_CullTransparentMesh: 0
--- !u!1 &2056935214
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2056935217}
- component: {fileID: 2056935216}
- component: {fileID: 2056935215}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2056935215
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2056935214}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &2056935216
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2056935214}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &2056935217
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2056935214}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -960, y: -540, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 638305107}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2073891500
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2073891501}
m_Layer: 5
m_Name: Content
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2073891501
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2073891500}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 342422714}
m_Father: {fileID: 996691228}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 28}
m_Pivot: {x: 0.5, y: 1}
--- !u!1 &2129249663
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2129249664}
- component: {fileID: 2129249666}
- component: {fileID: 2129249665}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2129249664
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2129249663}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1908724337}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.5}
m_SizeDelta: {x: -20, y: -13}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2129249665
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2129249663}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 32
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 48
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 0
m_HorizontalOverflow: 1
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text:
--- !u!222 &2129249666
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2129249663}
m_CullTransparentMesh: 0
================================================
FILE: Runtime/Scenes/ExampleChatRuntimeScene.unity.meta
================================================
fileFormatVersion: 2
guid: 0d4eb4ed72ff417418747843458b9fd2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scenes/ExampleOpenAiApiRuntimeScene.unity
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &21594508
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 21594509}
- component: {fileID: 21594511}
- component: {fileID: 21594510}
m_Layer: 5
m_Name: Placeholder
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &21594509
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 21594508}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1908724337}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.5}
m_SizeDelta: {x: -20, y: -13}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &21594510
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 21594508}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 24
m_FontStyle: 2
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Enter Prompt Here
--- !u!222 &21594511
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 21594508}
m_CullTransparentMesh: 0
--- !u!1001 &127665943
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 8905070302076984395, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_Name
value: OpenAiCompleterV1
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9000805303073374261, guid: f28446e696573d2418d2a68633c4a3b3,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f28446e696573d2418d2a68633c4a3b3, type: 3}
--- !u!1 &280116129
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 280116130}
- component: {fileID: 280116133}
- component: {fileID: 280116132}
- component: {fileID: 280116131}
m_Layer: 5
m_Name: Button_Quit
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &280116130
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 280116129}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 865087086}
m_Father: {fileID: 638305107}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -470}
m_SizeDelta: {x: 200, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &280116131
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 280116129}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 280116132}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1144405788}
m_MethodName: QuitApp
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &280116132
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 280116129}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &280116133
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 280116129}
m_CullTransparentMesh: 0
--- !u!1 &285536669
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 285536670}
- component: {fileID: 285536672}
- component: {fileID: 285536671}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &285536670
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 285536669}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 638305107}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -300}
m_SizeDelta: {x: 1000, y: 102}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &285536671
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 285536669}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Output
--- !u!222 &285536672
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 285536669}
m_CullTransparentMesh: 0
--- !u!1 &358800524
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 358800527}
- component: {fileID: 358800526}
- component: {fileID: 358800525}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &358800525
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358800524}
m_Enabled: 1
--- !u!20 &358800526
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358800524}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0, g: 0.21792704, b: 0.2830189, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &358800527
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358800524}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &638305103
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 638305107}
- component: {fileID: 638305106}
- component: {fileID: 638305105}
- component: {fileID: 638305104}
m_Layer: 5
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &638305104
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638305103}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &638305105
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638305103}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
--- !u!223 &638305106
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638305103}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &638305107
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 638305103}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 1908724337}
- {fileID: 1075851854}
- {fileID: 285536670}
- {fileID: 280116130}
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &865087085
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 865087086}
- component: {fileID: 865087088}
- component: {fileID: 865087087}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &865087086
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 865087085}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 280116130}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &865087087
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 865087085}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Quit Application
--- !u!222 &865087088
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 865087085}
m_CullTransparentMesh: 0
--- !u!1 &1075851853
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1075851854}
- component: {fileID: 1075851857}
- component: {fileID: 1075851856}
- component: {fileID: 1075851855}
m_Layer: 5
m_Name: Button_Completion
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1075851854
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1075851853}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1986469218}
m_Father: {fileID: 638305107}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -62}
m_SizeDelta: {x: 200, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1075851855
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1075851853}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1075851856}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1144405788}
m_MethodName: DoApiCompletion
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &1075851856
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1075851853}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1075851857
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1075851853}
m_CullTransparentMesh: 0
--- !u!1 &1144405786
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1144405787}
- component: {fileID: 1144405788}
m_Layer: 0
m_Name: CompletionExample
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1144405787
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1144405786}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1144405788
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1144405786}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0dffa08172edd254b9cd939b09f211a0, type: 3}
m_Name:
m_EditorClassIdentifier:
Input: {fileID: 1908724338}
Output: {fileID: 285536671}
--- !u!1 &1908724336
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1908724337}
- component: {fileID: 1908724340}
- component: {fileID: 1908724339}
- component: {fileID: 1908724338}
m_Layer: 5
m_Name: Input
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1908724337
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908724336}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 21594509}
- {fileID: 2129249664}
m_Father: {fileID: 638305107}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 100}
m_SizeDelta: {x: 1000, y: 120}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1908724338
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908724336}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1908724339}
m_TextComponent: {fileID: 2129249665}
m_Placeholder: {fileID: 21594510}
m_ContentType: 0
m_InputType: 0
m_AsteriskChar: 42
m_KeyboardType: 0
m_LineType: 0
m_HideMobileInput: 0
m_CharacterValidation: 0
m_CharacterLimit: 0
m_OnEndEdit:
m_PersistentCalls:
m_Calls: []
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_CustomCaretColor: 0
m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
m_Text:
m_CaretBlinkRate: 0.85
m_CaretWidth: 1
m_ReadOnly: 0
--- !u!114 &1908724339
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908724336}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1908724340
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1908724336}
m_CullTransparentMesh: 0
--- !u!1 &1986469217
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1986469218}
- component: {fileID: 1986469220}
- component: {fileID: 1986469219}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1986469218
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986469217}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1075851854}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1986469219
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986469217}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Attempt Completion
--- !u!222 &1986469220
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986469217}
m_CullTransparentMesh: 0
--- !u!1 &2056935214
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2056935217}
- component: {fileID: 2056935216}
- component: {fileID: 2056935215}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2056935215
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2056935214}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &2056935216
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2056935214}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &2056935217
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2056935214}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2129249663
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2129249664}
- component: {fileID: 2129249666}
- component: {fileID: 2129249665}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2129249664
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2129249663}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1908724337}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -0.5}
m_SizeDelta: {x: -20, y: -13}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2129249665
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2129249663}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 0
m_HorizontalOverflow: 1
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text:
--- !u!222 &2129249666
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2129249663}
m_CullTransparentMesh: 0
================================================
FILE: Runtime/Scenes/ExampleOpenAiApiRuntimeScene.unity.meta
================================================
fileFormatVersion: 2
guid: 725f21f739d61fd47829ba2893d9c60f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scenes.meta
================================================
fileFormatVersion: 2
guid: 8439a2f9f61f4044dadc2eba83e4b910
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Base/AApiResource.cs
================================================
using OpenAi.Json;
using System;
using System.Collections;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.Networking;
namespace OpenAi.Api.V1
{
/// <summary>
/// An api resource represents some api endpoint with a specific function. An
/// example of an api resource is https://api.openai.com/v1/engines. Each resource
/// endpoint can have different functionity based on the HTTP method used (GET, POST, etc.)
/// and the parameters provided in the request body.
/// </summary>
public abstract class AApiResource<TParent> : IApiResource
where TParent : IApiResource
{
private StringBuilder _sb = new StringBuilder();
/// <inheritdoc />
public IApiResource ParentResource { get; }
/// <inheritdoc />
public abstract string Endpoint { get; }
/// <inheritdoc />
public void PopulateAuthHeaders(UnityWebRequest client) => ParentResource.PopulateAuthHeaders(client);
/// <inheritdoc />
public string Url
{
get
{
_sb.Clear();
ConstructEndpoint(_sb);
return _sb.ToString();
}
}
/// <summary>
/// Create a resource with a parent. Depending on how the api is
/// architected, parents can provide common pieces of the api endpoints
/// to their children. For example, https://api.openai.com/v1 could be
/// represented by <see cref="OpenAiApiV1"/> with a child of <see cref="EnginesResourceV1"/>
/// to represent https://api.openai.com/v1/engines
/// </summary>
public AApiResource(TParent parent)
{
ParentResource = parent;
}
/// <inheritdoc />
public void ConstructEndpoint(StringBuilder sb)
{
ParentResource.ConstructEndpoint(sb);
sb.Append(Endpoint);
}
#region GET
/// <summary>
/// Implements an async get request
/// </summary>
protected async Task<ApiResult<TResponse>> GetAsync<TResponse>()
where TResponse : AModelV1, new()
{
UnityWebRequest response = await GetRequestAsync();
return PackResult<TResponse>(response);
}
/// <summary>
/// Implements a get request as a Coroutine
/// </summary>
protected Coroutine GetCoroutine<TResponse>(MonoBehaviour mono, Action<ApiResult<TResponse>> onResult)
where TResponse : AModelV1, new()
{
return mono.StartCoroutine(GetRoutine());
IEnumerator GetRoutine()
{
UnityWebRequest response = null;
yield return mono.StartCoroutine(GetRequestCoroutine((res) => response = res));
if (response == null) onResult(new ApiResult<TResponse>() { IsSuccess = false });
ApiResult<TResponse> result = PackResult<TResponse>(response);
if (result == null) onResult(new ApiResult<TResponse>() { IsSuccess = false });
else onResult(result);
}
}
#endregion
#region DELETE
/// <summary>
/// Implements an async get request
/// </summary>
protected async Task<ApiResult> DeleteAsync()
{
UnityWebRequest response = await DeleteRequestAsync();
return PackResult_RequestOnly(response);
}
/// <summary>
/// Implements a get request as a Coroutine
/// </summary>
protected Coroutine DeleteCoroutine(MonoBehaviour mono, Action<ApiResult> onResult)
{
return mono.StartCoroutine(DeleteRoutine());
IEnumerator DeleteRoutine()
{
UnityWebRequest response = null;
yield return mono.StartCoroutine(DeleteRequestCoroutine((res) => response = res));
if (response == null) onResult(new ApiResult() { IsSuccess = false });
ApiResult result = PackResult_RequestOnly(response);
if (result == null) onResult(new ApiResult() { IsSuccess = false });
else onResult(result);
}
}
#endregion
#region POST
/// <summary>
/// Implements an async post request
/// </summary>
protected async Task<ApiResult<TResponse>> PostAsync<TRequest, TResponse>(TRequest request)
where TRequest : AModelV1, new()
where TResponse : AModelV1, new()
{
UnityWebRequest response = await PostRequestAsync(request);
return PackResult<TResponse>(response);
}
/// <summary>
/// Implements a post request as a coroutine
/// </summary>
/// <returns></returns>
protected Coroutine PostCoroutine<TRequest, TResponse>(MonoBehaviour mono, TRequest request, Action<ApiResult<TResponse>> onResult)
where TRequest : AModelV1, new()
where TResponse : AModelV1, new()
{
return mono.StartCoroutine(PostRoutine());
IEnumerator PostRoutine()
{
UnityWebRequest response = null;
yield return mono.StartCoroutine(PostRequestCoroutine(request, (res) => response = res));
if (response == null) onResult(new ApiResult<TResponse>() { IsSuccess = false });
ApiResult<TResponse> result = PackResult<TResponse>(response);
if (result == null) onResult(new ApiResult<TResponse>() { IsSuccess = false });
else onResult(result);
}
}
#endregion
#region POST Event Stream
/// <summary>
/// Implements an async post request, with the reception method as event streams <see href="https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format"/>
/// </summary>
protected async Task PostAsync_EventStream<TRequest, TResponse>(TRequest request, Action<ApiResult<TResponse>> onRequestStatus, Action<int, TResponse> onPartialResult, Action onCompletion = null)
where TRequest : AModelV1, new()
where TResponse : AModelV1, new()
{
UnityWebRequest response = await PostRequestAsync(request);
ApiResult<TResponse> status = new ApiResult<TResponse>() { IsSuccess = response.result == UnityWebRequest.Result.Success, HttpResponse = response };
onRequestStatus(status);
if (response.result == UnityWebRequest.Result.Success) await ReadEventStreamAsync(response, onPartialResult, onCompletion);
}
/// <summary>
/// Implements a post request as a coroutine, with the reception method as event streams <see href="https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format"/>
/// </summary>
/// <returns></returns>
protected Coroutine PostCoroutine_EventStream<TRequest, TResponse>(MonoBehaviour mono, TRequest request, Action<ApiResult<TResponse>> onRequestStatus, Action<int, TResponse> onPartialResult, Action onCompletion = null)
where TRequest : AModelV1, new()
where TResponse : AModelV1, new()
{
return mono.StartCoroutine(PostEventStreamRoutine());
IEnumerator PostEventStreamRoutine()
{
UnityWebRequest response = null;
yield return mono.StartCoroutine(PostRequestCoroutine(request, (res) => response = res));
if (response == null) onRequestStatus(new ApiResult<TResponse>() { IsSuccess = false });
else onRequestStatus(new ApiResult<TResponse>() { IsSuccess = response.result == UnityWebRequest.Result.Success, HttpResponse = response });
if (response != null && response.result == UnityWebRequest.Result.Success)
{
Task ReadStreamTask = ReadEventStreamAsync(response, onPartialResult, onCompletion);
while (!ReadStreamTask.IsCompleted) yield return new WaitForEndOfFrame();
}
}
}
#endregion
private async Task<UnityWebRequest> PostRequestAsync<TRequest>(TRequest request)
where TRequest : AModelV1, new()
{
UnityWebRequest client =
#if UNITY_2022_2_OR_NEWER
UnityWebRequest.PostWwwForm(Url, string.Empty);
#else
UnityWebRequest.Post(Url, string.Empty);
#endif
ParentResource.PopulateAuthHeaders(client);
AddJsonToUnityWebRequest(client, request.ToJson());
await client.SendWebRequest();
client.uploadHandler.Dispose();
return client;
}
private async Task<UnityWebRequest> GetRequestAsync()
{
UnityWebRequest client = UnityWebRequest.Get(Url);
ParentResource.PopulateAuthHeaders(client);
await client.SendWebRequest();
return client;
}
private async Task<UnityWebRequest> DeleteRequestAsync()
{
UnityWebRequest client = UnityWebRequest.Delete(Url);
ParentResource.PopulateAuthHeaders(client);
await client.SendWebRequest();
return client;
}
private async Task ReadEventStreamAsync<TResponse>(UnityWebRequest response, Action<int, TResponse> onPartialResult, Action onCompletion)
where TResponse : AModelV1, new()
{
using (Stream stream = new MemoryStream(response.downloadHandler.data))
{
int index = 0;
using (StreamReader reader = new StreamReader(stream))
{
string line;
while ((line = await reader.ReadLineAsync()) != null)
{
if (line.StartsWith("data: ")) line = line.Substring("data: ".Length);
if (line == "[DONE]")
{
if(onCompletion != null) onCompletion();
return;
}
else if (!string.IsNullOrWhiteSpace(line))
{
index++;
JsonObject obj = JsonDeserializer.FromJson(line.Trim());
TResponse streamedResult = new TResponse();
streamedResult.FromJson(obj);
onPartialResult(index, streamedResult);
}
}
}
}
}
private IEnumerator PostRequestCoroutine<TRequest>(TRequest request, Action<UnityWebRequest> onResponse)
where TRequest : AModelV1, new()
{
Task<UnityWebRequest> responseTask = PostRequestAsync(request);
while (!responseTask.IsCompleted) yield return new WaitForEndOfFrame();
UnityWebRequest response = responseTask.Result;
onResponse(response);
}
private IEnumerator GetRequestCoroutine(Action<UnityWebRequest> onResponse)
{
Task<UnityWebRequest> responseTask = GetRequestAsync();
while (!responseTask.IsCompleted) yield return new WaitForEndOfFrame();
UnityWebRequest response = responseTask.Result;
onResponse(response);
}
private IEnumerator DeleteRequestCoroutine(Action<UnityWebRequest> onResponse)
{
Task<UnityWebRequest> responseTask = DeleteRequestAsync();
while (!responseTask.IsCompleted) yield return new WaitForEndOfFrame();
UnityWebRequest response = responseTask.Result;
onResponse(response);
}
private ApiResult<TResponse> PackResult<TResponse>(UnityWebRequest response)
where TResponse : AModelV1, new()
{
ApiResult<TResponse> result = new ApiResult<TResponse>()
{
IsSuccess = response.result == UnityWebRequest.Result.Success,
HttpResponse = response
};
if (result.IsSuccess)
{
string resultAsString = response.downloadHandler.text;
result.Result = UnpackResponseObject<TResponse>(resultAsString);
}
return result;
}
private ApiResult PackResult_RequestOnly(UnityWebRequest response)
{
ApiResult result = new ApiResult()
{
IsSuccess = response.result == UnityWebRequest.Result.Success,
HttpResponse = response
};
return result;
}
private void AddJsonToUnityWebRequest(UnityWebRequest client, string json)
{
client.SetRequestHeader("Content-Type", "application/json");
client.uploadHandler = new UploadHandlerRaw(
Encoding.UTF8.GetBytes(json)
);
}
private TModel UnpackResponseObject<TModel>(string content)
where TModel : AModelV1, new()
{
JsonObject obj = JsonDeserializer.FromJson(content);
TModel res = new TModel();
res.FromJson(obj);
return res;
}
}
}
================================================
FILE: Runtime/Scripts/Api/Base/AApiResource.cs.meta
================================================
fileFormatVersion: 2
guid: e39588fc3ace7674abd12ac0f6d7b8a8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Base/ApiResult.cs
================================================
using UnityEngine.Networking;
namespace OpenAi.Api.V1
{
/// <summary>
/// A result of an api call
/// </summary>
public class ApiResult
{
/// <summary>
/// True if the request status is a success code
/// </summary>
public bool IsSuccess;
/// <summary>
/// The completed <see cref="UnityWebRequest"/>
/// </summary>
public UnityWebRequest HttpResponse;
}
/// <summary>
/// A result of an api call
/// </summary>
/// <typeparam name="TResult">The type of result expected from the api call</typeparam>
public class ApiResult<TResult> : ApiResult
{
/// <summary>
/// The deserailized response from the call. Null if no repsonse received or call unsuccessful.
/// </summary>
public TResult Result;
}
}
================================================
FILE: Runtime/Scripts/Api/Base/ApiResult.cs.meta
================================================
fileFormatVersion: 2
guid: 0fa1c3e1c2e076e41abbd23c265754aa
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Base/IApiResource.cs
================================================
using System.Text;
using UnityEngine.Networking;
namespace OpenAi.Api.V1
{
/// <summary>
/// Represents an API endpoint
/// </summary>
public interface IApiResource
{
/// <summary>
/// The parent resource object. Null if root.
/// </summary>
IApiResource ParentResource { get; }
/// <summary>
/// The url endpoint of the resource.
/// </summary>
string Endpoint { get; }
/// <summary>
/// The full constucted url to the endpoint
/// </summary>
string Url { get; }
/// <summary>
/// The endpoint is constructed by passing a <see cref="StringBuilder"/> up
/// the tree until the parent is reached. The Parent then adds it's portion
/// of the endpoint. The first child contributes it's portion, and so on. Until
/// the whole endpoint is created.
/// </summary>
void ConstructEndpoint(StringBuilder sb);
/// <summary>
/// Populates a <see cref="UnityWebRequest"/> with the appropriate auth headers
/// </summary>
/// <returns></returns>
void PopulateAuthHeaders(UnityWebRequest client);
}
}
================================================
FILE: Runtime/Scripts/Api/Base/IApiResource.cs.meta
================================================
fileFormatVersion: 2
guid: 8eda116edf0387a44b2d3d67d0894770
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Base/OpenAiApiException.cs
================================================
using System;
using UnityEngine;
using Object = UnityEngine.Object;
namespace OpenAi.Api
{
/// <summary>
/// Exception that occurs when OpenAiApi calls fail
/// </summary>
public class OpenAiApiException : Exception
{
/// <summary>
/// The context of the failed api call
/// </summary>
public Object Context { get; private set; }
/// <summary>
/// Construct with message, optional context and optional inner exception
/// </summary>
public OpenAiApiException(string message, Object context = null, Exception innerException = null) : base(message, innerException)
{
Context = context;
}
/// <summary>
/// Prints an error to the unity console.
/// </summary>
public void LogAsError()
{
if(Context != null)
{
Debug.LogError($"OpenAiApi Error: {Message}", Context);
}
else
{
Debug.LogError($"OpenAiApi Error: {Message}");
}
}
}
}
================================================
FILE: Runtime/Scripts/Api/Base/OpenAiApiException.cs.meta
================================================
fileFormatVersion: 2
guid: c74f739190347234db19aef3105a5375
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Base.meta
================================================
fileFormatVersion: 2
guid: b2c6be357cb1e6142bb16905d61aabf4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Utility/EChatModelNames/EChatModelName.cs
================================================
using System;
namespace OpenAi.Api
{
public static class UTEChatModelName
{
public static string GetModelName(EEngineName name)
{
switch (name)
{
case EEngineName.gpt_35_turbo:
return UTModelNames.gpt_35_turbo;
case EEngineName.BETA_gpt_4:
return UTModelNames.BETA_gpt_4;
case EEngineName.BETA_gpt_4_32k:
return UTModelNames.BETA_gpt_4_32k;
}
throw new ArgumentException($"Invalid enum value provided when getting chat model name. Value provided: {name}");
}
}
}
================================================
FILE: Runtime/Scripts/Api/Utility/EChatModelNames/EChatModelName.cs.meta
================================================
fileFormatVersion: 2
guid: 1357fb1fce4191e42827032bccc96935
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Utility/EChatModelNames.meta
================================================
fileFormatVersion: 2
guid: d630afaa3786c95469a23e3dd97b1749
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Utility/EngineNames/EEngineName.cs
================================================
using System;
namespace OpenAi.Api
{
public enum EEngineName
{
// GPT-3
ada,
babbage,
curie,
davinci,
text_ada_001,
text_babbage_001,
text_curie_001,
// GPT 3-5
gpt_35_turbo,
text_davinci_003,
text_davinci_002,
code_davinci_002,
// GPT-4 in beta
BETA_gpt_4,
BETA_gpt_4_32k,
}
public static class UTEEngineName
{
public static string GetEngineName(EEngineName name)
{
switch (name)
{
case EEngineName.ada:
return UTModelNames.ada;
case EEngineName.babbage:
return UTModelNames.babbage;
case EEngineName.curie:
return UTModelNames.curie;
case EEngineName.davinci:
return UTModelNames.davinci;
case EEngineName.text_ada_001:
return UTModelNames.text_ada_001;
case EEngineName.text_babbage_001:
return UTModelNames.text_babbage_001;
case EEngineName.text_curie_001:
return UTModelNames.text_curie_001;
case EEngineName.gpt_35_turbo:
return UTModelNames.gpt_35_turbo;
case EEngineName.text_davinci_003:
return UTModelNames.text_davinci_003;
case EEngineName.text_davinci_002:
return UTModelNames.text_davinci_002;
case EEngineName.code_davinci_002:
return UTModelNames.code_davinci_002;
case EEngineName.BETA_gpt_4:
return UTModelNames.BETA_gpt_4;
case EEngineName.BETA_gpt_4_32k:
return UTModelNames.BETA_gpt_4_32k;
}
throw new ArgumentException($"Invalid enum value provided when getting model name. Value provided: {name}");
}
}
}
================================================
FILE: Runtime/Scripts/Api/Utility/EngineNames/EEngineName.cs.meta
================================================
fileFormatVersion: 2
guid: a7f86371651b34640b3b6fc8c743ecb0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Utility/EngineNames/UTEngineNames.cs
================================================
namespace OpenAi.Api
{
public static class UTModelNames
{
// GPT-3
public const string ada = "ada";
public const string babbage = "babbage";
public const string curie = "curie";
public const string davinci = "davinci";
public const string text_ada_001 = "text-ada-001";
public const string text_babbage_001= "text-babbage-001";
public const string text_curie_001= "text-curie-001";
// GPT 3-5
public const string gpt_35_turbo = "gpt-3.5-turbo";
public const string text_davinci_003 = "text-davinci-003";
public const string text_davinci_002= "text-davinci-002";
public const string code_davinci_002 = "code-davinci-002";
// GPT-4 in beta
public const string BETA_gpt_4 = "gpt-4";
public const string BETA_gpt_4_32k = "gpt-4-32k";
}
}
================================================
FILE: Runtime/Scripts/Api/Utility/EngineNames/UTEngineNames.cs.meta
================================================
fileFormatVersion: 2
guid: 355de6e305023a9448d2b35ac39294a9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Utility/EngineNames.meta
================================================
fileFormatVersion: 2
guid: a9ce3ed80c6c87f439a23eafeb0342b7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Utility/StringOrArray.cs
================================================
using OpenAi.Json;
using System.Collections.Generic;
namespace OpenAi.Api.V1
{
/// <summary>
/// Can be interpreted as a string (if only 1 string added) or an array, if multiple strings added. This is to facilitate arguments in the OpenAi.Api
/// </summary>
public class StringOrArray
{
private List<string> _elements;
/// <summary>
/// Create a string or array using input strings. If 0 strings are provided, Resolve() = null. If
/// 1 string is provided, Resolve() = a string, if 2+ strings are provided, Resolve() = string[]
/// </summary>
/// <param name="strings"></param>
public StringOrArray(params string[] strings)
{
if (strings != null)
{
//Nullifies the empty strings in the array
for (var i = 0; i < strings.Length; i++)
{
strings[i] = string.IsNullOrEmpty(strings[i]) ? null : strings[i];
}
_elements = new List<string>(strings);
}
}
/// <summary>
/// Resolves the StringOrArray to the appropriate type
/// </summary>
/// <returns></returns>
public object Resolve()
{
if (_elements == null || _elements.Count == 0) return null;
if (_elements.Count == 1) return _elements[0];
return _elements.ToArray();
}
/// <summary>
/// Popualte based on json object
/// </summary>
public void FromJson(JsonObject json)
{
if(json.Type == EJsonType.List)
{
_elements = new List<string>();
foreach(JsonObject obj in json.NestedValues)
{
_elements.Add(obj.StringValue);
}
}
else if(json.Type == EJsonType.Value)
{
_elements = new List<string>();
_elements.Add(json.StringValue);
}
}
/// <summary>
/// Implicitly make a StringOrArray from a string
/// </summary>
/// <param name="str"></param>
public static implicit operator StringOrArray(string str)
{
if (string.IsNullOrEmpty(str)) return null;
return new StringOrArray(str);
}
/// <summary>
/// Implicitly make a StringOrArray from a string array
/// </summary>
/// <param name="str"></param>
public static implicit operator StringOrArray(string[] strings)
{
if (strings == null) return null;
return new StringOrArray(strings);
}
}
}
================================================
FILE: Runtime/Scripts/Api/Utility/StringOrArray.cs.meta
================================================
fileFormatVersion: 2
guid: bbd00387caa7d8845a61bc6135e50e0a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Utility/UnityWebRequestAsync/UnityWebRequestAwaiter.cs
================================================
// Taken from this gist https://gist.github.com/krzys-h/9062552e33dd7bd7fe4a6c12db109a1a
using System;
using System.Runtime.CompilerServices;
using UnityEngine;
using UnityEngine.Networking;
namespace OpenAi.Api.V1
{
/// <summary>
/// Allows the UnityWebRequest object to be awaited
/// </summary>
public class UnityWebRequestAwaiter : INotifyCompletion
{
private UnityWebRequestAsyncOperation asyncOp;
private Action continuation;
public UnityWebRequestAwaiter(UnityWebRequestAsyncOperation asyncOp)
{
this.asyncOp = asyncOp;
asyncOp.completed += OnRequestCompleted;
}
public bool IsCompleted { get { return asyncOp.isDone; } }
public void GetResult() { }
public void OnCompleted(Action continuation)
{
this.continuation = continuation;
}
private void OnRequestCompleted(AsyncOperation obj)
{
continuation();
}
}
}
================================================
FILE: Runtime/Scripts/Api/Utility/UnityWebRequestAsync/UnityWebRequestAwaiter.cs.meta
================================================
fileFormatVersion: 2
guid: 80b39eca5abef8f428da95abb7e26b0b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Utility/UnityWebRequestAsync/UnityWebRequestExtensions.cs
================================================
// Taken from this gist https://gist.github.com/krzys-h/9062552e33dd7bd7fe4a6c12db109a1a
using UnityEngine.Networking;
namespace OpenAi.Api.V1
{
/// <summary>
/// Provides a get waiter extension to Unity web requests to allow it to be awaited
/// </summary>
public static class ExtensionMethods
{
public static UnityWebRequestAwaiter GetAwaiter(this UnityWebRequestAsyncOperation asyncOp)
{
return new UnityWebRequestAwaiter(asyncOp);
}
}
}
================================================
FILE: Runtime/Scripts/Api/Utility/UnityWebRequestAsync/UnityWebRequestExtensions.cs.meta
================================================
fileFormatVersion: 2
guid: ae29d89f8e5725341b1013077dec7a43
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Utility/UnityWebRequestAsync.meta
================================================
fileFormatVersion: 2
guid: 290d20dbfb3926844b03ed47ed3145b6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/Utility.meta
================================================
fileFormatVersion: 2
guid: afac1627f3594e144b74d8d81b1a0060
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/V1/Api/Chat/ChatResourceV1.cs
================================================
using System;
using System.Threading.Tasks;
using UnityEngine;
namespace OpenAi.Api.V1
{
/// <summary>
/// Resource providing base chat functionality. <see href="https://platform.openai.com/docs/api-reference/chat"/>
/// </summary>
public class ChatResourceV1 : AApiResource<OpenAiApiV1>
{
/// <inheritdoc/>
public override string Endpoint => "/chat";
/// <summary>
/// Construct with parent
/// </summary>
/// <param name="parent"></param>
public ChatResourceV1(OpenAiApiV1 parent) : base(parent) { Completions = new ChatCompletionsResourceV1(this); }
/// <summary>
/// Completions resource. <see href="https://platform.openai.com/docs/api-reference/chat/create"/>
/// </summary>
/// <param name="parent"></param>
public ChatCompletionsResourceV1 Completions { get; private set; }
}
}
================================================
FILE: Runtime/Scripts/Api/V1/Api/Chat/ChatResourceV1.cs.meta
================================================
fileFormatVersion: 2
guid: 4341471d81112ce45a0cff5db6755675
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Runtime/Scripts/Api/V1/Api/Chat/Completions/ChatCompletionRequestV1.cs
================================================
using OpenAi.Json;
using System;
using System.Collections.Generic;
namespace OpenAi.Api.V1
{
/// <summary>
/// Object used when requesting a chat completion. <see href="https://platform.openai.com/docs/api-reference/chat/create"/>
/// </summary>
public class ChatCompletionRequestV1 : AModelV1
{
/// <summary>
/// The OpenAI model to use
/// </summary>
public string model;
/// <summary>
/// Messages to send
/// </summary>
public List<MessageV1> messages = new List<MessageV1>();
/// <summary>
/// What sampling temperature to use. Higher values means the model will take more risks. Try 0.9 for more creative applications, and 0 (argmax sampling) for ones with a well-defined answer. We generally recommend altering this or top_p but not both.
gitextract_1dt47_oh/ ├── .github/ │ ├── scripts/ │ │ ├── prChangelog_NoAuth.py │ │ └── versionUpdater.py │ └── workflows/ │ └── unitypackage.yml ├── CHANGELOG.md ├── CHANGELOG.md.meta ├── Documentation/ │ ├── 1_Overview.md │ ├── 1_Overview.md.meta │ ├── 2_Authentication.md │ ├── 2_Authentication.md.meta │ ├── 3_ApiCalls.md │ ├── 3_ApiCalls.md.meta │ ├── 4_JsonSerialization.md │ └── 4_JsonSerialization.md.meta ├── Documentation.meta ├── Editor/ │ ├── Scripts/ │ │ ├── Examples/ │ │ │ ├── EMExampleChatRuntimeScene.cs │ │ │ ├── EMExampleChatRuntimeScene.cs.meta │ │ │ ├── EMExampleOpenAiApiRuntimeScene.cs │ │ │ ├── EMExampleOpenAiApiRuntimeScene.cs.meta │ │ │ ├── ExampleOpenAiApiUnityEditor.cs │ │ │ └── ExampleOpenAiApiUnityEditor.cs.meta │ │ ├── Examples.meta │ │ ├── Unity/ │ │ │ ├── V1/ │ │ │ │ ├── Auth/ │ │ │ │ │ ├── SOAuthArgsV1Editor.cs │ │ │ │ │ └── SOAuthArgsV1Editor.cs.meta │ │ │ │ ├── Auth.meta │ │ │ │ ├── EMPrefabs.cs │ │ │ │ └── EMPrefabs.cs.meta │ │ │ └── V1.meta │ │ └── Unity.meta │ ├── Scripts.meta │ ├── openai.api.unity.editor.asmdef │ └── openai.api.unity.editor.asmdef.meta ├── Editor.meta ├── License.md ├── License.md.meta ├── README.md ├── README.md.meta ├── Runtime/ │ ├── Config/ │ │ ├── DefaultAuthArgsV1.asset │ │ ├── DefaultAuthArgsV1.asset.meta │ │ ├── DefaultChatCompletionArgs.asset │ │ ├── DefaultChatCompletionArgs.asset.meta │ │ ├── DefaultCompletionArgs.asset │ │ └── DefaultCompletionArgs.asset.meta │ ├── Config.meta │ ├── Prefabs/ │ │ ├── OpenAiApiGatewayV1.prefab │ │ ├── OpenAiApiGatewayV1.prefab.meta │ │ ├── OpenAiChatCompleterV1.prefab │ │ ├── OpenAiChatCompleterV1.prefab.meta │ │ ├── OpenAiCompleterV1.prefab │ │ └── OpenAiCompleterV1.prefab.meta │ ├── Prefabs.meta │ ├── Scenes/ │ │ ├── ExampleChatRuntimeScene.unity │ │ ├── ExampleChatRuntimeScene.unity.meta │ │ ├── ExampleOpenAiApiRuntimeScene.unity │ │ └── ExampleOpenAiApiRuntimeScene.unity.meta │ ├── Scenes.meta │ ├── Scripts/ │ │ ├── Api/ │ │ │ ├── Base/ │ │ │ │ ├── AApiResource.cs │ │ │ │ ├── AApiResource.cs.meta │ │ │ │ ├── ApiResult.cs │ │ │ │ ├── ApiResult.cs.meta │ │ │ │ ├── IApiResource.cs │ │ │ │ ├── IApiResource.cs.meta │ │ │ │ ├── OpenAiApiException.cs │ │ │ │ └── OpenAiApiException.cs.meta │ │ │ ├── Base.meta │ │ │ ├── Utility/ │ │ │ │ ├── EChatModelNames/ │ │ │ │ │ ├── EChatModelName.cs │ │ │ │ │ └── EChatModelName.cs.meta │ │ │ │ ├── EChatModelNames.meta │ │ │ │ ├── EngineNames/ │ │ │ │ │ ├── EEngineName.cs │ │ │ │ │ ├── EEngineName.cs.meta │ │ │ │ │ ├── UTEngineNames.cs │ │ │ │ │ └── UTEngineNames.cs.meta │ │ │ │ ├── EngineNames.meta │ │ │ │ ├── StringOrArray.cs │ │ │ │ ├── StringOrArray.cs.meta │ │ │ │ ├── UnityWebRequestAsync/ │ │ │ │ │ ├── UnityWebRequestAwaiter.cs │ │ │ │ │ ├── UnityWebRequestAwaiter.cs.meta │ │ │ │ │ ├── UnityWebRequestExtensions.cs │ │ │ │ │ └── UnityWebRequestExtensions.cs.meta │ │ │ │ └── UnityWebRequestAsync.meta │ │ │ ├── Utility.meta │ │ │ ├── V1/ │ │ │ │ ├── Api/ │ │ │ │ │ ├── Chat/ │ │ │ │ │ │ ├── ChatResourceV1.cs │ │ │ │ │ │ ├── ChatResourceV1.cs.meta │ │ │ │ │ │ ├── Completions/ │ │ │ │ │ │ │ ├── ChatCompletionRequestV1.cs │ │ │ │ │ │ │ ├── ChatCompletionRequestV1.cs.meta │ │ │ │ │ │ │ ├── ChatCompletionsResourceV1.cs │ │ │ │ │ │ │ └── ChatCompletionsResourceV1.cs.meta │ │ │ │ │ │ └── Completions.meta │ │ │ │ │ ├── Chat.meta │ │ │ │ │ ├── Engines/ │ │ │ │ │ │ ├── Engine/ │ │ │ │ │ │ │ ├── Completions/ │ │ │ │ │ │ │ │ ├── CompletionRequestV1.cs │ │ │ │ │ │ │ │ ├── CompletionRequestV1.cs.meta │ │ │ │ │ │ │ │ ├── CompletionsResourceV1.cs │ │ │ │ │ │ │ │ └── CompletionsResourceV1.cs.meta │ │ │ │ │ │ │ ├── Completions.meta │ │ │ │ │ │ │ ├── EngineResourceV1.cs │ │ │ │ │ │ │ └── EngineResourceV1.cs.meta │ │ │ │ │ │ ├── Engine.meta │ │ │ │ │ │ ├── EnginesResourceV1.cs │ │ │ │ │ │ └── EnginesResourceV1.cs.meta │ │ │ │ │ ├── Engines.meta │ │ │ │ │ ├── Files/ │ │ │ │ │ │ ├── File/ │ │ │ │ │ │ │ ├── FileResourceV1.cs │ │ │ │ │ │ │ └── FileResourceV1.cs.meta │ │ │ │ │ │ ├── File.meta │ │ │ │ │ │ ├── FilesResourceV1.cs │ │ │ │ │ │ └── FilesResourceV1.cs.meta │ │ │ │ │ └── Files.meta │ │ │ │ ├── Api.meta │ │ │ │ ├── Models/ │ │ │ │ │ ├── AnswerV1.cs │ │ │ │ │ ├── AnswerV1.cs.meta │ │ │ │ │ ├── ChatChoiceV1.cs │ │ │ │ │ ├── ChatChoiceV1.cs.meta │ │ │ │ │ ├── ChatCompletionV1.cs │ │ │ │ │ ├── ChatCompletionV1.cs.meta │ │ │ │ │ ├── ChoiceV1.cs │ │ │ │ │ ├── ChoiceV1.cs.meta │ │ │ │ │ ├── ClassificationV1.cs │ │ │ │ │ ├── ClassificationV1.cs.meta │ │ │ │ │ ├── CompletionV1.cs │ │ │ │ │ ├── CompletionV1.cs.meta │ │ │ │ │ ├── DeltaV1.cs │ │ │ │ │ ├── DeltaV1.cs.meta │ │ │ │ │ ├── EngineV1.cs │ │ │ │ │ ├── EngineV1.cs.meta │ │ │ │ │ ├── EnginesListV1.cs │ │ │ │ │ ├── EnginesListV1.cs.meta │ │ │ │ │ ├── FileV1.cs │ │ │ │ │ ├── FileV1.cs.meta │ │ │ │ │ ├── FilesListV1.cs │ │ │ │ │ ├── FilesListV1.cs.meta │ │ │ │ │ ├── LabeledExampleV1.cs │ │ │ │ │ ├── LabeledExampleV1.cs.meta │ │ │ │ │ ├── MessageV1.cs │ │ │ │ │ ├── MessageV1.cs.meta │ │ │ │ │ ├── QuestionAnswerPairV1.cs │ │ │ │ │ ├── QuestionAnswerPairV1.cs.meta │ │ │ │ │ ├── SearchListV1.cs │ │ │ │ │ ├── SearchListV1.cs.meta │ │ │ │ │ ├── SearchV1.cs │ │ │ │ │ ├── SearchV1.cs.meta │ │ │ │ │ ├── SelectedDocumentV1.cs │ │ │ │ │ ├── SelectedDocumentV1.cs.meta │ │ │ │ │ ├── SelectedExampleV1.cs │ │ │ │ │ ├── SelectedExampleV1.cs.meta │ │ │ │ │ ├── UsageV1.cs │ │ │ │ │ └── UsageV1.cs.meta │ │ │ │ ├── Models.meta │ │ │ │ ├── OpenAiApiV1.cs │ │ │ │ ├── OpenAiApiV1.cs.meta │ │ │ │ ├── SAuthArgsV1.cs │ │ │ │ ├── SAuthArgsV1.cs.meta │ │ │ │ ├── _abstract/ │ │ │ │ │ ├── AModelV1.cs │ │ │ │ │ └── AModelV1.cs.meta │ │ │ │ └── _abstract.meta │ │ │ └── V1.meta │ │ ├── Api.meta │ │ ├── Examples/ │ │ │ ├── ExampleChatRuntime.cs │ │ │ ├── ExampleChatRuntime.cs.meta │ │ │ ├── ExampleOpenAiApiRuntime.cs │ │ │ └── ExampleOpenAiApiRuntime.cs.meta │ │ ├── Examples.meta │ │ ├── Json/ │ │ │ ├── Deserialization/ │ │ │ │ ├── JsonDeserializer.cs │ │ │ │ ├── JsonDeserializer.cs.meta │ │ │ │ ├── JsonObject.cs │ │ │ │ ├── JsonObject.cs.meta │ │ │ │ ├── LexicalAnalysis/ │ │ │ │ │ ├── CharacterAnalyzer/ │ │ │ │ │ │ ├── BaseAnalyzer.cs │ │ │ │ │ │ ├── BaseAnalyzer.cs.meta │ │ │ │ │ │ ├── ECharacterAnalyzerResponse.cs │ │ │ │ │ │ ├── ECharacterAnalyzerResponse.cs.meta │ │ │ │ │ │ ├── ICharacterAnalyzer.cs │ │ │ │ │ │ ├── ICharacterAnalyzer.cs.meta │ │ │ │ │ │ ├── StringAnalyzer.cs │ │ │ │ │ │ └── StringAnalyzer.cs.meta │ │ │ │ │ ├── CharacterAnalyzer.meta │ │ │ │ │ ├── JsonLexer.cs │ │ │ │ │ └── JsonLexer.cs.meta │ │ │ │ ├── LexicalAnalysis.meta │ │ │ │ ├── SyntacticAnalysis/ │ │ │ │ │ ├── EJsonType.cs │ │ │ │ │ ├── EJsonType.cs.meta │ │ │ │ │ ├── JsonSyntaxAnalyzer.cs │ │ │ │ │ └── JsonSyntaxAnalyzer.cs.meta │ │ │ │ ├── SyntacticAnalysis.meta │ │ │ │ ├── UTJsonDeserialization.cs │ │ │ │ └── UTJsonDeserialization.cs.meta │ │ │ ├── Deserialization.meta │ │ │ ├── IJsonable.cs │ │ │ ├── IJsonable.cs.meta │ │ │ ├── OpenAiJsonException.cs │ │ │ ├── OpenAiJsonException.cs.meta │ │ │ ├── Serialization/ │ │ │ │ ├── JsonBuilder.cs │ │ │ │ └── JsonBuilder.cs.meta │ │ │ └── Serialization.meta │ │ ├── Json.meta │ │ ├── Unity/ │ │ │ ├── Util/ │ │ │ │ ├── AMonoSingleton.cs │ │ │ │ └── AMonoSingleton.cs.meta │ │ │ ├── Util.meta │ │ │ ├── V1/ │ │ │ │ ├── Auth/ │ │ │ │ │ ├── SOAuthArgsV1.cs │ │ │ │ │ └── SOAuthArgsV1.cs.meta │ │ │ │ ├── Auth.meta │ │ │ │ ├── ChatCompleter/ │ │ │ │ │ ├── OpenAiChatCompleterV1.cs │ │ │ │ │ ├── OpenAiChatCompleterV1.cs.meta │ │ │ │ │ ├── SOChatCompletionArgsV1.cs │ │ │ │ │ └── SOChatCompletionArgsV1.cs.meta │ │ │ │ ├── ChatCompleter.meta │ │ │ │ ├── Completer/ │ │ │ │ │ ├── OpenAiCompleterV1.cs │ │ │ │ │ ├── OpenAiCompleterV1.cs.meta │ │ │ │ │ ├── SOCompletionArgsV1.cs │ │ │ │ │ └── SOCompletionArgsV1.cs.meta │ │ │ │ ├── Completer.meta │ │ │ │ ├── Gateway/ │ │ │ │ │ ├── OpenAiApiGatewayV1.cs │ │ │ │ │ └── OpenAiApiGatewayV1.cs.meta │ │ │ │ └── Gateway.meta │ │ │ └── V1.meta │ │ └── Unity.meta │ ├── Scripts.meta │ ├── openai.api.unity.asmdef │ └── openai.api.unity.asmdef.meta ├── Runtime.meta ├── Tests/ │ ├── Editor/ │ │ ├── Scripts/ │ │ │ ├── Core/ │ │ │ │ ├── V1/ │ │ │ │ │ ├── Models/ │ │ │ │ │ │ ├── CompletionRequestModelTests.cs │ │ │ │ │ │ └── CompletionRequestModelTests.cs.meta │ │ │ │ │ └── Models.meta │ │ │ │ └── V1.meta │ │ │ ├── Core.meta │ │ │ ├── Json/ │ │ │ │ ├── JsonDeserializerTests.cs │ │ │ │ ├── JsonDeserializerTests.cs.meta │ │ │ │ ├── LexicalAnalysis/ │ │ │ │ │ ├── JsonLexerTests.cs │ │ │ │ │ └── JsonLexerTests.cs.meta │ │ │ │ ├── LexicalAnalysis.meta │ │ │ │ ├── SyntacticAnalysis/ │ │ │ │ │ ├── JsonSyntaxAnalyzerTests.cs │ │ │ │ │ └── JsonSyntaxAnalyzerTests.cs.meta │ │ │ │ ├── SyntacticAnalysis.meta │ │ │ │ ├── UTJsonObjectTests.cs │ │ │ │ └── UTJsonObjectTests.cs.meta │ │ │ └── Json.meta │ │ ├── Scripts.meta │ │ ├── openai.api.unity.editor.tests.asmdef │ │ └── openai.api.unity.editor.tests.asmdef.meta │ ├── Editor.meta │ ├── Runtime/ │ │ ├── Scripts/ │ │ │ ├── Core/ │ │ │ │ ├── V1/ │ │ │ │ │ ├── V1BugTests.cs │ │ │ │ │ ├── V1BugTests.cs.meta │ │ │ │ │ ├── V1PlayTests.cs │ │ │ │ │ └── V1PlayTests.cs.meta │ │ │ │ └── V1.meta │ │ │ ├── Core.meta │ │ │ ├── Utility/ │ │ │ │ ├── TestManager.cs │ │ │ │ └── TestManager.cs.meta │ │ │ └── Utility.meta │ │ ├── Scripts.meta │ │ ├── openai.api.unity.tests.asmdef │ │ └── openai.api.unity.tests.asmdef.meta │ └── Runtime.meta ├── Tests.meta ├── package.json └── package.json.meta
SYMBOL INDEX (313 symbols across 76 files)
FILE: Editor/Scripts/Examples/EMExampleChatRuntimeScene.cs
class ExampleChatRuntimeScene (line 5) | public static class ExampleChatRuntimeScene
method OpenScene (line 9) | [MenuItem("OpenAi/Examples/Chat at Runtime")]
FILE: Editor/Scripts/Examples/EMExampleOpenAiApiRuntimeScene.cs
class ExampleOpenAiApiRuntimeScene (line 5) | public static class ExampleOpenAiApiRuntimeScene
method OpenScene (line 9) | [MenuItem("OpenAi/Examples/Completion at Runtime")]
FILE: Editor/Scripts/Examples/ExampleOpenAiApiUnityEditor.cs
class ExampleOpenAiApiUnityEditor (line 13) | public class ExampleOpenAiApiUnityEditor : EditorWindow
method ShowWindow (line 19) | [MenuItem("OpenAi/Examples/Completion In Editor Window")]
method OnGUI (line 25) | void OnGUI()
method DoEditorTask (line 50) | private async Task DoEditorTask(OpenAiApiV1 api)
FILE: Editor/Scripts/Unity/V1/Auth/SOAuthArgsV1Editor.cs
class OpenAiApiAuthArgsEditor (line 11) | [CustomEditor(typeof(SOAuthArgsV1))]
method OnEnable (line 17) | void OnEnable()
method OnInspectorGUI (line 23) | public override void OnInspectorGUI()
FILE: Editor/Scripts/Unity/V1/EMPrefabs.cs
class EMPrefabsV1 (line 8) | public static class EMPrefabsV1
method CreateGateway (line 10) | [MenuItem("OpenAi/V1/CreateGateway")]
method CreateCompleter (line 13) | [MenuItem("OpenAi/V1/CreateCompleter")]
method CreateChatCompleter (line 16) | [MenuItem("OpenAi/V1/CreateChatCompleter")]
method SpawnPrefab (line 20) | private static void SpawnPrefab(string name)
FILE: Runtime/Scripts/Api/Base/AApiResource.cs
class AApiResource (line 20) | public abstract class AApiResource<TParent> : IApiResource
method PopulateAuthHeaders (line 32) | public void PopulateAuthHeaders(UnityWebRequest client) => ParentResou...
method AApiResource (line 52) | public AApiResource(TParent parent)
method ConstructEndpoint (line 58) | public void ConstructEndpoint(StringBuilder sb)
method GetAsync (line 68) | protected async Task<ApiResult<TResponse>> GetAsync<TResponse>()
method GetCoroutine (line 78) | protected Coroutine GetCoroutine<TResponse>(MonoBehaviour mono, Action...
method DeleteAsync (line 101) | protected async Task<ApiResult> DeleteAsync()
method DeleteCoroutine (line 110) | protected Coroutine DeleteCoroutine(MonoBehaviour mono, Action<ApiResu...
method PostAsync (line 132) | protected async Task<ApiResult<TResponse>> PostAsync<TRequest, TRespon...
method PostCoroutine (line 144) | protected Coroutine PostCoroutine<TRequest, TResponse>(MonoBehaviour m...
method PostAsync_EventStream (line 167) | protected async Task PostAsync_EventStream<TRequest, TResponse>(TReque...
method PostCoroutine_EventStream (line 183) | protected Coroutine PostCoroutine_EventStream<TRequest, TResponse>(Mon...
method PostRequestAsync (line 206) | private async Task<UnityWebRequest> PostRequestAsync<TRequest>(TReques...
method GetRequestAsync (line 224) | private async Task<UnityWebRequest> GetRequestAsync()
method DeleteRequestAsync (line 232) | private async Task<UnityWebRequest> DeleteRequestAsync()
method ReadEventStreamAsync (line 240) | private async Task ReadEventStreamAsync<TResponse>(UnityWebRequest res...
method PostRequestCoroutine (line 273) | private IEnumerator PostRequestCoroutine<TRequest>(TRequest request, A...
method GetRequestCoroutine (line 282) | private IEnumerator GetRequestCoroutine(Action<UnityWebRequest> onResp...
method DeleteRequestCoroutine (line 290) | private IEnumerator DeleteRequestCoroutine(Action<UnityWebRequest> onR...
method PackResult (line 299) | private ApiResult<TResponse> PackResult<TResponse>(UnityWebRequest res...
method PackResult_RequestOnly (line 317) | private ApiResult PackResult_RequestOnly(UnityWebRequest response)
method AddJsonToUnityWebRequest (line 328) | private void AddJsonToUnityWebRequest(UnityWebRequest client, string j...
method UnpackResponseObject (line 336) | private TModel UnpackResponseObject<TModel>(string content)
FILE: Runtime/Scripts/Api/Base/ApiResult.cs
class ApiResult (line 8) | public class ApiResult
class ApiResult (line 25) | public class ApiResult<TResult> : ApiResult
FILE: Runtime/Scripts/Api/Base/IApiResource.cs
type IApiResource (line 10) | public interface IApiResource
method ConstructEndpoint (line 33) | void ConstructEndpoint(StringBuilder sb);
method PopulateAuthHeaders (line 39) | void PopulateAuthHeaders(UnityWebRequest client);
FILE: Runtime/Scripts/Api/Base/OpenAiApiException.cs
class OpenAiApiException (line 11) | public class OpenAiApiException : Exception
method OpenAiApiException (line 21) | public OpenAiApiException(string message, Object context = null, Exce...
method LogAsError (line 29) | public void LogAsError()
FILE: Runtime/Scripts/Api/Utility/EChatModelNames/EChatModelName.cs
class UTEChatModelName (line 5) | public static class UTEChatModelName
method GetModelName (line 7) | public static string GetModelName(EEngineName name)
FILE: Runtime/Scripts/Api/Utility/EngineNames/EEngineName.cs
type EEngineName (line 5) | public enum EEngineName
class UTEEngineName (line 25) | public static class UTEEngineName
method GetEngineName (line 27) | public static string GetEngineName(EEngineName name)
FILE: Runtime/Scripts/Api/Utility/EngineNames/UTEngineNames.cs
class UTModelNames (line 3) | public static class UTModelNames
FILE: Runtime/Scripts/Api/Utility/StringOrArray.cs
class StringOrArray (line 10) | public class StringOrArray
method StringOrArray (line 19) | public StringOrArray(params string[] strings)
method Resolve (line 37) | public object Resolve()
method FromJson (line 47) | public void FromJson(JsonObject json)
FILE: Runtime/Scripts/Api/Utility/UnityWebRequestAsync/UnityWebRequestAwaiter.cs
class UnityWebRequestAwaiter (line 14) | public class UnityWebRequestAwaiter : INotifyCompletion
method UnityWebRequestAwaiter (line 19) | public UnityWebRequestAwaiter(UnityWebRequestAsyncOperation asyncOp)
method GetResult (line 27) | public void GetResult() { }
method OnCompleted (line 29) | public void OnCompleted(Action continuation)
method OnRequestCompleted (line 34) | private void OnRequestCompleted(AsyncOperation obj)
FILE: Runtime/Scripts/Api/Utility/UnityWebRequestAsync/UnityWebRequestExtensions.cs
class ExtensionMethods (line 10) | public static class ExtensionMethods
method GetAwaiter (line 12) | public static UnityWebRequestAwaiter GetAwaiter(this UnityWebRequestAs...
FILE: Runtime/Scripts/Api/V1/Api/Chat/ChatResourceV1.cs
class ChatResourceV1 (line 12) | public class ChatResourceV1 : AApiResource<OpenAiApiV1>
method ChatResourceV1 (line 21) | public ChatResourceV1(OpenAiApiV1 parent) : base(parent) { Completions...
FILE: Runtime/Scripts/Api/V1/Api/Chat/Completions/ChatCompletionRequestV1.cs
class ChatCompletionRequestV1 (line 11) | public class ChatCompletionRequestV1 : AModelV1
method FromJson (line 74) | public override void FromJson(JsonObject json)
method ToJson (line 133) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Api/Chat/Completions/ChatCompletionsResourceV1.cs
class ChatCompletionsResourceV1 (line 12) | public class ChatCompletionsResourceV1 : AApiResource<ChatResourceV1>
method ChatCompletionsResourceV1 (line 21) | public ChatCompletionsResourceV1(ChatResourceV1 parent) : base(parent)...
method CreateChatCompletionAsync (line 28) | public async Task<ApiResult<ChatCompletionV1>> CreateChatCompletionAsy...
method CreateChatCompletionCoroutine (line 37) | public Coroutine CreateChatCompletionCoroutine(MonoBehaviour mono, Cha...
method CreateChatCompletionAsync_EventStream (line 48) | public async Task CreateChatCompletionAsync_EventStream(ChatCompletion...
method CreateChatCompletionCoroutine_EventStream (line 59) | public Coroutine CreateChatCompletionCoroutine_EventStream(MonoBehavio...
FILE: Runtime/Scripts/Api/V1/Api/Engines/Engine/Completions/CompletionRequestV1.cs
class CompletionRequestV1 (line 11) | public class CompletionRequestV1 : AModelV1
method FromJson (line 79) | public override void FromJson(JsonObject json)
method ToJson (line 138) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Api/Engines/Engine/Completions/CompletionsResourceV1.cs
class CompletionsResourceV1 (line 12) | public class CompletionsResourceV1 : AApiResource<EngineResourceV1>
method CompletionsResourceV1 (line 21) | public CompletionsResourceV1(EngineResourceV1 parent) : base(parent) { }
method CreateCompletionAsync (line 28) | public async Task<ApiResult<CompletionV1>> CreateCompletionAsync(Compl...
method CreateCompletionCoroutine (line 38) | public Coroutine CreateCompletionCoroutine(MonoBehaviour mono, Complet...
method CreateCompletionAsync_EventStream (line 50) | public async Task CreateCompletionAsync_EventStream(CompletionRequestV...
method CreateCompletionCoroutine_EventStream (line 61) | public Coroutine CreateCompletionCoroutine_EventStream(MonoBehaviour m...
FILE: Runtime/Scripts/Api/V1/Api/Engines/Engine/EngineResourceV1.cs
class EngineResourceV1 (line 11) | public class EngineResourceV1 : AApiResource<EnginesResourceV1>
method EngineResourceV1 (line 27) | public EngineResourceV1(EnginesResourceV1 parent, string engineId) : b...
method RetrieveEngineAsync (line 36) | public async Task<ApiResult<EngineV1>> RetrieveEngineAsync() => await ...
method RetrieveEngineCoroutine (line 41) | public Coroutine RetrieveEngineCoroutine(MonoBehaviour mono, Action<Ap...
FILE: Runtime/Scripts/Api/V1/Api/Engines/EnginesResourceV1.cs
class EnginesResourceV1 (line 11) | public class EnginesResourceV1 : AApiResource<OpenAiApiV1>
method EnginesResourceV1 (line 20) | public EnginesResourceV1(OpenAiApiV1 parent) : base(parent) { }
method Engine (line 27) | public EngineResourceV1 Engine(string engineId) => new EngineResourceV...
method ListEnginesAsync (line 32) | public async Task<ApiResult<EnginesListV1>> ListEnginesAsync() => awai...
method ListEnginesCoroutine (line 37) | public Coroutine ListEnginesCoroutine(MonoBehaviour mono, Action<ApiRe...
FILE: Runtime/Scripts/Api/V1/Api/Files/File/FileResourceV1.cs
class FileResourceV1 (line 11) | public class FileResourceV1 : AApiResource<FilesResourceV1>
method FileResourceV1 (line 22) | public FileResourceV1(FilesResourceV1 parent, string fileId) : base(pa...
method RetrieveEngineAsync (line 30) | public async Task<ApiResult<FileV1>> RetrieveEngineAsync() => await Ge...
method RetrieveEngineCoroutine (line 35) | public Coroutine RetrieveEngineCoroutine(MonoBehaviour mono, Action<Ap...
method DeleteFileAsync (line 40) | public async Task<ApiResult> DeleteFileAsync() => await DeleteAsync();
method DeleteFileCoroutine (line 45) | public Coroutine DeleteFileCoroutine(MonoBehaviour mono, Action<ApiRes...
FILE: Runtime/Scripts/Api/V1/Api/Files/FilesResourceV1.cs
class FilesResourceV1 (line 11) | public class FilesResourceV1 : AApiResource<OpenAiApiV1>
method FilesResourceV1 (line 20) | public FilesResourceV1(OpenAiApiV1 parent) : base(parent) { }
method ListFilesAsync (line 32) | public async Task<ApiResult<FilesListV1>> ListFilesAsync() => await Ge...
method ListFilesCoroutine (line 37) | public Coroutine ListFilesCoroutine(MonoBehaviour mono, Action<ApiResu...
FILE: Runtime/Scripts/Api/V1/Models/AnswerV1.cs
class AnswerV1 (line 9) | public class AnswerV1 : AModelV1
method FromJson (line 18) | public override void FromJson(JsonObject json)
method ToJson (line 47) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/ChatChoiceV1.cs
class ChatChoiceV1 (line 11) | public class ChatChoiceV1 : AModelV1
method ToJson (line 34) | public override string ToJson()
method FromJson (line 51) | public override void FromJson(JsonObject jsonObj)
FILE: Runtime/Scripts/Api/V1/Models/ChatCompletionV1.cs
class ChatCompletionV1 (line 12) | public class ChatCompletionV1 : AModelV1
method ToJson (line 45) | public override string ToJson()
method FromJson (line 62) | public override void FromJson(JsonObject jsonObj)
FILE: Runtime/Scripts/Api/V1/Models/ChoiceV1.cs
class ChoiceV1 (line 10) | public class ChoiceV1 : AModelV1
method ToJson (line 33) | public override string ToJson()
method FromJson (line 48) | public override void FromJson(JsonObject jsonObj)
FILE: Runtime/Scripts/Api/V1/Models/ClassificationV1.cs
class ClassificationV1 (line 9) | public class ClassificationV1 : AModelV1
method FromJson (line 42) | public override void FromJson(JsonObject json)
method ToJson (line 72) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/CompletionV1.cs
class CompletionV1 (line 11) | public class CompletionV1 : AModelV1
method ToJson (line 39) | public override string ToJson()
method FromJson (line 55) | public override void FromJson(JsonObject jsonObj)
FILE: Runtime/Scripts/Api/V1/Models/DeltaV1.cs
class DeltaV1 (line 11) | public class DeltaV1 : AModelV1
method ToJson (line 24) | public override string ToJson()
method FromJson (line 37) | public override void FromJson(JsonObject jsonObj)
FILE: Runtime/Scripts/Api/V1/Models/EngineV1.cs
class EngineV1 (line 8) | public class EngineV1 : AModelV1
method FromJson (line 31) | public override void FromJson(JsonObject json)
method ToJson (line 54) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/EnginesListV1.cs
class EnginesListV1 (line 8) | public class EnginesListV1 : AModelV1
method FromJson (line 21) | public override void FromJson(JsonObject json)
method ToJson (line 38) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/FileV1.cs
class FileV1 (line 8) | public class FileV1 : AModelV1
method FromJson (line 41) | public override void FromJson(JsonObject json)
method ToJson (line 71) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/FilesListV1.cs
class FilesListV1 (line 8) | public class FilesListV1 : AModelV1
method FromJson (line 21) | public override void FromJson(JsonObject json)
method ToJson (line 38) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/LabeledExampleV1.cs
class LabeledExampleV1 (line 12) | public class LabeledExampleV1 : AModelV1
method LabeledExampleV1 (line 24) | public LabeledExampleV1(string example, string label)
method LabeledExampleV1 (line 30) | public LabeledExampleV1() { }
method FromJson (line 33) | public override void FromJson(JsonObject json)
method ToJson (line 43) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/MessageV1.cs
class MessageV1 (line 11) | [System.Serializable]
type MessageRole (line 14) | public enum MessageRole { system, user, assistant };
method ToJson (line 27) | public override string ToJson()
method FromJson (line 40) | public override void FromJson(JsonObject jsonObj)
FILE: Runtime/Scripts/Api/V1/Models/QuestionAnswerPairV1.cs
class QuestionAnswerPairV1 (line 12) | public class QuestionAnswerPairV1 : AModelV1
method QuestionAnswerPairV1 (line 24) | public QuestionAnswerPairV1(string question, string answer)
method QuestionAnswerPairV1 (line 30) | public QuestionAnswerPairV1() { }
method FromJson (line 33) | public override void FromJson(JsonObject json)
method ToJson (line 43) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/SearchListV1.cs
class SearchListV1 (line 8) | public class SearchListV1 : AModelV1
method FromJson (line 21) | public override void FromJson(JsonObject json)
method ToJson (line 44) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/SearchV1.cs
class SearchV1 (line 8) | public class SearchV1 : AModelV1
method FromJson (line 26) | public override void FromJson(JsonObject json)
method ToJson (line 46) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/SelectedDocumentV1.cs
class SelectedDocumentV1 (line 8) | public class SelectedDocumentV1 : AModelV1
method FromJson (line 21) | public override void FromJson(JsonObject json)
method ToJson (line 38) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/SelectedExampleV1.cs
class SelectedExampleV1 (line 12) | public class SelectedExampleV1 : AModelV1
method FromJson (line 30) | public override void FromJson(JsonObject json)
method ToJson (line 50) | public override string ToJson()
FILE: Runtime/Scripts/Api/V1/Models/UsageV1.cs
class UsageV1 (line 11) | [Serializable]
method ToJson (line 30) | public override string ToJson()
method FromJson (line 44) | public override void FromJson(JsonObject jsonObj)
FILE: Runtime/Scripts/Api/V1/OpenAiApiV1.cs
class OpenAiApiV1 (line 14) | public class OpenAiApiV1 : IApiResource
method OpenAiApiV1 (line 46) | public OpenAiApiV1(SAuthArgsV1 authArgs)
method ConstructEndpoint (line 55) | public void ConstructEndpoint(StringBuilder sb)
method PopulateAuthHeaders (line 61) | public void PopulateAuthHeaders(UnityWebRequest client)
FILE: Runtime/Scripts/Api/V1/SAuthArgsV1.cs
type SAuthArgsV1 (line 10) | public struct SAuthArgsV1 : IJsonable
method FromJson (line 23) | public void FromJson(JsonObject jsonObj)
method ToJson (line 42) | public string ToJson()
FILE: Runtime/Scripts/Api/V1/_abstract/AModelV1.cs
class AModelV1 (line 8) | public abstract class AModelV1 : IJsonable
method FromJson (line 11) | public abstract void FromJson(JsonObject json);
method ToJson (line 14) | public abstract string ToJson();
method ArrayFromJson (line 16) | public static T[] ArrayFromJson<T>(JsonObject parent) where T : AModel...
FILE: Runtime/Scripts/Examples/ExampleChatRuntime.cs
class ExampleChatRuntime (line 7) | public class ExampleChatRuntime : MonoBehaviour
method DoApiCompletion (line 13) | public void DoApiCompletion()
method DoAddToDialogue (line 33) | public void DoAddToDialogue()
method QuitApp (line 42) | public void QuitApp()
FILE: Runtime/Scripts/Examples/ExampleOpenAiApiRuntime.cs
class ExampleOpenAiApiRuntime (line 7) | public class ExampleOpenAiApiRuntime : MonoBehaviour
method DoApiCompletion (line 12) | public void DoApiCompletion()
method QuitApp (line 32) | public void QuitApp()
FILE: Runtime/Scripts/Json/Deserialization/JsonDeserializer.cs
class JsonDeserializer (line 7) | public static class JsonDeserializer
method FromJson (line 9) | public static JsonObject FromJson(string json)
FILE: Runtime/Scripts/Json/Deserialization/JsonObject.cs
class JsonObject (line 5) | public class JsonObject
FILE: Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/BaseAnalyzer.cs
class BaseAnalyzer (line 6) | public class BaseAnalyzer : ICharacterAnalyzer
method Analyze (line 17) | public ECharacterAnalyzerResponse Analyze(char c, out ICharacterAnalyz...
FILE: Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/ECharacterAnalyzerResponse.cs
type ECharacterAnalyzerResponse (line 12) | public enum ECharacterAnalyzerResponse
FILE: Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/ICharacterAnalyzer.cs
type ICharacterAnalyzer (line 6) | public interface ICharacterAnalyzer
method Analyze (line 14) | ECharacterAnalyzerResponse Analyze(char c, out ICharacterAnalyzer enga...
FILE: Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/StringAnalyzer.cs
class StringAnalyzer (line 6) | public class StringAnalyzer : ICharacterAnalyzer
method Analyze (line 14) | public ECharacterAnalyzerResponse Analyze(char c, out ICharacterAnalyz...
FILE: Runtime/Scripts/Json/Deserialization/LexicalAnalysis/JsonLexer.cs
class JsonLexer (line 9) | public static class JsonLexer
method Lex (line 16) | public static string[] Lex(string json)
FILE: Runtime/Scripts/Json/Deserialization/SyntacticAnalysis/EJsonType.cs
type EJsonType (line 6) | public enum EJsonType
FILE: Runtime/Scripts/Json/Deserialization/SyntacticAnalysis/JsonSyntaxAnalyzer.cs
class JsonSyntaxAnalyzer (line 9) | public static class JsonSyntaxAnalyzer
method Parse (line 16) | public static JsonObject Parse(string[] syntax)
method ParseObject (line 37) | private static int ParseObject(JsonObject parent, string[] syntax, int...
method ParseList (line 55) | private static int ParseList(JsonObject parent, string[] syntax, int i...
method ParseValue (line 66) | private static int ParseValue(JsonObject parent, string[] syntax, int ...
method ParseListValue (line 93) | public static int ParseListValue(JsonObject parent, string[] syntax, i...
FILE: Runtime/Scripts/Json/Deserialization/UTJsonDeserialization.cs
class UTJsonDeserialization (line 7) | public static class UTJsonDeserialization
method AsStringArray (line 9) | public static string[] AsStringArray(this JsonObject json)
FILE: Runtime/Scripts/Json/IJsonable.cs
type IJsonable (line 6) | public interface IJsonable
method ToJson (line 12) | string ToJson();
method FromJson (line 18) | void FromJson(JsonObject json);
FILE: Runtime/Scripts/Json/OpenAiJsonException.cs
class OpenAiJsonException (line 9) | public class OpenAiJsonException : Exception
method OpenAiJsonException (line 16) | public OpenAiJsonException(string message, Exception innerException = ...
method LogAsError (line 23) | public void LogAsError()
FILE: Runtime/Scripts/Json/Serialization/JsonBuilder.cs
class JsonBuilder (line 13) | public class JsonBuilder
method JsonBuilder (line 23) | public JsonBuilder() { }
method StartObject (line 28) | public void StartObject() => _sb.Append("{");
method EndObject (line 33) | public void EndObject() => _sb.Append("}");
method StartList (line 38) | public void StartList() => _sb.Append("[");
method EndList (line 43) | public void EndList() => _sb.Append("]");
method Add (line 50) | public void Add(string name, int? val) => AddSimpleObject(name, val);
method Add (line 55) | public void Add(string name, float? val)
method Add (line 68) | public void Add(string name, bool? val)
method Add (line 83) | public void Add(string name, string val)
method AddSimpleObject (line 97) | public void AddSimpleObject(string name, object val)
method Add (line 111) | public void Add(string name, StringOrArray val)
method Add (line 149) | public void Add(string name, Dictionary<string, int> dict)
method AddArray (line 173) | public void AddArray<T>(string name, T[] value) where T: IJsonable
method AddArray (line 197) | public void AddArray(string name, string[] value)
method AddArray (line 219) | public void AddArray(string[] values)
method ToString (line 235) | public override string ToString()
method GetJsonString (line 240) | private string GetJsonString(string s) => $"\"{ProcessString(s)}\"";
method ProcessString (line 242) | private string ProcessString(string json)
method ProcessJsonStringCharacter (line 254) | private string ProcessJsonStringCharacter(char character)
FILE: Runtime/Scripts/Unity/Util/AMonoSingleton.cs
class AMonoSingleton (line 11) | public abstract class AMonoSingleton<T> : MonoBehaviour
method TryCreateSingleton (line 43) | public static bool TryCreateSingleton(T caller, ref T instanceVar)
method OnApplicationQuit (line 79) | private void OnApplicationQuit() => AppQuitting = true;
method Awake (line 81) | protected void Awake() => TryCreateSingleton((T)this, ref _instance);
FILE: Runtime/Scripts/Unity/V1/Auth/SOAuthArgsV1.cs
class SOAuthArgsV1 (line 19) | [CreateAssetMenu(fileName = "AuthArgsV1", menuName = "OpenAi/Unity/V1/Au...
method ResolveAuth (line 41) | public SAuthArgsV1 ResolveAuth()
method ResolveLocalFileAuthArgs (line 52) | private SAuthArgsV1 ResolveLocalFileAuthArgs()
type EAuthProvisionMethod (line 79) | public enum EAuthProvisionMethod
FILE: Runtime/Scripts/Unity/V1/ChatCompleter/OpenAiChatCompleterV1.cs
class OpenAiChatCompleterV1 (line 14) | public class OpenAiChatCompleterV1 : AMonoSingleton<OpenAiChatCompleterV1>
method Start (line 49) | public void Start()
method Complete (line 65) | public Coroutine Complete(string prompt, Action<string> onResponse, Ac...
method Complete (line 76) | public Coroutine Complete(Action<string> onResponse, Action<UnityWebRe...
method HandleResponse (line 88) | private void HandleResponse(ApiResult<ChatCompletionV1> result, Action...
FILE: Runtime/Scripts/Unity/V1/ChatCompleter/SOChatCompletionArgsV1.cs
class SOChatCompletionArgsV1 (line 11) | [CreateAssetMenu(fileName = "ChatCompletionArgs", menuName = "OpenAi/Uni...
method AsChatCompletionRequest (line 44) | public ChatCompletionRequestV1 AsChatCompletionRequest()
FILE: Runtime/Scripts/Unity/V1/Completer/OpenAiCompleterV1.cs
class OpenAiCompleterV1 (line 14) | public class OpenAiCompleterV1 : AMonoSingleton<OpenAiCompleterV1>
method Start (line 38) | public void Start()
method Complete (line 54) | public Coroutine Complete(string prompt, Action<string> onResponse, Ac...
method HandleResponse (line 64) | private void HandleResponse(ApiResult<CompletionV1> result, Action<str...
FILE: Runtime/Scripts/Unity/V1/Completer/SOCompletionArgsV1.cs
class SOCompletionArgsV1 (line 10) | [CreateAssetMenu(fileName = "CompletionArgs", menuName = "OpenAi/Unity/V...
method AsCompletionRequest (line 31) | public CompletionRequestV1 AsCompletionRequest()
FILE: Runtime/Scripts/Unity/V1/Gateway/OpenAiApiGatewayV1.cs
class OpenAiApiGatewayV1 (line 11) | public class OpenAiApiGatewayV1 : AMonoSingleton<OpenAiApiGatewayV1>
method Start (line 35) | void Start()
method InitializeApi (line 43) | public void InitializeApi()
method ClearApi (line 59) | public void ClearApi()
FILE: Tests/Editor/Scripts/Core/V1/Models/CompletionRequestModelTests.cs
class CompletionRequestModelTests (line 5) | class CompletionRequestModelTests
method ToJsonBase (line 7) | [Test]
FILE: Tests/Editor/Scripts/Json/JsonDeserializerTests.cs
class JsonDeserializerTests (line 9) | public class JsonDeserializerTests
method DeserializeTestEmpty (line 12) | [Test]
method DeserializeTestBasic (line 22) | [Test]
method DeserializeTestComplexe (line 34) | [Test]
FILE: Tests/Editor/Scripts/Json/LexicalAnalysis/JsonLexerTests.cs
class JsonLexerTests (line 7) | public class JsonLexerTests
method LexerTestSimpleObject (line 9) | [Test]
method LexerTestSimpleList (line 20) | [Test]
method LexerTestListOfObjects (line 31) | [Test]
method LexerTestObjectWithListValue (line 42) | [Test]
method LexerTestOpenAiExample (line 54) | [Test]
FILE: Tests/Editor/Scripts/Json/SyntacticAnalysis/JsonSyntaxAnalyzerTests.cs
class SyntaxAnalyzerTests (line 9) | class SyntaxAnalyzerTests
method AnalyzeTestEmptyObject (line 11) | [Test]
method AnalyzeTestSimpleObject (line 25) | [Test]
method AnalyzeTestSimpleList (line 41) | [Test]
method AnalyzeTestListOfObjects (line 55) | [Test]
method AnalyzeTestWithListValue (line 81) | [Test]
method AnalyzeTestOpenAiExample (line 99) | [Test]
FILE: Tests/Editor/Scripts/Json/UTJsonObjectTests.cs
class UTJsonObjectTests (line 9) | public static class UTJsonObjectTests
method AssertRootIsObject (line 15) | public static void AssertRootIsObject(this JsonObject obj)
method AssertRootIsList (line 26) | public static void AssertRootIsList(this JsonObject obj)
method AssertValue (line 41) | public static void AssertValue(this JsonObject obj, string name, strin...
method AssertList (line 56) | public static void AssertList(this JsonObject obj, int count)
method AssertListWithSimpleValues (line 71) | public static void AssertListWithSimpleValues(this JsonObject obj, str...
method AssertListElementIsObject (line 93) | public static void AssertListElementIsObject(this JsonObject obj)
method AssertIsValidJsonObjectArray (line 103) | public static void AssertIsValidJsonObjectArray(this List<JsonObject> ...
FILE: Tests/Runtime/Scripts/Core/V1/V1BugTests.cs
class V1BugTests (line 14) | public class V1BugTests
method OneTimeSetup (line 19) | [OneTimeSetUp]
method SetUp (line 22) | [SetUp]
method Issue007_EscapeCharacterBug (line 25) | [UnityTest]
method Issue010_CompleterLoggingTwice (line 40) | [UnityTest]
method Issue013_MultilineStringBug (line 83) | [UnityTest]
FILE: Tests/Runtime/Scripts/Core/V1/V1PlayTests.cs
class V1PlayTests (line 13) | public class V1PlayTests
method OneTimeSetup (line 18) | [OneTimeSetUp]
method SetUp (line 21) | [SetUp]
method EnginesListCoroutine (line 25) | [UnityTest]
method EnginesListAsync (line 50) | [UnityTest]
method EngineRetrieveCoroutine (line 69) | [UnityTest]
method EngineRetrieveAsync (line 83) | [UnityTest]
method Completions_TestAllRequestParamsString (line 102) | [UnityTest]
method Completions_TestAllRequestParamsArray (line 134) | [UnityTest]
method CompletionsCreateCoroutine (line 166) | [UnityTest]
method CompletionsCreateAsync (line 180) | [UnityTest]
method CompletionsCreateCoroutine_EventStream (line 194) | [UnityTest]
method CompletionsCreateAsync_EventStream (line 227) | [UnityTest]
method ChatCompletions_TestAllRequestParamsString (line 256) | [UnityTest]
method ChatCompletions_TestAllRequestParamsArray (line 294) | [UnityTest]
method ChatCompletionsCreateCoroutine (line 332) | [UnityTest]
method ChatCompletionsCreateAsync (line 360) | [UnityTest]
method ChatCompletionsCreateCoroutine_EventStream (line 386) | [UnityTest]
method ChatCompletionsCreateAsync_EventStream (line 432) | [UnityTest]
method ChatCompletionsCreateAsync_Multiple (line 473) | [UnityTest]
FILE: Tests/Runtime/Scripts/Utility/TestManager.cs
class TestManager (line 9) | public class TestManager : AMonoSingleton<TestManager>
method CleanAndProvideApi (line 13) | public OpenAiApiV1 CleanAndProvideApi()
method LogTest (line 29) | public void LogTest(string testDescription, bool result)
method TestApiResultSuccess (line 41) | public bool TestApiResultSuccess(ApiResult result)
method TestApiResultHasResponse (line 52) | public bool TestApiResultHasResponse<T>(ApiResult<T> result)
Condensed preview — 252 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (401K chars).
[
{
"path": ".github/scripts/prChangelog_NoAuth.py",
"chars": 1442,
"preview": "# Gets the PR associated with a commit and then writes all of the commit messages to a changelog\n# sys.argv[1] = reponam"
},
{
"path": ".github/scripts/versionUpdater.py",
"chars": 367,
"preview": "import json\nimport sys\nimport os\n\npath = sys.argv[1]\n\noutjson = {}\nnewVersion = \"\" \n\nwith open(path, 'r') as f:\n j = "
},
{
"path": ".github/workflows/unitypackage.yml",
"chars": 2489,
"preview": "name: unitypackage\n\non:\n push:\n branches:\n - main\n paths-ignore:\n - './CHANGELOG.md'\n - './package"
},
{
"path": "CHANGELOG.md",
"chars": 116,
"preview": "* version specific UnityWebRequest.Post | UnityWebRequest.PostWwwForm\n* Merge branch 'hexthedev:main' into uwr_2022\n"
},
{
"path": "CHANGELOG.md.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: 79adca46a4928e1469b0b75ab7f94ae6\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Documentation/1_Overview.md",
"chars": 2317,
"preview": "# Context\nThe `OpenAi Api Unity` library is a wrapper for the OpenAI Api.\n\nThe following technical decisions were made d"
},
{
"path": "Documentation/1_Overview.md.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: 68aabfede4eeba444abc34db5c63b1e7\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Documentation/2_Authentication.md",
"chars": 1425,
"preview": "# Context\nThe `OpenAi Api` is currently in beta. In order to get access you need a private api key which is aquired by s"
},
{
"path": "Documentation/2_Authentication.md.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: 6af7f80e91631e244887f81043fc5a06\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Documentation/3_ApiCalls.md",
"chars": 6726,
"preview": "# Context\nThe `OpenAi Api Unity` library is a wrapper for REST API calls made to the OpenAi Api. REST API calls are HTTP"
},
{
"path": "Documentation/3_ApiCalls.md.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: bc00ea052f096d8409eb252f4855e8ba\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Documentation/4_JsonSerialization.md",
"chars": 605,
"preview": "# Context\nTo keep `OpenAi Api Unity` portable, it was important to reduce dependencies as much as possible. Making the l"
},
{
"path": "Documentation/4_JsonSerialization.md.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: fe8e132778ca03748b12aab30ca10cfe\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Documentation.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 8bc73d1c9ca97e54cbe2c98a632c400a\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Editor/Scripts/Examples/EMExampleChatRuntimeScene.cs",
"chars": 938,
"preview": "using UnityEditor;\nusing UnityEditor.SceneManagement;\nusing UnityEngine;\n\npublic static class ExampleChatRuntimeScene\n{"
},
{
"path": "Editor/Scripts/Examples/EMExampleChatRuntimeScene.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: e0a27e5aef073284da820f4ce2ced1f4\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Editor/Scripts/Examples/EMExampleOpenAiApiRuntimeScene.cs",
"chars": 954,
"preview": "using UnityEditor;\nusing UnityEditor.SceneManagement;\nusing UnityEngine;\n\npublic static class ExampleOpenAiApiRuntimeSc"
},
{
"path": "Editor/Scripts/Examples/EMExampleOpenAiApiRuntimeScene.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 93f30114c6062d94695cfb919c9faebd\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Editor/Scripts/Examples/ExampleOpenAiApiUnityEditor.cs",
"chars": 2061,
"preview": "// MyEditor.cs\nusing OpenAi.Api.V1;\nusing OpenAi.Unity.V1;\n\nusing System.Threading.Tasks;\n\nusing UnityEditor;\n\nusing Un"
},
{
"path": "Editor/Scripts/Examples/ExampleOpenAiApiUnityEditor.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: cbe89ff476c953f4990fab5f5bf4c640\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Editor/Scripts/Examples.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 02674ce6ed1d7ed4a84d3c6d31346b72\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Editor/Scripts/Unity/V1/Auth/SOAuthArgsV1Editor.cs",
"chars": 1745,
"preview": "using OpenAi.Unity.V1;\n\nusing UnityEditor;\n\nusing UnityEngine;\n\nusing static OpenAi.Unity.V1.SOAuthArgsV1;\n\nnamespace O"
},
{
"path": "Editor/Scripts/Unity/V1/Auth/SOAuthArgsV1Editor.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 3f6e6a6d360308d42817d969ae55bd3f\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Editor/Scripts/Unity/V1/Auth.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 5805db06a168eba4a9d18cd186ee00d8\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Editor/Scripts/Unity/V1/EMPrefabs.cs",
"chars": 1258,
"preview": "using UnityEditor;\n\nusing UnityEngine;\nusing UnityEngine.SceneManagement;\n\nnamespace OpenAi.Unity.V1\n{\n public stati"
},
{
"path": "Editor/Scripts/Unity/V1/EMPrefabs.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 50dc49b27bd81d54aadcda8893587046\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Editor/Scripts/Unity/V1.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 305f7cea76954a5418ef8d00bf990e9e\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Editor/Scripts/Unity.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: e7082c633e69c3e40a25864f088e5f39\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Editor/Scripts.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: d0e98a06002e536468e9c41eca65239c\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Editor/openai.api.unity.editor.asmdef",
"chars": 406,
"preview": "{\n \"name\": \"openai.api.unity.editor\",\n \"references\": [\n \"GUID:762faf06f60fab647b9b71ae958fdf20\"\n ],\n "
},
{
"path": "Editor/openai.api.unity.editor.asmdef.meta",
"chars": 166,
"preview": "fileFormatVersion: 2\nguid: 58a743fc042d1cc4bacc5a05c82a03f9\nAssemblyDefinitionImporter:\n externalObjects: {}\n userData"
},
{
"path": "Editor.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: b899e02a35d43fb478005ecddced2557\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "License.md",
"chars": 1103,
"preview": "MIT License\n\nCopyright (c) 2020 James McCafferty\n\nPermission is hereby granted, free of charge, to any person obtaining "
},
{
"path": "License.md.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: 46c8397f0ceee1d459015910980c4a2e\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "README.md",
"chars": 5636,
"preview": "**WARNING**: This project is officially dead. No updates will come, and as such I moved it to the archived state. If mor"
},
{
"path": "README.md.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: c0d42e9c4461c4b40ae3b624a4de9661\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Runtime/Config/DefaultAuthArgsV1.asset",
"chars": 455,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Runtime/Config/DefaultAuthArgsV1.asset.meta",
"chars": 182,
"preview": "fileFormatVersion: 2\nguid: 6d0ce71886a13d44a9693a5e31c0a754\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Runtime/Config/DefaultChatCompletionArgs.asset",
"chars": 550,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Runtime/Config/DefaultChatCompletionArgs.asset.meta",
"chars": 182,
"preview": "fileFormatVersion: 2\nguid: 3064ae573dfd1aa45bfc201f2bc5f0ed\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Runtime/Config/DefaultCompletionArgs.asset",
"chars": 531,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Runtime/Config/DefaultCompletionArgs.asset.meta",
"chars": 182,
"preview": "fileFormatVersion: 2\nguid: 672d04ddb1f852449bbdd712933b43f8\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Runtime/Config.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: fac516003fa24e448a19637f26126859\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Prefabs/OpenAiApiGatewayV1.prefab",
"chars": 1397,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!1 &2965647775477036486\nGameObject:\n m_ObjectHideFlags: 0\n m_Correspond"
},
{
"path": "Runtime/Prefabs/OpenAiApiGatewayV1.prefab.meta",
"chars": 154,
"preview": "fileFormatVersion: 2\nguid: 15d84929ed54ded40904bb85c13f5b87\nPrefabImporter:\n externalObjects: {}\n userData: \n assetBu"
},
{
"path": "Runtime/Prefabs/OpenAiChatCompleterV1.prefab",
"chars": 1479,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!1 &2692144715385115183\nGameObject:\n m_ObjectHideFlags: 0\n m_Correspond"
},
{
"path": "Runtime/Prefabs/OpenAiChatCompleterV1.prefab.meta",
"chars": 154,
"preview": "fileFormatVersion: 2\nguid: 4e6ec076fabc0494db4fa5402d517a9f\nPrefabImporter:\n externalObjects: {}\n userData: \n assetBu"
},
{
"path": "Runtime/Prefabs/OpenAiCompleterV1.prefab",
"chars": 1461,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!1 &8905070302076984395\nGameObject:\n m_ObjectHideFlags: 0\n m_Correspond"
},
{
"path": "Runtime/Prefabs/OpenAiCompleterV1.prefab.meta",
"chars": 154,
"preview": "fileFormatVersion: 2\nguid: f28446e696573d2418d2a68633c4a3b3\nPrefabImporter:\n externalObjects: {}\n userData: \n assetBu"
},
{
"path": "Runtime/Prefabs.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 286c91b0d5867e144a3e5bca108536f0\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scenes/ExampleChatRuntimeScene.unity",
"chars": 80744,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!29 &1\nOcclusionCullingSettings:\n m_ObjectHideFlags: 0\n serializedVersi"
},
{
"path": "Runtime/Scenes/ExampleChatRuntimeScene.unity.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 0d4eb4ed72ff417418747843458b9fd2\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Runtime/Scenes/ExampleOpenAiApiRuntimeScene.unity",
"chars": 36363,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!29 &1\nOcclusionCullingSettings:\n m_ObjectHideFlags: 0\n serializedVersi"
},
{
"path": "Runtime/Scenes/ExampleOpenAiApiRuntimeScene.unity.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 725f21f739d61fd47829ba2893d9c60f\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Runtime/Scenes.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 8439a2f9f61f4044dadc2eba83e4b910\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/Base/AApiResource.cs",
"chars": 13492,
"preview": "using OpenAi.Json;\n\nusing System;\nusing System.Collections;\nusing System.IO;\nusing System.Text;\nusing System.Threading.T"
},
{
"path": "Runtime/Scripts/Api/Base/AApiResource.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: e39588fc3ace7674abd12ac0f6d7b8a8\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/Base/ApiResult.cs",
"chars": 849,
"preview": "using UnityEngine.Networking;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// A result of an api call\n /// </su"
},
{
"path": "Runtime/Scripts/Api/Base/ApiResult.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 0fa1c3e1c2e076e41abbd23c265754aa\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/Base/IApiResource.cs",
"chars": 1210,
"preview": "using System.Text;\n\nusing UnityEngine.Networking;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Represents an API"
},
{
"path": "Runtime/Scripts/Api/Base/IApiResource.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 8eda116edf0387a44b2d3d67d0894770\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/Base/OpenAiApiException.cs",
"chars": 1099,
"preview": "using System;\n\nusing UnityEngine;\nusing Object = UnityEngine.Object;\n\nnamespace OpenAi.Api\n{\n /// <summary>\n /// "
},
{
"path": "Runtime/Scripts/Api/Base/OpenAiApiException.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: c74f739190347234db19aef3105a5375\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/Base.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: b2c6be357cb1e6142bb16905d61aabf4\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/Utility/EChatModelNames/EChatModelName.cs",
"chars": 657,
"preview": "using System;\n\nnamespace OpenAi.Api\n{\n public static class UTEChatModelName\n {\n public static string GetMo"
},
{
"path": "Runtime/Scripts/Api/Utility/EChatModelNames/EChatModelName.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 1357fb1fce4191e42827032bccc96935\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/Utility/EChatModelNames.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: d630afaa3786c95469a23e3dd97b1749\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/Utility/EngineNames/EEngineName.cs",
"chars": 2024,
"preview": "using System;\n\nnamespace OpenAi.Api\n{\n public enum EEngineName\n {\n // GPT-3\n ada,\n babbage,\n"
},
{
"path": "Runtime/Scripts/Api/Utility/EngineNames/EEngineName.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: a7f86371651b34640b3b6fc8c743ecb0\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/Utility/EngineNames/UTEngineNames.cs",
"chars": 876,
"preview": "namespace OpenAi.Api\n{\n public static class UTModelNames\n {\n // GPT-3\n public const string ada = \"a"
},
{
"path": "Runtime/Scripts/Api/Utility/EngineNames/UTEngineNames.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 355de6e305023a9448d2b35ac39294a9\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/Utility/EngineNames.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: a9ce3ed80c6c87f439a23eafeb0342b7\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/Utility/StringOrArray.cs",
"chars": 2720,
"preview": "using OpenAi.Json;\n\nusing System.Collections.Generic;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Can be inter"
},
{
"path": "Runtime/Scripts/Api/Utility/StringOrArray.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: bbd00387caa7d8845a61bc6135e50e0a\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/Utility/UnityWebRequestAsync/UnityWebRequestAwaiter.cs",
"chars": 867,
"preview": "// Taken from this gist https://gist.github.com/krzys-h/9062552e33dd7bd7fe4a6c12db109a1a\n\nusing System;\nusing System.Run"
},
{
"path": "Runtime/Scripts/Api/Utility/UnityWebRequestAsync/UnityWebRequestAwaiter.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 80b39eca5abef8f428da95abb7e26b0b\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/Utility/UnityWebRequestAsync/UnityWebRequestExtensions.cs",
"chars": 457,
"preview": "// Taken from this gist https://gist.github.com/krzys-h/9062552e33dd7bd7fe4a6c12db109a1a\n\nusing UnityEngine.Networking;\n"
},
{
"path": "Runtime/Scripts/Api/Utility/UnityWebRequestAsync/UnityWebRequestExtensions.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: ae29d89f8e5725341b1013077dec7a43\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/Utility/UnityWebRequestAsync.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 290d20dbfb3926844b03ed47ed3145b6\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/Utility.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: afac1627f3594e144b74d8d81b1a0060\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Chat/ChatResourceV1.cs",
"chars": 910,
"preview": "using System;\nusing System.Threading.Tasks;\n\nusing UnityEngine;\n\nnamespace OpenAi.Api.V1\n{\n\n /// <summary>\n /// Re"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Chat/ChatResourceV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 4341471d81112ce45a0cff5db6755675\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Api/Chat/Completions/ChatCompletionRequestV1.cs",
"chars": 7543,
"preview": "using OpenAi.Json;\n\nusing System;\nusing System.Collections.Generic;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n //"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Chat/Completions/ChatCompletionRequestV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 92b8c1ff381c5c844b69877fec55c613\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Api/Chat/Completions/ChatCompletionsResourceV1.cs",
"chars": 5330,
"preview": "using System;\nusing System.Threading.Tasks;\n\nusing UnityEngine;\n\nnamespace OpenAi.Api.V1\n{\n\n /// <summary>\n /// Re"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Chat/Completions/ChatCompletionsResourceV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: bdb1362d65b74a043a3cea97ee915da7\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Api/Chat/Completions.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: d65146491b5b90342a2f90ee79c5186b\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Chat.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 29e74741b9ee81547a568f5cedb5367c\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines/Engine/Completions/CompletionRequestV1.cs",
"chars": 8537,
"preview": "using OpenAi.Json;\n\nusing System;\nusing System.Collections.Generic;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n //"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines/Engine/Completions/CompletionRequestV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: d67961fac1123804cbd0b551d5b54bc3\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines/Engine/Completions/CompletionsResourceV1.cs",
"chars": 5325,
"preview": "using System;\nusing System.Threading.Tasks;\n\nusing UnityEngine;\n\nnamespace OpenAi.Api.V1\n{\n\n /// <summary>\n /// Re"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines/Engine/Completions/CompletionsResourceV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 930378a6629aa0d49beee3f8872ecd17\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines/Engine/Completions.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 9c530e33d81a2a44e992bdb1e6e1e42b\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines/Engine/EngineResourceV1.cs",
"chars": 1817,
"preview": "using System;\nusing System.Threading.Tasks;\n\nusing UnityEngine;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Res"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines/Engine/EngineResourceV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: baeec16b75e2c6044b08752a3b420e84\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines/Engine.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: a73c5a0a80b8c364ebb4a11a5114bab9\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines/EnginesResourceV1.cs",
"chars": 1728,
"preview": "using System;\nusing System.Threading.Tasks;\n\nusing UnityEngine;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Pro"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines/EnginesResourceV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 9d81cffee98ada249b5ebca9d97eaba7\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Api/Engines.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: bb4ca3b2a411cd3408d4bb4db3f9c235\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Files/File/FileResourceV1.cs",
"chars": 1916,
"preview": "using System;\nusing System.Threading.Tasks;\n\nusing UnityEngine;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Res"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Files/File/FileResourceV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 5461aae83fd7f5b43b65528149966f6e\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Api/Files/File.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 51906efa7ecd41c4ca8c4469cc98964b\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Files/FilesResourceV1.cs",
"chars": 1529,
"preview": "using System;\nusing System.Threading.Tasks;\n\nusing UnityEngine;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Pro"
},
{
"path": "Runtime/Scripts/Api/V1/Api/Files/FilesResourceV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 26addc9b68de71c449ae34c6cdb88510\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Api/Files.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: a6977f671f4c9ed44b1354cb9dcac515\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1/Api.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: a74574a8cf46ac747ad2a2dd7da64702\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1/Models/AnswerV1.cs",
"chars": 1922,
"preview": "using OpenAi.Json;\n\nusing System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace OpenAi.Api"
},
{
"path": "Runtime/Scripts/Api/V1/Models/AnswerV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: eb5c442bf526a7346b706c3e1214445d\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/ChatChoiceV1.cs",
"chars": 2418,
"preview": "using OpenAi.Json;\r\n\r\nusing System;\r\nusing UnityEngine;\r\n\r\nnamespace OpenAi.Api.V1\r\n{\r\n /// <summary>\r\n /// A sing"
},
{
"path": "Runtime/Scripts/Api/V1/Models/ChatChoiceV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 1dd6e46a4a834ac479389881228aac81\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/ChatCompletionV1.cs",
"chars": 3098,
"preview": "using OpenAi.Json;\n\nusing System;\nusing System.Text;\nusing UnityEngine;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/ChatCompletionV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 96be4d321a1faa343aa7d8c849a2af3c\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/ChoiceV1.cs",
"chars": 1961,
"preview": "using OpenAi.Json;\n\nusing System;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// A single choice returned by the O"
},
{
"path": "Runtime/Scripts/Api/V1/Models/ChoiceV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 03e638cb303909c4abbf7db3625a542b\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/ClassificationV1.cs",
"chars": 2568,
"preview": "using OpenAi.Json;\n\nusing System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace OpenAi.Api"
},
{
"path": "Runtime/Scripts/Api/V1/Models/ClassificationV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 502995a34cdbdce4491a77c0acaa9461\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/CompletionV1.cs",
"chars": 2581,
"preview": "using OpenAi.Json;\n\nusing System;\nusing System.Text;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// The response "
},
{
"path": "Runtime/Scripts/Api/V1/Models/CompletionV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: ac9908e8d933399498c04f851ba139df\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/DeltaV1.cs",
"chars": 1693,
"preview": "using OpenAi.Json;\r\n\r\nusing System;\r\nusing UnityEngine;\r\n\r\nnamespace OpenAi.Api.V1\r\n{\r\n /// <summary>\r\n /// A part"
},
{
"path": "Runtime/Scripts/Api/V1/Models/DeltaV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 8c653c686b46c594aa1cdf39c1342a4e\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/EngineV1.cs",
"chars": 1774,
"preview": "using OpenAi.Json;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Info about an engine. <see cref=\"https://beta.o"
},
{
"path": "Runtime/Scripts/Api/V1/Models/EngineV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: e29977a3db79cb946aa620129154da46\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/EnginesListV1.cs",
"chars": 1252,
"preview": "using OpenAi.Json;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// A list of engines. <see cref=\"https://beta.open"
},
{
"path": "Runtime/Scripts/Api/V1/Models/EnginesListV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 77f46c211a2e79f45aa478f113b8066c\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/FileV1.cs",
"chars": 2395,
"preview": "using OpenAi.Json;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Info about a file. <see cref=\"https://beta.open"
},
{
"path": "Runtime/Scripts/Api/V1/Models/FileV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: ca8c4f867680cbf4c87ce8e9e34fb9e2\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/FilesListV1.cs",
"chars": 1242,
"preview": "using OpenAi.Json;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// A list of files. <see cref=\"https://beta.openai"
},
{
"path": "Runtime/Scripts/Api/V1/Models/FilesListV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 2853cf33389674b43892960fb673f210\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/LabeledExampleV1.cs",
"chars": 1458,
"preview": "using OpenAi.Json;\n\nusing System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace OpenAi.Api"
},
{
"path": "Runtime/Scripts/Api/V1/Models/LabeledExampleV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 49d8145284aa67f4aac19f1dfac484de\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/MessageV1.cs",
"chars": 1731,
"preview": "using OpenAi.Json;\r\n\r\nusing System;\r\nusing UnityEngine;\r\n\r\nnamespace OpenAi.Api.V1\r\n{\r\n /// <summary>\r\n /// A sing"
},
{
"path": "Runtime/Scripts/Api/V1/Models/MessageV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 11813a2397ca53e4eb3115f2e5075e0c\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/QuestionAnswerPairV1.cs",
"chars": 1481,
"preview": "using OpenAi.Json;\n\nusing System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace OpenAi.Api"
},
{
"path": "Runtime/Scripts/Api/V1/Models/QuestionAnswerPairV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 3dbccebdcdfac4d4abab6bc2f80a310e\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/SearchListV1.cs",
"chars": 1515,
"preview": "using OpenAi.Json;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// A list of searchs to perform in a OpenAi Api sea"
},
{
"path": "Runtime/Scripts/Api/V1/Models/SearchListV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 953c9222a9a017f4187ac9b5d970ca91\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/SearchV1.cs",
"chars": 1508,
"preview": "using OpenAi.Json;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// A returned value from a GPT-3 search.\n /// </"
},
{
"path": "Runtime/Scripts/Api/V1/Models/SearchV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 5fe551b9c0b56c7498f23211afe62bd3\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/SelectedDocumentV1.cs",
"chars": 1331,
"preview": "using OpenAi.Json;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// <see cref=\"https://beta.openai.com/docs/api-refe"
},
{
"path": "Runtime/Scripts/Api/V1/Models/SelectedDocumentV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 47a4d2e28ecb6e44d9eeb5245fa92067\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/SelectedExampleV1.cs",
"chars": 1758,
"preview": "using OpenAi.Json;\n\nusing System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace OpenAi.Api"
},
{
"path": "Runtime/Scripts/Api/V1/Models/SelectedExampleV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: e62fcf537ca59d941b63d2e1d78888b6\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models/UsageV1.cs",
"chars": 2084,
"preview": "using OpenAi.Json;\n\nusing System;\nusing UnityEngine;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Part of comple"
},
{
"path": "Runtime/Scripts/Api/V1/Models/UsageV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 0c7eec027c8b1ef48a93712348658aa3\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/Models.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 496e72bb847530346a4d6c7029c62ecf\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1/OpenAiApiV1.cs",
"chars": 2611,
"preview": "using System.Text;\n\nusing UnityEngine.Networking;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Entry point for a"
},
{
"path": "Runtime/Scripts/Api/V1/OpenAiApiV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: b606a2a29008a6b4bb1e2cd1001ee7ab\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/SAuthArgsV1.cs",
"chars": 1568,
"preview": "using OpenAi.Json;\n\nusing System;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// Authentication arguments used to"
},
{
"path": "Runtime/Scripts/Api/V1/SAuthArgsV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: c8f356b234ec21848a6894a17a7c7ee6\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/_abstract/AModelV1.cs",
"chars": 787,
"preview": "using OpenAi.Json;\n\nnamespace OpenAi.Api.V1\n{\n /// <summary>\n /// A model that can be converted from json and pop"
},
{
"path": "Runtime/Scripts/Api/V1/_abstract/AModelV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: ba522051d42394b41914bd4c7a6a1acd\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Api/V1/_abstract.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 581a3aadb5784a0449cbbbb0f8668752\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api/V1.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 3c1aa743ce2a9cc4591cebaa680af528\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Api.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 849e32b38a6fa064ca59d856b55c6368\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Examples/ExampleChatRuntime.cs",
"chars": 1320,
"preview": "using UnityEngine;\nusing UnityEngine.UI;\nusing OpenAi.Unity.V1;\n\nnamespace OpenAi.Examples\n{\n public class ExampleCh"
},
{
"path": "Runtime/Scripts/Examples/ExampleChatRuntime.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: ac671c01496633846acf376026fb4b26\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Examples/ExampleOpenAiApiRuntime.cs",
"chars": 899,
"preview": "using UnityEngine;\nusing UnityEngine.UI;\nusing OpenAi.Unity.V1;\n\nnamespace OpenAi.Examples\n{\n public class ExampleOp"
},
{
"path": "Runtime/Scripts/Examples/ExampleOpenAiApiRuntime.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 0dffa08172edd254b9cd939b09f211a0\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Examples.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 4f80f38abc299c1468fcc611b81d4486\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Json/Deserialization/JsonDeserializer.cs",
"chars": 337,
"preview": "using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace OpenAi.Json\n{\n public stati"
},
{
"path": "Runtime/Scripts/Json/Deserialization/JsonDeserializer.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: b184cce1b528b70498079c2e1e689726\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Deserialization/JsonObject.cs",
"chars": 242,
"preview": "using System.Collections.Generic;\n\nnamespace OpenAi.Json\n{\n public class JsonObject\n {\n public EJsonType T"
},
{
"path": "Runtime/Scripts/Json/Deserialization/JsonObject.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 2b80d53d968a1c74a8981b8b27a04a60\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/BaseAnalyzer.cs",
"chars": 1357,
"preview": "namespace OpenAi.Json\n{\n /// <summary>\n /// Basic character analyzer used during lexical analysis of json strings"
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/BaseAnalyzer.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 0c94ce4a5b7e273458068ae001f78c46\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/ECharacterAnalyzerResponse.cs",
"chars": 1264,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nna"
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/ECharacterAnalyzerResponse.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: cc2e08b043caa8f42b8698386306da36\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/ICharacterAnalyzer.cs",
"chars": 647,
"preview": "namespace OpenAi.Json\n{\n /// <summary>\n /// Capable of analyzing a single character for the purpose of deserializ"
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/ICharacterAnalyzer.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 2b2a280e741cd7045a2351bd56b3222e\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/StringAnalyzer.cs",
"chars": 841,
"preview": "namespace OpenAi.Json\n{\n /// <summary>\n /// Analyzes characters that are between \" \" in a json string. \n /// <"
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer/StringAnalyzer.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 3f4c1da055f011440928de92a8009ac8\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/CharacterAnalyzer.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 02d8c26e86046ce48b1ba09aabeca34e\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/JsonLexer.cs",
"chars": 2728,
"preview": "using System.Collections.Generic;\nusing System.Text;\n\nnamespace OpenAi.Json\n{\n /// <summary>\n /// Simple single pa"
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis/JsonLexer.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: c4c9520356e4cbb40a7be39f23f15c9e\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Deserialization/LexicalAnalysis.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: fb9affc2655769d47b9be95f4d36b864\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Json/Deserialization/SyntacticAnalysis/EJsonType.cs",
"chars": 469,
"preview": "namespace OpenAi.Json\n{\n /// <summary>\n /// Types of objects in json\n /// </summary>\n public enum EJsonType"
},
{
"path": "Runtime/Scripts/Json/Deserialization/SyntacticAnalysis/EJsonType.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: b68cf8be6cf32ad4db5f6e93f25b0b6b\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Deserialization/SyntacticAnalysis/JsonSyntaxAnalyzer.cs",
"chars": 3979,
"preview": "using System;\nusing System.Collections.Generic;\n\nnamespace OpenAi.Json\n{\n /// <summary>\n /// Parses arrays of jso"
},
{
"path": "Runtime/Scripts/Json/Deserialization/SyntacticAnalysis/JsonSyntaxAnalyzer.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: b9500b3287886e4448a4acf15cc5ae51\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Deserialization/SyntacticAnalysis.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 8383419f9ce52d7409b7908c9a889726\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Json/Deserialization/UTJsonDeserialization.cs",
"chars": 797,
"preview": "using System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace OpenAi.Json\n{\n public stati"
},
{
"path": "Runtime/Scripts/Json/Deserialization/UTJsonDeserialization.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 85df79bde77a85b4185c17570a217d7a\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Deserialization.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: e55a05d8360bf9347b1c2d8b84b67fe4\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Json/IJsonable.cs",
"chars": 548,
"preview": "namespace OpenAi.Json\n{\n /// <summary>\n /// Can be converted to and from json\n /// </summary>\n public inter"
},
{
"path": "Runtime/Scripts/Json/IJsonable.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 8a8e961569596a041a625bc8e5b76c5c\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/OpenAiJsonException.cs",
"chars": 819,
"preview": "using System;\nusing UnityEngine;\n\nnamespace OpenAi.Json\n{\n /// <summary>\n /// Exception thrown during json desera"
},
{
"path": "Runtime/Scripts/Json/OpenAiJsonException.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 3950378f7c31a764186e6c15c62014fb\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Serialization/JsonBuilder.cs",
"chars": 8244,
"preview": "using OpenAi.Api.V1;\n\nusing System;\nusing System.Collections.Generic;\nusing System.Globalization;\nusing System.Text;\n\nna"
},
{
"path": "Runtime/Scripts/Json/Serialization/JsonBuilder.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: f58a6ffe2f7efa44bb6ea53136d36c37\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Json/Serialization.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 0dd58324e1f4c44408aff4e58d73f178\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Json.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 274d1e33f0e24564abe020fdbf8a334c\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Unity/Util/AMonoSingleton.cs",
"chars": 3117,
"preview": "using UnityEngine;\n\nnamespace OpenAi.Unity\n{\n /// <summary>\n /// Implementation of Singleton for <see cref=\"MonoB"
},
{
"path": "Runtime/Scripts/Unity/Util/AMonoSingleton.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: d0f4f33e525c60b4faf9b337ef8ac5b6\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Unity/Util.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: ea6ea4c33a049da4b96aef452604005f\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Unity/V1/Auth/SOAuthArgsV1.cs",
"chars": 3444,
"preview": "using OpenAi.Api;\nusing OpenAi.Api.V1;\nusing OpenAi.Json;\n\nusing System;\nusing System.IO;\nusing System.Text;\n\nusing Unit"
},
{
"path": "Runtime/Scripts/Unity/V1/Auth/SOAuthArgsV1.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 82cfa4d983a7d91419ea8999b972a333\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Unity/V1/Auth.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 312fa3fc0c3c46b429ddafdc8fbadf33\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Runtime/Scripts/Unity/V1/ChatCompleter/OpenAiChatCompleterV1.cs",
"chars": 3669,
"preview": "using OpenAi.Api;\nusing OpenAi.Api.V1;\n\nusing System;\nusing System.Collections.Generic;\nusing UnityEngine;\nusing UnityEn"
},
{
"path": "Runtime/Scripts/Unity/V1/ChatCompleter/OpenAiChatCompleterV1.cs.meta",
"chars": 319,
"preview": "fileFormatVersion: 2\nguid: 582650b353200ef458d8ce61588f26dc\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Runtime/Scripts/Unity/V1/ChatCompleter/SOChatCompletionArgsV1.cs",
"chars": 3411,
"preview": "using OpenAi.Api;\nusing OpenAi.Api.V1;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace OpenAi.Unity.V1\n"
}
]
// ... and 52 more files (download for full content)
About this extraction
This page contains the full source code of the hexthedev/OpenAi-Api-Unity GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 252 files (358.7 KB), approximately 118.7k tokens, and a symbol index with 313 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.