diff --git a/.github/GameObject.png b/.github/GameObject.png
index 22c5021e..17da8ea1 100644
Binary files a/.github/GameObject.png and b/.github/GameObject.png differ
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..9771ffe4
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,7 @@
+## v1.0.1
+- Fix running commands for projects with space in path
+ - closes #8
+ - closes #9
+- Fix sample scenes for different screen resolutions
+ - closes #10
+- Allow parallel prompts
\ No newline at end of file
diff --git a/CHANGELOG.md.meta b/CHANGELOG.md.meta
new file mode 100644
index 00000000..0adeaede
--- /dev/null
+++ b/CHANGELOG.md.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e33a768d6d643a252955048bc00f5c90
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Editor/LLMEditor.cs b/Editor/LLMEditor.cs
index 854415b1..e5f925ca 100644
--- a/Editor/LLMEditor.cs
+++ b/Editor/LLMEditor.cs
@@ -63,8 +63,10 @@ public override void OnInspectorGUI()
ShowProgress(llmScript.modelCopyProgress, "Model Copying");
if (llmScript.model != ""){
AddModelSettings(llmScriptSO, false);
- AddChatSettings(llmScriptSO);
+ } else {
+ EditorGUILayout.Space();
}
+ AddChatSettings(llmScriptSO);
GUI.enabled = true;
EditorGUI.EndChangeCheck();
diff --git a/README.md b/README.md
index af106aae..ac3b41b4 100644
--- a/README.md
+++ b/README.md
@@ -168,6 +168,8 @@ The server can be either a LLMUnity server or a standard [llama.cpp server](http
## Options
+- `Show/Hide Advanced Options` Toggle to show/hide advanced options from below
+
#### :computer: Server Settings
@@ -178,10 +180,12 @@ The server can be either a LLMUnity server or a standard [llama.cpp server](http
- `Num GPU Layers` number of model layers to offload to the GPU.
If set to 0 the GPU is not used. Use a large number i.e. >30 to utilise the GPU as much as possible.
If the user's GPU is not supported, the LLM will fall back to the CPU
-- `Debug` select to log the output of the model in the Unity Editor
-- `Port` port to run the server
- `Stream` select to receive the reply from the model as it is produced (recommended!).
If it is not selected, the full reply from the model is received in one go
+- Advanced options:
+ - `Parallel Prompts` number of prompts that can happen in parallel (default: -1 = number of LLM/LLMClient objects)
+ - `Debug` select to log the output of the model in the Unity Editor
+ - `Port` port to run the server
#### :hugs: Model Settings
- `Download model` click to download the default model (Mistral 7B Instruct)
@@ -189,13 +193,14 @@ If it is not selected, the full reply from the model is received in one go
- `Load lora` click to load a LORA model in .bin format
- `Model` the model being used (inside the Assets/StreamingAssets folder)
- `Lora` the LORA model being used (inside the Assets/StreamingAssets folder)
-- `Context Size` Size of the prompt context (0 = context size of the model)
-- `Batch Size` Batch size for prompt processing (default: 512)
-- `Seed` seed for reproducibility. For random results every time select -1
-- `Temperature` LLM temperature, lower values give more deterministic answers
-- `Top K` top-k sampling (default: 40, 0 = disabled)
-- `Top P` top-p sampling (default: 0.9, 1.0 = disabled)
-- `Num Predict` number of tokens to predict (default: 256, -1 = infinity, -2 = until context filled)
+- Advanced options:
+ - `Context Size` Size of the prompt context (0 = context size of the model)
+ - `Batch Size` Batch size for prompt processing (default: 512)
+ - `Seed` seed for reproducibility. For random results every time select -1
+ - `Temperature` LLM temperature, lower values give more deterministic answers
+ - `Top K` top-k sampling (default: 40, 0 = disabled)
+ - `Top P` top-p sampling (default: 0.9, 1.0 = disabled)
+ - `Num Predict` number of tokens to predict (default: 256, -1 = infinity, -2 = until context filled)
#### :left_speech_bubble: Chat Settings
- `Player Name` the name of the player
diff --git a/Runtime/LLM.cs b/Runtime/LLM.cs
index 92947a20..05977223 100644
--- a/Runtime/LLM.cs
+++ b/Runtime/LLM.cs
@@ -9,12 +9,14 @@
namespace LLMUnity
{
+ [DefaultExecutionOrder(-2)]
public class LLM : LLMClient
{
[HideInInspector] public bool modelHide = true;
[Server] public int numThreads = -1;
[Server] public int numGPULayers = 0;
+ [ServerAdvanced] public int parallelPrompts = -1;
[ServerAdvanced] public bool debug = false;
[Model] public string model = "";
@@ -36,7 +38,7 @@ public class LLM : LLMClient
private static float binariesDone = 0;
private Process process;
private bool serverListening = false;
- private static ManualResetEvent serverStarted = new ManualResetEvent(false);
+ public ManualResetEvent serverStarted = new ManualResetEvent(false);
private static string GetAssetPath(string relPath=""){
// Path to store llm server binaries and models
@@ -95,7 +97,7 @@ public async void SetLora(string path){
}
#endif
- new void OnEnable()
+ new public void OnEnable()
{
// start the llm server and run the OnEnable of the client
StartLLMServer();
@@ -156,16 +158,17 @@ private void StartLLMServer()
if (!File.Exists(loraPath)) throw new System.Exception($"File {loraPath} not found!");
}
+ int slots = parallelPrompts == -1? FindObjectsOfType().Length: parallelPrompts;
string binary = server;
- string arguments = $" --port {port} -m {modelPath} -c {contextSize} -b {batchSize} --log-disable --nobrowser";
+ string arguments = $" --port {port} -m \"{modelPath}\" -c {contextSize} -b {batchSize} --log-disable --nobrowser -np {slots}";
if (numThreads > 0) arguments += $" -t {numThreads}";
if (numGPULayers > 0) arguments += $" -ngl {numGPULayers}";
- if (loraPath != "") arguments += $" --lora {loraPath}";
+ if (loraPath != "") arguments += $" --lora \"{loraPath}\"";
List<(string, string)> environment = null;
if (Application.platform != RuntimePlatform.WindowsEditor && Application.platform != RuntimePlatform.WindowsPlayer){
// use APE binary directly if not on Windows
- arguments = $"{binary} {arguments}";
+ arguments = $"\"{binary}\" {arguments}";
binary = SelectApeBinary();
if (numGPULayers <= 0){
// prevent nvcc building if not using GPU
@@ -175,7 +178,7 @@ private void StartLLMServer()
Debug.Log($"Server command: {binary} {arguments}");
process = LLMUnitySetup.CreateProcess(binary, arguments, CheckIfListening, DebugLogError, environment);
// wait for at most 2'
- serverStarted.WaitOne(120000);
+ serverStarted.WaitOne(60000);
}
public void StopProcess()
diff --git a/Runtime/LLMClient.cs b/Runtime/LLMClient.cs
index cb890395..1584e46d 100644
--- a/Runtime/LLMClient.cs
+++ b/Runtime/LLMClient.cs
@@ -13,8 +13,9 @@ public class ClientAdvancedAttribute : PropertyAttribute {}
public class ServerAdvancedAttribute : PropertyAttribute {}
public class ModelAdvancedAttribute : PropertyAttribute {}
+ [DefaultExecutionOrder(-1)]
public class LLMClient : MonoBehaviour
- {
+ {
[HideInInspector] public bool advancedOptions = false;
[ClientAdvanced] public string host = "localhost";
diff --git a/Runtime/LLMUnitySetup.cs b/Runtime/LLMUnitySetup.cs
index 7460916f..57fcb2bf 100644
--- a/Runtime/LLMUnitySetup.cs
+++ b/Runtime/LLMUnitySetup.cs
@@ -110,9 +110,10 @@ public static async Task DownloadFile(
if (executable && Application.platform != RuntimePlatform.WindowsEditor && Application.platform != RuntimePlatform.WindowsPlayer){
// macOS/Linux: Set executable permissions using chmod
- RunProcess("chmod", "+x " + savePath);
+ RunProcess("chmod", $"+x \"{savePath}\"");
}
AssetDatabase.StopAssetEditing();
+ Debug.Log($"Download complete!");
}
progresscallback(1f);
callback?.Invoke(savePath);
diff --git a/Samples~/ChatBot/Bubble.cs b/Samples~/ChatBot/Bubble.cs
index 7f8e7471..1523b55d 100644
--- a/Samples~/ChatBot/Bubble.cs
+++ b/Samples~/ChatBot/Bubble.cs
@@ -78,12 +78,15 @@ void SetBubblePosition(RectTransform bubbleRectTransform, RectTransform imageRec
bubbleRectTransform.pivot = new Vector2(bubbleUI.leftPosition, bubbleUI.bottomPosition);
bubbleRectTransform.anchorMin = new Vector2(bubbleUI.leftPosition, bubbleUI.bottomPosition);
bubbleRectTransform.anchorMax = new Vector2(bubbleUI.leftPosition, bubbleUI.bottomPosition);
+ bubbleRectTransform.localScale = Vector3.one;
Vector2 anchoredPosition = new Vector2(bubbleUI.bubbleOffset + bubbleUI.textPadding, bubbleUI.bubbleOffset + bubbleUI.textPadding);
if (bubbleUI.leftPosition == 1) anchoredPosition.x *= -1;
if (bubbleUI.bottomPosition == 1) anchoredPosition.y *= -1;
bubbleRectTransform.anchoredPosition = anchoredPosition;
- bubbleRectTransform.sizeDelta = new Vector2(600 - 2*bubbleUI.textPadding, bubbleRectTransform.sizeDelta.y - 2*bubbleUI.textPadding);
+ float width = bubbleUI.bubbleWidth == -1? bubbleRectTransform.sizeDelta.x: bubbleUI.bubbleWidth;
+ float height = bubbleUI.bubbleHeight == -1? bubbleRectTransform.sizeDelta.y: bubbleUI.bubbleHeight;
+ bubbleRectTransform.sizeDelta = new Vector2(width-2*bubbleUI.textPadding, height-2*bubbleUI.textPadding);
SyncParentRectTransform(imageRectTransform);
imageRectTransform.offsetMin = new Vector2(-bubbleUI.textPadding, -bubbleUI.textPadding);
imageRectTransform.offsetMax = new Vector2(bubbleUI.textPadding, bubbleUI.textPadding);
@@ -154,6 +157,7 @@ GameObject CreatePlaceholderObject(Transform parent, RectTransform textRectTrans
RectTransform placeholderRectTransform = placeholderObject.GetComponent();
placeholderRectTransform.sizeDelta = textRectTransform.sizeDelta;
placeholderRectTransform.anchoredPosition = textRectTransform.anchoredPosition;
+ placeholderRectTransform.localScale = Vector3.one;
SyncParentRectTransform(placeholderRectTransform);
return placeholderObject;
}
@@ -168,7 +172,9 @@ GameObject CreateInputFieldObject(Transform parent, Text textObject, Text placeh
inputField.lineType = InputField.LineType.MultiLineSubmit;
inputField.shouldHideMobileInput = false;
inputField.shouldActivateOnSelect = true;
- SyncParentRectTransform(inputFieldObject.GetComponent());
+ RectTransform inputFieldRect = inputFieldObject.GetComponent();
+ inputFieldRect.localScale = Vector3.one;
+ SyncParentRectTransform(inputFieldRect);
return inputFieldObject;
}
diff --git a/Samples~/ChatBot/ChatBot.cs b/Samples~/ChatBot/ChatBot.cs
index 2951595f..23daf6a2 100644
--- a/Samples~/ChatBot/ChatBot.cs
+++ b/Samples~/ChatBot/ChatBot.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using LLMUnity;
-using TMPro;
namespace LLMUnitySamples
{
@@ -117,7 +116,7 @@ public void UpdateBubblePositions()
for (int i = chatBubbles.Count - 1; i >= 0; i--) {
Bubble bubble = chatBubbles[i];
RectTransform childRect = bubble.GetRectTransform();
- childRect.position = new Vector2(childRect.position.x, y);
+ childRect.anchoredPosition = new Vector2(childRect.anchoredPosition.x, y);
// last bubble outside the container
if (y > containerHeight && lastBubbleOutsideFOV == -1){
diff --git a/Samples~/ChatBot/Scene.unity b/Samples~/ChatBot/Scene.unity
index 363a0755..ccca69d8 100644
--- a/Samples~/ChatBot/Scene.unity
+++ b/Samples~/ChatBot/Scene.unity
@@ -444,6 +444,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a50e3140c3ecaaf1c848dbf141cc2074, type: 3}
m_Name:
m_EditorClassIdentifier:
+ advancedOptions: 0
host: localhost
port: 13333
stream: 1
@@ -459,6 +460,7 @@ MonoBehaviour:
modelHide: 1
numThreads: -1
numGPULayers: 0
+ parallelPrompts: -1
debug: 0
model:
lora:
@@ -834,10 +836,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_UiScaleMode: 0
+ m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
- m_ReferenceResolution: {x: 1550, y: 600}
+ m_ReferenceResolution: {x: 1280, y: 720}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 1
m_PhysicalUnit: 3
diff --git a/Samples~/ServerClient/Scene.unity b/Samples~/ServerClient/Scene.unity
index 720b6c4e..bc5daf80 100644
--- a/Samples~/ServerClient/Scene.unity
+++ b/Samples~/ServerClient/Scene.unity
@@ -171,10 +171,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_UiScaleMode: 0
+ m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
- m_ReferenceResolution: {x: 800, y: 600}
+ m_ReferenceResolution: {x: 1280, y: 720}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
@@ -291,7 +291,7 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 14
+ m_FontSize: 16
m_FontStyle: 2
m_BestFit: 0
m_MinSize: 10
@@ -445,7 +445,7 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 14
+ m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
@@ -598,7 +598,7 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 14
+ m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
@@ -661,7 +661,7 @@ GameObject:
- component: {fileID: 856480604}
- component: {fileID: 856480603}
m_Layer: 5
- m_Name: Text (Legacy)
+ m_Name: Player title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -683,7 +683,7 @@ RectTransform:
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: 21.000015, y: 150}
+ m_AnchoredPosition: {x: 0, y: 160}
m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &856480603
@@ -788,7 +788,7 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 14
+ m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
@@ -926,7 +926,7 @@ GameObject:
- component: {fileID: 921839200}
- component: {fileID: 921839199}
m_Layer: 5
- m_Name: AIImage2
+ m_Name: AI 2 Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -947,10 +947,10 @@ RectTransform:
- {fileID: 728022959}
m_Father: {fileID: 158550917}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 1, y: 1}
- m_AnchoredPosition: {x: 249, y: -110.69}
- m_SizeDelta: {x: -781.57996, y: -493.27884}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 200, y: -110}
+ m_SizeDelta: {x: 350, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &921839199
MonoBehaviour:
@@ -1027,8 +1027,8 @@ RectTransform:
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: 249, y: 87.002}
- m_SizeDelta: {x: 294.42, y: 95.9957}
+ m_AnchoredPosition: {x: 200, y: 90}
+ m_SizeDelta: {x: 350, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &954556175
MonoBehaviour:
@@ -1215,6 +1215,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a50e3140c3ecaaf1c848dbf141cc2074, type: 3}
m_Name:
m_EditorClassIdentifier:
+ advancedOptions: 0
host: localhost
port: 13333
stream: 1
@@ -1224,12 +1225,13 @@ MonoBehaviour:
topP: 0.9
nPredict: 256
playerName: Human
- AIName: Assistant
+ AIName: Adam
prompt: A chat between a curious human and an artificial intelligence assistant.
The assistant gives helpful, detailed, and polite answers to the human's questions.
modelHide: 1
numThreads: -1
numGPULayers: 0
+ parallelPrompts: -1
debug: 0
model:
lora:
@@ -1312,10 +1314,10 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 14
+ m_FontSize: 16
m_FontStyle: 2
m_BestFit: 0
- m_MinSize: 10
+ m_MinSize: 1
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
@@ -1344,7 +1346,7 @@ GameObject:
- component: {fileID: 1342801407}
- component: {fileID: 1342801406}
m_Layer: 5
- m_Name: Text (Legacy) (1)
+ m_Name: AI 1 title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1366,7 +1368,7 @@ RectTransform:
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: -213, y: -46.061}
+ m_AnchoredPosition: {x: -200, y: -45}
m_SizeDelta: {x: 160, y: 29.6652}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1342801406
@@ -1423,7 +1425,7 @@ GameObject:
- component: {fileID: 1448762427}
- component: {fileID: 1448762426}
m_Layer: 5
- m_Name: Text (Legacy) (2)
+ m_Name: AI 2 title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1445,7 +1447,7 @@ RectTransform:
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: 249, y: -45.997}
+ m_AnchoredPosition: {x: 200, y: -45}
m_SizeDelta: {x: 160, y: 29.6652}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1448762426
@@ -1519,6 +1521,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: e95e88cdd1b0a159692667660a065473, type: 3}
m_Name:
m_EditorClassIdentifier:
+ advancedOptions: 0
host: localhost
port: 13333
stream: 1
@@ -1528,10 +1531,9 @@ MonoBehaviour:
topP: 0.9
nPredict: 256
playerName: Human
- AIName: Assistant
+ AIName: Eve
prompt: A chat between a curious human and an artificial intelligence assistant.
The assistant gives helpful, detailed, and polite answers to the human's questions.
- The assistant name is Helen.
--- !u!4 &1493015759
Transform:
m_ObjectHideFlags: 0
@@ -1606,7 +1608,7 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 14
+ m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
@@ -1663,8 +1665,8 @@ RectTransform:
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: -206.21, y: 87.002}
- m_SizeDelta: {x: 294.42, y: 95.9957}
+ m_AnchoredPosition: {x: -200, y: 90}
+ m_SizeDelta: {x: 350, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1966107897
MonoBehaviour:
@@ -1852,7 +1854,7 @@ GameObject:
- component: {fileID: 2091685449}
- component: {fileID: 2091685448}
m_Layer: 5
- m_Name: AIImage1
+ m_Name: AI 1 Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -1873,10 +1875,10 @@ RectTransform:
- {fileID: 887085509}
m_Father: {fileID: 158550917}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 1, y: 1}
- m_AnchoredPosition: {x: -206.21002, y: -110.75391}
- m_SizeDelta: {x: -781.57996, y: -493.27884}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -200, y: -110}
+ m_SizeDelta: {x: 350, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2091685448
MonoBehaviour:
diff --git a/Samples~/SimpleInteraction/Scene.unity b/Samples~/SimpleInteraction/Scene.unity
index 17cdaaa9..5f4d945c 100644
--- a/Samples~/SimpleInteraction/Scene.unity
+++ b/Samples~/SimpleInteraction/Scene.unity
@@ -218,10 +218,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
- m_UiScaleMode: 0
+ m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
- m_ReferenceResolution: {x: 800, y: 600}
+ m_ReferenceResolution: {x: 1280, y: 720}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
@@ -455,7 +455,7 @@ GameObject:
- component: {fileID: 856480604}
- component: {fileID: 856480603}
m_Layer: 5
- m_Name: Text (Legacy)
+ m_Name: Player title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -582,7 +582,7 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 14
+ m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
@@ -737,6 +737,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a50e3140c3ecaaf1c848dbf141cc2074, type: 3}
m_Name:
m_EditorClassIdentifier:
+ advancedOptions: 0
host: localhost
port: 13333
stream: 1
@@ -752,6 +753,7 @@ MonoBehaviour:
modelHide: 1
numThreads: -1
numGPULayers: 0
+ parallelPrompts: -1
debug: 0
model:
lora:
@@ -834,7 +836,7 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 14
+ m_FontSize: 16
m_FontStyle: 2
m_BestFit: 0
m_MinSize: 10
@@ -866,7 +868,7 @@ GameObject:
- component: {fileID: 1342801407}
- component: {fileID: 1342801406}
m_Layer: 5
- m_Name: Text (Legacy) (1)
+ m_Name: AI title
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -992,7 +994,7 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
- m_FontSize: 14
+ m_FontSize: 16
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
@@ -1049,8 +1051,8 @@ RectTransform:
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: 10.375999, y: 87.00699}
- m_SizeDelta: {x: 294.42, y: 95.9957}
+ m_AnchoredPosition: {x: 10.375977, y: 87.00699}
+ m_SizeDelta: {x: 400, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1966107897
MonoBehaviour:
@@ -1259,10 +1261,10 @@ RectTransform:
- {fileID: 887085509}
m_Father: {fileID: 158550917}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 1, y: 1}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 10.375977, y: -110.75391}
- m_SizeDelta: {x: -781.57996, y: -493.27884}
+ m_SizeDelta: {x: 400, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2091685448
MonoBehaviour:
diff --git a/VERSION b/VERSION
new file mode 100644
index 00000000..7dea76ed
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+1.0.1
diff --git a/VERSION.meta b/VERSION.meta
new file mode 100644
index 00000000..9a6d4847
--- /dev/null
+++ b/VERSION.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e73550046e9b28a4286e228a75e6f91c
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/package.json b/package.json
index f3df500f..c2b51889 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "ai.undream.llmunity",
- "version": "1.0.0",
+ "version": "1.0.1",
"displayName": "LLMUnity",
"description": "LLMUnity allows to run and distribute LLM models in the Unity engine.",
"unity": "2022.3",
@@ -42,4 +42,4 @@
"email": "antonis@undream.ai",
"url": "https://undream.ai"
}
-}
\ No newline at end of file
+}