diff --git a/Assets/Tests/Editor/PredictionTest.cs b/Assets/Tests/Editor/PredictionTest.cs
index fbc01a9..403d060 100644
--- a/Assets/Tests/Editor/PredictionTest.cs
+++ b/Assets/Tests/Editor/PredictionTest.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Tests {
diff --git a/Assets/Tests/Editor/PredictorTest.cs b/Assets/Tests/Editor/PredictorTest.cs
index d4be903..e12a517 100644
--- a/Assets/Tests/Editor/PredictorTest.cs
+++ b/Assets/Tests/Editor/PredictorTest.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Tests {
diff --git a/Assets/Tests/Editor/UserTest.cs b/Assets/Tests/Editor/UserTest.cs
index 57f0141..2f609ae 100644
--- a/Assets/Tests/Editor/UserTest.cs
+++ b/Assets/Tests/Editor/UserTest.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Tests {
diff --git a/Assets/Tests/Runtime/AccessKeyTest.cs b/Assets/Tests/Runtime/AccessKeyTest.cs
index 7fc40fa..1b1896a 100644
--- a/Assets/Tests/Runtime/AccessKeyTest.cs
+++ b/Assets/Tests/Runtime/AccessKeyTest.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Tests {
diff --git a/Assets/Tests/Runtime/FxncVersionTest.cs b/Assets/Tests/Runtime/FxncVersionTest.cs
index eb8a338..fb74989 100644
--- a/Assets/Tests/Runtime/FxncVersionTest.cs
+++ b/Assets/Tests/Runtime/FxncVersionTest.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Tests {
diff --git a/Assets/Tests/Runtime/GreetingTest.cs b/Assets/Tests/Runtime/GreetingTest.cs
index d2de8fd..0257414 100644
--- a/Assets/Tests/Runtime/GreetingTest.cs
+++ b/Assets/Tests/Runtime/GreetingTest.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Tests {
diff --git a/Assets/Tests/Runtime/ImageTest.cs b/Assets/Tests/Runtime/ImageTest.cs
index 838fb1d..6aecd35 100644
--- a/Assets/Tests/Runtime/ImageTest.cs
+++ b/Assets/Tests/Runtime/ImageTest.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Tests {
diff --git a/Assets/Tests/Runtime/InspectBuildCacheTest.cs b/Assets/Tests/Runtime/InspectBuildCacheTest.cs
index 0d39f0e..878face 100644
--- a/Assets/Tests/Runtime/InspectBuildCacheTest.cs
+++ b/Assets/Tests/Runtime/InspectBuildCacheTest.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Tests {
diff --git a/Assets/Tests/Runtime/StreamingTest.cs b/Assets/Tests/Runtime/StreamingTest.cs
index 97de808..e787c79 100644
--- a/Assets/Tests/Runtime/StreamingTest.cs
+++ b/Assets/Tests/Runtime/StreamingTest.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Tests {
diff --git a/Assets/Tests/Runtime/SystemInfoTest.cs b/Assets/Tests/Runtime/SystemInfoTest.cs
index 1fbb6c5..2672958 100644
--- a/Assets/Tests/Runtime/SystemInfoTest.cs
+++ b/Assets/Tests/Runtime/SystemInfoTest.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Tests {
diff --git a/Assets/Tests/Tests.unity b/Assets/Tests/Tests.unity
index 998d54a..f258f10 100644
--- a/Assets/Tests/Tests.unity
+++ b/Assets/Tests/Tests.unity
@@ -493,7 +493,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1167683551}
- m_Enabled: 1
+ m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5cf472ac7b4534dd8a7bed1e3714204d, type: 3}
m_Name:
diff --git a/Changelog.md b/Changelog.md
index f1848e6..4f91ba8 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,5 +1,5 @@
## 0.0.33
-*INCOMPLETE*
++ Fixed prediction embedding errors causing Unity build to fail.
## 0.0.32
+ Function can now make predictions fully offline after a predictor has been cached on-device.
diff --git a/Function.Editor.csproj b/Function.Editor.csproj
index 6873ba4..bf692f1 100644
--- a/Function.Editor.csproj
+++ b/Function.Editor.csproj
@@ -69,7 +69,6 @@
-
diff --git a/Function.Unity.csproj b/Function.Unity.csproj
index 43f0170..e640887 100644
--- a/Function.Unity.csproj
+++ b/Function.Unity.csproj
@@ -67,7 +67,6 @@
-
diff --git a/Packages/ai.fxn.fxn3d/Editor/Build/AndroidBuildHandler.cs b/Packages/ai.fxn.fxn3d/Editor/Build/AndroidBuildHandler.cs
index 97f3e61..364b3a1 100644
--- a/Packages/ai.fxn.fxn3d/Editor/Build/AndroidBuildHandler.cs
+++ b/Packages/ai.fxn.fxn3d/Editor/Build/AndroidBuildHandler.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Editor.Build {
@@ -51,7 +51,10 @@ protected override FunctionSettings CreateSettings (BuildReport report) {
)).Result;
return new CachedPrediction(prediction, clientId);
} catch (Exception ex) {
- Debug.LogWarning($"Function: Failed to embed {tag} with error: {ex.Message}. Edge predictions with this predictor will likely fail at runtime.");
+ Debug.LogException(new InvalidOperationException(
+ $"Function: Failed to embed {tag} predictor. Predictions with this predictor will likely fail at runtime.",
+ ex
+ ));
return null;
}
}));
@@ -75,14 +78,22 @@ void IPostGenerateGradleAndroidProject.OnPostGenerateGradleAndroidProject (strin
continue;
// Fetch resources
var client = new DotNetClient(Function.URL);
- var resources = prediction.resources.Where(res => res.type == @"dso");
- foreach (var resource in resources) {
- var baseName = Path.GetFileName(PredictionService.GetResourcePath(resource, libDir));
- var libName = $"lib{baseName}.so";
- var path = Path.Combine(libDir, libName);
- using var dsoStream = Task.Run(async () => await client.Download(resource.url)).Result;
- using var fileStream = File.Create(path);
- dsoStream.CopyTo(fileStream);
+ foreach (var resource in prediction.resources) {
+ try {
+ if (resource.type != @"dso")
+ continue;
+ var baseName = Path.GetFileName(PredictionService.GetResourcePath(resource, libDir));
+ var libName = $"lib{baseName}.so";
+ var path = Path.Combine(libDir, libName);
+ using var dsoStream = Task.Run(() => client.Download(resource.url)).Result;
+ using var fileStream = File.Create(path);
+ dsoStream.CopyTo(fileStream);
+ } catch (AggregateException ex) {
+ Debug.LogException(new InvalidOperationException(
+ $"Function: Failed to embed prediction resource for {prediction.tag} predictor. Predictions with this predictor will likely fail at runtime.",
+ ex.InnerException
+ ));
+ }
}
}
cache = null;
diff --git a/Packages/ai.fxn.fxn3d/Editor/Build/BuildHandler.cs b/Packages/ai.fxn.fxn3d/Editor/Build/BuildHandler.cs
index e2124ba..17b818a 100644
--- a/Packages/ai.fxn.fxn3d/Editor/Build/BuildHandler.cs
+++ b/Packages/ai.fxn.fxn3d/Editor/Build/BuildHandler.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Editor/Build/LinuxBuildHandler.cs b/Packages/ai.fxn.fxn3d/Editor/Build/LinuxBuildHandler.cs
index 3666fce..5313052 100644
--- a/Packages/ai.fxn.fxn3d/Editor/Build/LinuxBuildHandler.cs
+++ b/Packages/ai.fxn.fxn3d/Editor/Build/LinuxBuildHandler.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Editor.Build {
diff --git a/Packages/ai.fxn.fxn3d/Editor/Build/WebGLBuildHandler.cs b/Packages/ai.fxn.fxn3d/Editor/Build/WebGLBuildHandler.cs
index 88b0379..a8788af 100644
--- a/Packages/ai.fxn.fxn3d/Editor/Build/WebGLBuildHandler.cs
+++ b/Packages/ai.fxn.fxn3d/Editor/Build/WebGLBuildHandler.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Editor/Build/WindowsBuildHandler.cs b/Packages/ai.fxn.fxn3d/Editor/Build/WindowsBuildHandler.cs
index e8096f7..838c7c2 100644
--- a/Packages/ai.fxn.fxn3d/Editor/Build/WindowsBuildHandler.cs
+++ b/Packages/ai.fxn.fxn3d/Editor/Build/WindowsBuildHandler.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Editor.Build {
diff --git a/Packages/ai.fxn.fxn3d/Editor/Build/iOSBuildHandler.cs b/Packages/ai.fxn.fxn3d/Editor/Build/iOSBuildHandler.cs
index 41b0b34..717ca4c 100644
--- a/Packages/ai.fxn.fxn3d/Editor/Build/iOSBuildHandler.cs
+++ b/Packages/ai.fxn.fxn3d/Editor/Build/iOSBuildHandler.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Editor.Build {
@@ -50,7 +50,10 @@ protected override FunctionSettings CreateSettings (BuildReport report) {
var cached = new CachedPrediction(prediction, ClientId);
return cached;
} catch (Exception ex) {
- Debug.LogWarning($"Function: Failed to embed {tag} with error: {ex.Message}. Edge predictions with this predictor will likely fail at runtime.");
+ Debug.LogException(new InvalidOperationException(
+ $"Function: Failed to embed {tag} predictor. Predictions with this predictor will likely fail at runtime.",
+ ex
+ ));
return null;
}
})
@@ -74,16 +77,23 @@ void IPostprocessBuildWithReport.OnPostprocessBuild (BuildReport report) {
var frameworks = new List();
foreach (var prediction in cache)
foreach (var resource in prediction.resources) {
- if (resource.type != @"dso")
- continue;
- var dsoPath = Path.GetTempFileName();
- {
- using var dsoStream = Task.Run(async () => await client.Download(resource.url)).Result;
- using var fileStream = File.Create(dsoPath);
- dsoStream.CopyTo(fileStream);
+ try {
+ if (resource.type != @"dso")
+ continue;
+ var dsoPath = Path.GetTempFileName();
+ {
+ using var dsoStream = Task.Run(() => client.Download(resource.url)).Result;
+ using var fileStream = File.Create(dsoPath);
+ dsoStream.CopyTo(fileStream);
+ }
+ ZipFile.ExtractToDirectory(dsoPath, frameworkDir, true);
+ frameworks.Add(resource.name);
+ } catch (AggregateException ex) {
+ Debug.LogException(new InvalidOperationException(
+ $"Function: Failed to embed prediction resource for {prediction.tag} predictor. Predictions with this predictor will likely fail at runtime.",
+ ex.InnerException
+ ));
}
- ZipFile.ExtractToDirectory(dsoPath, frameworkDir, true);
- frameworks.Add(resource.name);
}
#if UNITY_IOS
var pbxPath = PBXProject.GetPBXProjectPath(report.summary.outputPath);
diff --git a/Packages/ai.fxn.fxn3d/Editor/Build/macOSBuildHandler.cs b/Packages/ai.fxn.fxn3d/Editor/Build/macOSBuildHandler.cs
index baf3667..73016e7 100644
--- a/Packages/ai.fxn.fxn3d/Editor/Build/macOSBuildHandler.cs
+++ b/Packages/ai.fxn.fxn3d/Editor/Build/macOSBuildHandler.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Editor.Build {
@@ -56,7 +56,10 @@ protected override FunctionSettings CreateSettings (BuildReport report) {
var cached = new CachedPrediction(prediction, clientId);
return cached;
} catch (Exception ex) {
- Debug.LogWarning($"Function: Failed to embed {tag} with error: {ex.Message}. Edge predictions with this predictor will likely fail at runtime.");
+ Debug.LogException(new InvalidOperationException(
+ $"Function: Failed to embed {tag} predictor. Predictions with this predictor will likely fail at runtime.",
+ ex
+ ));
return null;
}
})
@@ -88,37 +91,46 @@ void IPostprocessBuildWithReport.OnPostprocessBuild (BuildReport report) {
// Embed
var frameworks = new List();
var client = new DotNetClient(Function.URL);
- foreach (var prediction in cache) {
- var dso = prediction.resources.First(res => res.type == @"dso");
- var dsoName = Path.GetFileName(PredictionService.GetResourcePath(dso, outputPath));
- var dsoPath = Path.Combine(frameworkDir, dsoName);
- using var dsoStream = Task.Run(async () => await client.Download(dso.url)).Result;
- using var fileStream = File.Create(dsoPath);
- dsoStream.CopyTo(fileStream);
- frameworks.Add(dsoName);
- }
+ foreach (var prediction in cache)
+ foreach (var resource in prediction.resources) {
+ try {
+ if (resource.type != @"dso")
+ continue;
+ var dsoName = Path.GetFileName(PredictionService.GetResourcePath(resource, outputPath));
+ var dsoPath = Path.Combine(frameworkDir, dsoName);
+ using var dsoStream = Task.Run(() => client.Download(resource.url)).Result;
+ using var fileStream = File.Create(dsoPath);
+ dsoStream.CopyTo(fileStream);
+ frameworks.Add(dsoName);
+ } catch (AggregateException ex) {
+ Debug.LogException(new InvalidOperationException(
+ $"Function: Failed to embed prediction resource for {prediction.tag} predictor. Predictions with this predictor will likely fail at runtime.",
+ ex.InnerException
+ ));
+ }
+ }
// Check Xcode project
if (isApp)
return;
- #if UNITY_STANDALONE_OSX
- // Load Xcode project
- var projectName = new DirectoryInfo(outputPath).Name + ".xcodeproj";
- var pbxPath = Path.Combine(outputPath, projectName, @"project.pbxproj");
- var project = new PBXProject();
- project.ReadFromFile(pbxPath);
- // Add frameworks
- var targetGuid = project.GetUnityMainTargetGuid();
- foreach (var framework in frameworks) {
- var frameworkGuid = project.AddFile(
- $"{Application.productName}/Frameworks/Function/" + framework,
- "Frameworks/" + framework,
- PBXSourceTree.Source
- );
- project.AddFileToEmbedFrameworks(targetGuid, frameworkGuid);
- }
- // Write
- project.WriteToFile(pbxPath);
- #endif
+ #if UNITY_STANDALONE_OSX
+ // Load Xcode project
+ var projectName = new DirectoryInfo(outputPath).Name + ".xcodeproj";
+ var pbxPath = Path.Combine(outputPath, projectName, @"project.pbxproj");
+ var project = new PBXProject();
+ project.ReadFromFile(pbxPath);
+ // Add frameworks
+ var targetGuid = project.GetUnityMainTargetGuid();
+ foreach (var framework in frameworks) {
+ var frameworkGuid = project.AddFile(
+ $"{Application.productName}/Frameworks/Function/" + framework,
+ "Frameworks/" + framework,
+ PBXSourceTree.Source
+ );
+ project.AddFileToEmbedFrameworks(targetGuid, frameworkGuid);
+ }
+ // Write
+ project.WriteToFile(pbxPath);
+ #endif
// Empty cache
cache = null;
}
diff --git a/Packages/ai.fxn.fxn3d/Editor/FunctionInfo.cs b/Packages/ai.fxn.fxn3d/Editor/FunctionInfo.cs
deleted file mode 100644
index 1993f1c..0000000
--- a/Packages/ai.fxn.fxn3d/Editor/FunctionInfo.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
-*/
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using static Function.Function;
-
-// Metadata
-[assembly: AssemblyCompany(@"NatML Inc.")]
-[assembly: AssemblyTitle(@"Function.Editor")]
-[assembly: AssemblyVersion(Version)]
-[assembly: AssemblyCopyright(@"Copyright © 2024 NatML Inc. All Rights Reserved.")]
-
-// Friends
-[assembly: InternalsVisibleTo(@"Function.Tests.Editor")]
-[assembly: InternalsVisibleTo(@"Function.Tests.Runtime")]
\ No newline at end of file
diff --git a/Packages/ai.fxn.fxn3d/Editor/FunctionInfo.cs.meta b/Packages/ai.fxn.fxn3d/Editor/FunctionInfo.cs.meta
deleted file mode 100644
index 5c9f01a..0000000
--- a/Packages/ai.fxn.fxn3d/Editor/FunctionInfo.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 9f77a9741fad24a2fa054f0b0260dfa8
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/ai.fxn.fxn3d/Editor/FunctionMenu.cs b/Packages/ai.fxn.fxn3d/Editor/FunctionMenu.cs
index 96f16ea..aa0dc10 100644
--- a/Packages/ai.fxn.fxn3d/Editor/FunctionMenu.cs
+++ b/Packages/ai.fxn.fxn3d/Editor/FunctionMenu.cs
@@ -1,13 +1,11 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Editor {
- using System.IO;
using UnityEditor;
- using UnityEngine;
internal static class FunctionMenu {
diff --git a/Packages/ai.fxn.fxn3d/Editor/FunctionProjectSettings.cs b/Packages/ai.fxn.fxn3d/Editor/FunctionProjectSettings.cs
index e37b72f..0c52603 100644
--- a/Packages/ai.fxn.fxn3d/Editor/FunctionProjectSettings.cs
+++ b/Packages/ai.fxn.fxn3d/Editor/FunctionProjectSettings.cs
@@ -1,11 +1,20 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyCompany(@"NatML Inc.")]
+[assembly: AssemblyTitle(@"Function.Editor")]
+[assembly: AssemblyVersion(Function.Function.Version)]
+[assembly: AssemblyCopyright(@"Copyright © 2025 NatML Inc. All Rights Reserved.")]
+[assembly: InternalsVisibleTo(@"Function.Tests.Editor")]
+[assembly: InternalsVisibleTo(@"Function.Tests.Runtime")]
+
namespace Function.Editor {
- using UnityEngine;
using UnityEditor;
using Internal;
diff --git a/Packages/ai.fxn.fxn3d/Editor/FunctionSettingsProvider.cs b/Packages/ai.fxn.fxn3d/Editor/FunctionSettingsProvider.cs
index e6f6ad5..a39ab76 100644
--- a/Packages/ai.fxn.fxn3d/Editor/FunctionSettingsProvider.cs
+++ b/Packages/ai.fxn.fxn3d/Editor/FunctionSettingsProvider.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Editor {
diff --git a/Packages/ai.fxn.fxn3d/Runtime/API/DotNetClient.cs b/Packages/ai.fxn.fxn3d/Runtime/API/DotNetClient.cs
index b7a34e6..2233f9c 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/API/DotNetClient.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/API/DotNetClient.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/API/FunctionAPIException.cs b/Packages/ai.fxn.fxn3d/Runtime/API/FunctionAPIException.cs
index 2b6fb2d..8249043 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/API/FunctionAPIException.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/API/FunctionAPIException.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/API/FunctionClient.cs b/Packages/ai.fxn.fxn3d/Runtime/API/FunctionClient.cs
index 399ec81..c3c8381 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/API/FunctionClient.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/API/FunctionClient.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/C/Configuration.cs b/Packages/ai.fxn.fxn3d/Runtime/C/Configuration.cs
index 3887852..d74e7f3 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/C/Configuration.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/C/Configuration.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/C/Function.cs b/Packages/ai.fxn.fxn3d/Runtime/C/Function.cs
index 893f637..abc04e9 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/C/Function.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/C/Function.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/C/Prediction.cs b/Packages/ai.fxn.fxn3d/Runtime/C/Prediction.cs
index 43433a7..fd36788 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/C/Prediction.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/C/Prediction.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/C/PredictionStream.cs b/Packages/ai.fxn.fxn3d/Runtime/C/PredictionStream.cs
index dbc3016..fc93271 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/C/PredictionStream.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/C/PredictionStream.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/C/Predictor.cs b/Packages/ai.fxn.fxn3d/Runtime/C/Predictor.cs
index f01d270..a8b877c 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/C/Predictor.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/C/Predictor.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/C/Value.cs b/Packages/ai.fxn.fxn3d/Runtime/C/Value.cs
index e8b3759..adccef3 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/C/Value.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/C/Value.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/C/ValueMap.cs b/Packages/ai.fxn.fxn3d/Runtime/C/ValueMap.cs
index cd5d7d8..29a3b51 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/C/ValueMap.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/C/ValueMap.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/Function.cs b/Packages/ai.fxn.fxn3d/Runtime/Function.cs
index 4346e85..1659d56 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/Function.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/Function.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
@@ -11,7 +11,7 @@
[assembly: AssemblyCompany(@"NatML Inc.")]
[assembly: AssemblyTitle(@"Function.Runtime")]
[assembly: AssemblyVersion(Function.Function.Version)]
-[assembly: AssemblyCopyright(@"Copyright © 2024 NatML Inc. All Rights Reserved.")]
+[assembly: AssemblyCopyright(@"Copyright © 2025 NatML Inc. All Rights Reserved.")]
[assembly: InternalsVisibleTo(@"Function.Unity")]
[assembly: InternalsVisibleTo(@"Function.Editor")]
[assembly: InternalsVisibleTo(@"Function.Tests.Editor")]
diff --git a/Packages/ai.fxn.fxn3d/Runtime/Services/Prediction.cs b/Packages/ai.fxn.fxn3d/Runtime/Services/Prediction.cs
index 92b5585..9cd8b83 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/Services/Prediction.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/Services/Prediction.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/Services/Predictor.cs b/Packages/ai.fxn.fxn3d/Runtime/Services/Predictor.cs
index 080d5c3..9e59cfe 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/Services/Predictor.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/Services/Predictor.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/Services/User.cs b/Packages/ai.fxn.fxn3d/Runtime/Services/User.cs
index fc43d27..647ae5b 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/Services/User.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/Services/User.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/Types/Dtype.cs b/Packages/ai.fxn.fxn3d/Runtime/Types/Dtype.cs
index 7dd53d3..4a824c5 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/Types/Dtype.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/Types/Dtype.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
namespace Function.Types {
diff --git a/Packages/ai.fxn.fxn3d/Runtime/Types/Image.cs b/Packages/ai.fxn.fxn3d/Runtime/Types/Image.cs
index cf81226..f6add5d 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/Types/Image.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/Types/Image.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/Types/Prediction.cs b/Packages/ai.fxn.fxn3d/Runtime/Types/Prediction.cs
index 26f727f..692b79e 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/Types/Prediction.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/Types/Prediction.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/Types/Predictor.cs b/Packages/ai.fxn.fxn3d/Runtime/Types/Predictor.cs
index dca3695..e2c9c7d 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/Types/Predictor.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/Types/Predictor.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/Types/Tensor.cs b/Packages/ai.fxn.fxn3d/Runtime/Types/Tensor.cs
index 19a7fcf..86c70e0 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/Types/Tensor.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/Types/Tensor.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Runtime/Types/User.cs b/Packages/ai.fxn.fxn3d/Runtime/Types/User.cs
index e1cdc2f..9ddb411 100644
--- a/Packages/ai.fxn.fxn3d/Runtime/Types/User.cs
+++ b/Packages/ai.fxn.fxn3d/Runtime/Types/User.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Unity/API/PredictionCacheClient.cs b/Packages/ai.fxn.fxn3d/Unity/API/PredictionCacheClient.cs
index af55ccd..fdc4e1a 100644
--- a/Packages/ai.fxn.fxn3d/Unity/API/PredictionCacheClient.cs
+++ b/Packages/ai.fxn.fxn3d/Unity/API/PredictionCacheClient.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Unity/API/UnityClient.cs b/Packages/ai.fxn.fxn3d/Unity/API/UnityClient.cs
index 8361d66..b15dcb5 100644
--- a/Packages/ai.fxn.fxn3d/Unity/API/UnityClient.cs
+++ b/Packages/ai.fxn.fxn3d/Unity/API/UnityClient.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Unity/FunctionUnity.cs b/Packages/ai.fxn.fxn3d/Unity/FunctionUnity.cs
index d4969e8..034399b 100644
--- a/Packages/ai.fxn.fxn3d/Unity/FunctionUnity.cs
+++ b/Packages/ai.fxn.fxn3d/Unity/FunctionUnity.cs
@@ -1,10 +1,21 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyCompany(@"NatML Inc")]
+[assembly: AssemblyTitle(@"Function.Unity")]
+[assembly: AssemblyVersion(Function.Function.Version)]
+[assembly: AssemblyCopyright(@"Copyright © 2025 NatML Inc. All Rights Reserved.")]
+[assembly: InternalsVisibleTo(@"Function.Editor")]
+[assembly: InternalsVisibleTo(@"Function.Tests.Editor")]
+[assembly: InternalsVisibleTo(@"Function.Tests.Runtime")]
+
namespace Function {
using System;
diff --git a/Packages/ai.fxn.fxn3d/Unity/Internal/FunctionInfo.cs b/Packages/ai.fxn.fxn3d/Unity/Internal/FunctionInfo.cs
deleted file mode 100644
index 60c3a67..0000000
--- a/Packages/ai.fxn.fxn3d/Unity/Internal/FunctionInfo.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
-*/
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using static Function.Function;
-
-// Metadata
-[assembly: AssemblyCompany(@"NatML Inc")]
-[assembly: AssemblyTitle(@"Function.Unity")]
-[assembly: AssemblyVersion(Version)]
-[assembly: AssemblyCopyright(@"Copyright © 2024 NatML Inc. All Rights Reserved.")]
-
-// Friends
-[assembly: InternalsVisibleTo(@"Function.Editor")]
-[assembly: InternalsVisibleTo(@"Function.Tests.Editor")]
-[assembly: InternalsVisibleTo(@"Function.Tests.Runtime")]
\ No newline at end of file
diff --git a/Packages/ai.fxn.fxn3d/Unity/Internal/FunctionInfo.cs.meta b/Packages/ai.fxn.fxn3d/Unity/Internal/FunctionInfo.cs.meta
deleted file mode 100644
index 27f6028..0000000
--- a/Packages/ai.fxn.fxn3d/Unity/Internal/FunctionInfo.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: a016718ee40274c378fd5855f2c3f0ca
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/ai.fxn.fxn3d/Unity/Internal/FunctionSettings.cs b/Packages/ai.fxn.fxn3d/Unity/Internal/FunctionSettings.cs
index 5642e9b..062176d 100644
--- a/Packages/ai.fxn.fxn3d/Unity/Internal/FunctionSettings.cs
+++ b/Packages/ai.fxn.fxn3d/Unity/Internal/FunctionSettings.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/Packages/ai.fxn.fxn3d/Unity/Types/CachedPrediction.cs b/Packages/ai.fxn.fxn3d/Unity/Types/CachedPrediction.cs
index f97c79d..5eb226c 100644
--- a/Packages/ai.fxn.fxn3d/Unity/Types/CachedPrediction.cs
+++ b/Packages/ai.fxn.fxn3d/Unity/Types/CachedPrediction.cs
@@ -1,6 +1,6 @@
/*
* Function
-* Copyright © 2024 NatML Inc. All rights reserved.
+* Copyright © 2025 NatML Inc. All rights reserved.
*/
#nullable enable
diff --git a/README.md b/README.md
index 8beb318..b42113f 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ Add the following items to your Unity project's `Packages/manifest.json`:
}
],
"dependencies": {
- "ai.fxn.fxn3d": "0.0.32"
+ "ai.fxn.fxn3d": "0.0.33"
}
}
```
diff --git a/fxnc.py b/fxnc.py
index ade3d66..e25e243 100644
--- a/fxnc.py
+++ b/fxnc.py
@@ -1,6 +1,6 @@
#
# Function
-# Copyright © 2024 NatML Inc. All Rights Reserved.
+# Copyright © 2025 NatML Inc. All Rights Reserved.
#
from argparse import ArgumentParser