Add Unity package wrapper and netstandard SDK target#3
Draft
Copilot wants to merge 3 commits intophase-3-unityfrom
Draft
Add Unity package wrapper and netstandard SDK target#3Copilot wants to merge 3 commits intophase-3-unityfrom
Copilot wants to merge 3 commits intophase-3-unityfrom
Conversation
Co-authored-by: heavy-d <3121000+heavy-d@users.noreply.github.com>
Co-authored-by: heavy-d <3121000+heavy-d@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add Unity wrapper for Nodetool.SDK integration
Add Unity package wrapper and netstandard SDK target
Jan 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enable a Unity-friendly wrapper around
Nodetool.SDKwhile keeping the core SDK Unity-free, and ensure the SDK can be consumed by Unity via anetstandard2.1build with minimal API compatibility fixes.Nodetool.SDK/Nodetool.Typesfornetstandard2.1, added init-only shim, netstandard-safe I/O/HTTP overloads, and patchedSystem.Text.Jsonversions..metaassets.Example (Unity workflow execution):
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
packages.stride3d.net/usr/bin/dotnet dotnet build /home/REDACTED/work/nodetool-sdk/nodetool-sdk/csharp/Nodetool.SDK/Nodetool.SDK.csproj -c Release d -n 10(dns block)/opt/hostedtoolcache/CodeQL/2.23.9/x64/codeql/csharp/tools/linux64/Semmle.Autobuild.CSharp /opt/hostedtoolcache/CodeQL/2.23.9/x64/codeql/csharp/tools/linux64/Semmle.Autobuild.CSharp(dns block)teamcity.vvvv.org/usr/bin/dotnet dotnet build /home/REDACTED/work/nodetool-sdk/nodetool-sdk/csharp/Nodetool.SDK/Nodetool.SDK.csproj -c Release d -n 10(dns block)/opt/hostedtoolcache/CodeQL/2.23.9/x64/codeql/csharp/tools/linux64/Semmle.Autobuild.CSharp /opt/hostedtoolcache/CodeQL/2.23.9/x64/codeql/csharp/tools/linux64/Semmle.Autobuild.CSharp(dns block)/usr/bin/dotnet dotnet restore --no-dependencies /home/REDACTED/work/nodetool-sdk/nodetool-sdk/csharp/Nodetool.SDK.VL/Nodetool.SDK.VL.csproj --packages /home/REDACTED/work/nodetool-sdk/.codeql-scratch/dbs/csharp/working/packages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal /p:TargetFrameworkRootPath=/home/REDACTED/work/nodetool-sdk/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot /p:NetCoreTargetingPackRoot=/home/REDACTED/work/nodetool-sdk/.codeql-scratch/dbs/csharp/working/emptyFakeDotnetRoot lesspipe(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
Nodetool.SDK.Unity Integration Guide
Overview
This document outlines the approach for integrating Nodetool workflows into Unity projects. The goal is to create a Unity-friendly wrapper around the existing
Nodetool.SDKthat works in both Editor and Runtime.Integration Policy (Core SDK vs Unity Layer)
Nodetool.SDKas the core library. Unity integration should live in a separate Unity-facing layer/package that wraps and uses the SDK.Nodetool.SDKare allowed only when required for Unity compatibility or to fix correctness issues exposed by Unity usage.Nodetool.SDKmust not break existing functionality. Validate by running the existing.NETsmoke path (at minimumcsharp/Nodetool.SDK/TestConsole) and keeping public APIs stable.UnityEngine(and any Unity-only APIs) out ofNodetool.SDK. Unity-specific code belongs in the Unity layer.Success Criteria
Texture2D→ workflow input and an image-like output →Texture2D).Nodetool.SDKcomponents for worker execution (WebSocket, execution session, asset handling) where possible.Architecture
Phase 0: Make
Nodetool.SDKUnity-Consumable (Only If Needed)Unity typically consumes prebuilt assemblies targeting a Unity-compatible framework (commonly
.NET Standard 2.1) and runs under Editor/Mono or Player/IL2CPP.Nodetool.SDKcurrently targetsnet8.0, so we should plan for a Unity-loadable build.If the current SDK already works as-is in the target Unity version/platform, keep it unchanged.
Nodetool.SDKsource inside Unity. Unity’s C# compiler/version can lag behind and may not accept modern SDK source constructs (e.g.required), while Unity can still load a compatible prebuilt DLL.Nodetool.SDK(recommended:netstandard2.1) while keepingnet8.0for normal .NET usage.Convert.ToHexString(...)(replace with a netstandard-friendly hex encoder)File.WriteAllBytesAsync(..., CancellationToken)(use compatible overload / manual stream write)HttpContent.CopyToAsync(..., CancellationToken)(use compatible overloads)Nodetool.SDKcurrently usesSystem.Text.Jsonin multiple places. For Unity:csharp/Nodetool.SDK/TestConsole(and existing tests if present) to confirm behavior is unchanged for normal .NET consumers.Phase 1: Project Setup
1.1 Create Unity Package Structure