Quantum API Unreal Plugin
v0.3.0-beta
UE 5.8 Runtime plugin. Use Blueprint async nodes for simulations, random helpers, QASM tools, and hardware jobs without blocking the game thread.
Downloads, source, and demos
Support the Quantum API work
These guides, SDKs, plugins, and demos take real testing time across engines and package ecosystems.
What this plugin is
This is a UE 5.8 Win64 project plugin. UEFN is not supported. Its Blueprint async actions send HTTP requests and then return either On Success with a response or On Error with a safe error object.
-
White execution pins control when the request starts.
-
Request pins are forms you fill out before sending the request.
-
Options is for advanced per-call auth or proxy overrides. Leave it empty for normal project settings.
-
Start with Health Check, then Run Gate and Generate Random Int before trying circuits or IBM jobs.
-
The plugin does not manage IBM credentials; it sends an existing profile name to the service.
Install
Download the UE 5.8 Win64 beta release and extract it before opening your Unreal project.
-
Copy the extracted QuantumApi folder to <YourProject>/Plugins/QuantumApi.
-
Open the project and enable Quantum API in the Plugin Browser if Unreal asks. Build only if Unreal says compilation is needed.
-
Open Project Settings → Quantum API to choose an authentication mode.
Configure
Start with Backend Proxy for shipped games. Direct API Key is only for local development, demos, and game jams because a key packaged into a game client can be extracted.
In Project Settings → Quantum API, choose Direct API Key for a local test using an existing key. Direct mode always calls the hosted Quantum API address. For a shipped game, choose Backend Proxy and enter your own proxy URL. That server must expose the compatible API and keep the upstream key private. A blank proxy URL fails before a request is sent.
First Blueprint call: Health Check
Use Health Check before building bigger flows. It confirms that the service is reachable and needs no request body.
Options
Leave empty unless you are testing a one-off bearer token, API key, or custom proxy header.
On Success
Read fields such as status, service, version, runtime mode, and whether Qiskit is available.
On Error
Route FQuantumApiError to UI or logs without freezing gameplay.
Run Gate example
Run Gate is the easiest quantum-flavored test after Health Check. For a first rotation, use these request values:
GateType
rotation
bSendRotationAngle
Checked / true
RotationAngleRad
1.57079632679, which is PI / 2
On success, read Measurement. It is usually 0 or 1.
Generate Random Int example
Generate Random Int calls POST /v1/random with inclusive signed 32-bit bounds. For a coin-flip-style test, set Min = 0 and Max = 1.
The response includes Value and Source. The source may be qiskit-simulator or classical-fallback; neither is a cryptographic-randomness guarantee.
Run Circuit explained pin-by-pin
“What does ‘array of Quantum Api Circuit Operation’ mean?”
It means "a list of gate steps." A struct is a bundle of fields, an array is a list, and each Quantum Api Circuit Operation is one instruction such as "apply an H gate to qubit 0."
Use Run Circuit when you want a multi-step circuit. In plain English, you are saying: create this many qubits, run this ordered list of gate operations, then sample the circuit this many times.
Request Circuit Num Qubits
How many qubits, or wires, the circuit has. Start with 1.
Request Circuit Operations
The ordered list of gate steps. Start with one operation: Gate = h, Target = 0.
Request Shots
How many times to sample the circuit. Start with 1024.
Request Include Statevector
Advanced simulator output. Leave unchecked at first.
Request Send Seed
Whether to send a deterministic simulator seed. Leave unchecked at first.
Request Seed
Only matters when Request Send Seed is checked.
Options
Optional per-call auth or proxy overrides. Leave empty for normal project settings.
Each circuit operation has Gate, Target, optional Theta for rotation gates like rx, ry, and rz, and optional Control for controlled gates like cx.
Tiny first circuit
-
Num Qubits: 1
-
Operations: one operation with Gate = h and Target = 0
-
Shots: 1024
-
Include Statevector: unchecked
-
Send Seed: unchecked
IBM hardware jobs
The plugin submits jobs by profile name. The IBM token and instance stay on the Quantum API service, not inside the game. Set Default IBM Profile Name in Project Settings or fill the request struct's IbmProfile. You can also set Default IBM Hardware Backend; an explicit backend on a request takes priority.
-
Use List Backends with Provider = ibm to discover a backend name.
-
Submit Random Job, Submit Circuit Job, or Submit QASM Job with the backend name and profile name.
-
Poll Get Job Status, then read Get Job Result. Use Cancel Job when needed.
-
IBM hardware jobs have to wait in a queue before starting; get started at https://quantum.cloud.ibm.com/. Hardware availability, account access, queue time, and usage limits still apply.
Auth modes: Direct API Key vs Backend Proxy
Backend Proxy
Recommended for shipped games. Your backend holds the upstream API key and can accept bearer or custom headers from the plugin.
Direct API Key (Development Only)
For local development, demos, and game jams. Enter an existing key in Project Settings. The field is masked, but project files do not keep it secret.
Options
Use Override Api Key, Override Bearer Token, or Extra Headers only when one call needs different auth than the project settings.
Never ship a packaged client with a real upstream key. Direct mode uses the hosted API address; only Backend Proxy mode accepts a custom URL.
All Blueprint nodes
Typed success payloads
-
Health Check
-
Run Gate
-
Transform Text
-
Generate Random Int
Named JSON-result async actions
-
Get Echo Types
-
Run Circuit
-
List Backends
-
Transpile
-
Import QASM
-
Export QASM
-
Run QASM
-
Submit Circuit Job
-
Submit QASM Job
-
Submit Random Job
-
Get Job Status
-
Get Job Result
-
Cancel Job
Advanced operations through Call Advanced JSON
These are allowlisted request types inside one advanced Blueprint node, not separate nodes. Start with the simpler calls above.
-
Grover Search
-
Amplitude Estimation
-
Phase Estimation
-
Time Evolution
-
QAOA
-
VQE
-
MaxCut
-
Knapsack
-
Traveling Salesperson
-
State Tomography
-
Randomized Benchmarking
-
Quantum Volume
-
T1
-
T2 Ramsey
-
Portfolio Optimization
-
Portfolio Diversification
-
Kernel Classifier
-
VQC Classifier
-
QSVR Regressor
-
Ground State Energy
-
Fermionic Mapping Preview
Troubleshooting
-
If a node errors immediately, run Health Check first. In proxy mode, confirm that your Backend Proxy URL is set and reachable.
-
If Run Circuit feels confusing, start with Run Gate, then Generate Random Int, then one h operation targeting qubit 0.
-
If IBM hardware does not run, check the profile name, backend availability, account access, queue time, and service-side IBM configuration.
-
GET health, backend, and job reads retry limited transport and transient-server failures. POSTs and cancellation do not retry automatically.
Feedback, contributions, comments, and questions
Questions, corrections, and issue reports are welcome. Email MrDJ@DavidJGrimsley.com or open an issue at github.com/davidjgrimsley/quantum-api/issues.
Install the Quantum API skill
Add the agent skill when you want coding assistants to find the Quantum API guides and integration notes quickly.
Agent version (.md)
Coding agents can use the plain Markdown companion for this guide at /public-facing/api/quantum/ue-plugin.md.