PatchProofProbe & Protocol API

Namespace: Decnet.PatchProof.RuntimeProbe
Assembly: Decnet.PatchProof.RuntimeProbe.dll

The PatchProofProbe component runs inside standalone player binaries, providing a loopback HTTP JSON-RPC endpoint for Editor commands.


Component Definition

[DefaultExecutionOrder(-1000)]
public class PatchProofProbe : MonoBehaviour
{
    public static PatchProofProbe Instance { get; private set; }
    public int ProbePort { get; }
    public bool IsServerRunning { get; }

    public void EnqueueMainThread(Action action);
    public Task<ProbeResponse> ExecuteCommandAsync(ProbeRequest request);
    public void StopProbeServer();
}

The Command Protocol (ProbeRequest)

[Serializable]
public class ProbeRequest
{
    public ProbeCommandType command;
    public string runToken;
    public string endpointOverrideUrl;
    public CacheState desiredCacheState;
    public string contractJson;
}

public enum ProbeCommandType
{
    Handshake,
    PrepareOwnedCache,
    InitializeAddressables,
    CheckForUpdate,
    UpdateCatalogs,
    AssertContract,
    CleanShutdown
}

The Response Protocol (ProbeResponse)

[Serializable]
public class ProbeResponse
{
    public bool success;
    public string message;
    public string engineVersion;
    public string addressablesVersion;
    public string platform;
    public List<ClientAssertion> assertions = new List<ClientAssertion>();
    public List<ProbeEvent> events = new List<ProbeEvent>();
}

[Serializable]
public class ClientAssertion
{
    public string key;
    public string expectedType;
    public string actualType;
    public bool passed;
    public string failureReason;
}

Example: Invoking the Probe over HTTP

You can interact with the probe directly using any HTTP client (e.g., curl or PowerShell) when debugging standalone binaries:

curl -X POST http://127.0.0.1:8898/ \
  -H "Content-Type: application/json" \
  -d '{"command": 0, "runToken": "manual_debug_session"}'

Response:

{
  "success": true,
  "message": "Probe handshake successful.",
  "engineVersion": "6000.5.4f1",
  "addressablesVersion": "2.9.1",
  "platform": "WindowsPlayer"
}

Back to top

Copyright © 2026 Decnet Games. PatchProof — Addressables Release Rehearsal Lab. Available on the Unity Asset Store (Short link: u3d.as/4g0P). Tested on Unity 6000.5.4f1 LTS with Addressables 2.9.1. All rights reserved.

This site uses Just the Docs, a documentation theme for Jekyll.