v1.0 · Unity 6.0+

Helix Vizforge

A Unity-native data-visualization platform — 28 + 2D chart types and 3D, three render backends from one geometry pipeline, plus scientific, financial, BI and telemetry tooling. Use it from code, or build a complete chart entirely in the Inspector with no scripts.

Unity 6.0+ Pure C# · No dependencies 28 + 3D chart types No-code + Code UGUI / UI Toolkit / World-space
ⓘ
Two ways to use it, one package. Add a ChartView component, pick a type, drop in a dataset asset and choose columns — a full chart with no code. Or drive the same engine from a fluent C# API. The Inspector path never overrides values you set in code.
✅
One geometry pipeline, three render backends. Every chart is tessellated once into a backend-neutral draw list, then drawn through UGUI, UI Toolkit or world-space (3D / XR) — identical pixels. See Render Backends.

New here? Start with the Installation and the no-code quick start. Prefer code? Jump to the code quick start or the Scripting API.

⤓ Installation

Import once, add a component (or open the welcome window). No setup wizard required.

Import from the Asset Store
In Window → Package Manager → My Assets, download and import Helix Vizforge. It lands at Assets/Helix/.
Open the welcome window
It opens automatically the first time. Re-open it any time from Window → Helix Vizforge → Welcome for one-click links to the docs, the demo and the Chart Wizard.
Add a chart
GameObject → Helix Vizforge → Chart (Line) drops a Canvas + ChartView into the scene, ready to configure.
Explore the demo
Open Assets/Helix/Demo/Scenes/HelixVizforge_InteractiveDemo.unity and press Play to browse every feature hands-on.

Requirements

What gets installed

Assets/Helix/
  Runtime/        // Core, Data, Viz pipeline, Charts (28 + 3D generators),
                  //   Rendering (UGui / UIToolkit / WorldSpace), Theme, Scales,
                  //   Scientific, Financial, Analytics, BI, Telemetry, Interaction, Export
  Editor/         // Welcome window, Chart Wizard, ChartView / Dataset / Theme inspectors
  Demos/          // the interactive showcase scene (every feature, module by module)
  Documentation/  // You are here
  Tests/          // EditMode + PlayMode (run headless via Unity -runTests)Project
ⓘ
No lock-in. A chart is a regular GameObject with a ChartView component. Remove it and nothing is rewritten on disk.

🖱 Quick Start: No Code

A complete, data-bound chart from the Inspector — no scripts.

Create a dataset
Assets → Create → Helix → Dataset, then click Import CSV… in its inspector and pick a file. The delimiter (comma / semicolon / tab) is auto-detected and column types are inferred.
Add a chart
GameObject → Helix Vizforge → Chart (Line) — this creates a Canvas and a ChartView.
Pick a type and the data
In the ChartView inspector set Chart Type (Bar, Pie, Line…) and drag your dataset asset into the Data slot.
Choose the columns
The X / Category and Y / Value fields become dropdowns listing your dataset's columns. Pick them — the chart previews live in the Scene/Game view.
(Optional) Theme it
Create a Theme (Assets → Create → Helix → Theme), pick a preset, and drop it into the Theme slot. Press Play — the chart builds itself.
💡
The full catalog beyond the dropdown (heatmap, sankey, candlestick, 3D, …) is available in code via ChartView.Chart(new SomeGenerator{…}). See Chart Catalog.

⚡ Quick Start: Code

The same engine via a fluent builder — data, type, axes, theme, render.

using UnityEngine;
using Helix.Data;
using Helix.Charts;
using Helix.Theming;

public sealed class FirstChart : MonoBehaviour
{
    void Start()
    {
        // A Canvas to draw on (Screen Space - Overlay).
        var canvas = new GameObject("Canvas", typeof(Canvas),
            typeof(UnityEngine.UI.CanvasScaler), typeof(UnityEngine.UI.GraphicRaycaster))
            .GetComponent<Canvas>();
        canvas.renderMode = RenderMode.ScreenSpaceOverlay;

        // Some data, built inline.
        var data = Dataset.Inline("sales")
            .Numbers("x", 0, 1, 2, 3, 4, 5)
            .Numbers("y", 42, 55, 38, 61, 47, 58);

        // data -> bar -> axes -> theme -> render.
        ChartView.Create(canvas.transform, "My Chart")
            .WithData(data)
            .Bar("x", "y")
            .Axes(true)
            .Themed(Theme.Dark())
            .Build();   // Build() calls Render() for you.
    }
}C#

Swap .Bar(…) for .Line, .Scatter, .Area, .Spline, .Step or .Sparkline; for any other type use .Chart(new PieGenerator{ YColumn = "y" }). See the Scripting API.

📊 Chart Catalog

28 two-dimensional chart types plus three 3D types, all from one ChartView.

FamilyTypesBind
LineLine, Area, Spline, Step, SparklineX + Y
BarBar, Horizontal Bar, Stacked, Grouped, Waterfall, FunnelX + Y (or value columns)
RadialPie, Donut, Radar, Polar, Sunburstvalue (Y)
StatisticalHistogram, Box Plot, Violin, Heatmap, Gauge, Progressvalue / grid
RelationalParallel Coords, Treemap, Sankey, Timeline, Ganttspecialized
FinancialCandlestick (+ OHLC / Volume / indicators)OHLC
3DBar3D, Scatter3D, Surface3Dgrid / XYZ
ⓘ
Cartesian types (line family, bars, scatter) share XColumn / YColumn; multi-series bars take ValueColumns; radial types read the value from YColumn. The Inspector dropdown covers the 15 most common; the rest are one line of code with .Chart(…).

🎨 Render Backends

One tessellation core, three ways to draw — the same chart, identical pixels.

Dataset → Generator → DrawList (tessellated) → UGUI / UI Toolkit / World-space
BackendSurfaceUse for
UGUI defaultUGuiChartSurfaceClassic Canvas UI; auto-attached by ChartView.
UI ToolkitVizforgeChartElementUnity's modern retained-mode UI (UI Documents).
World-spaceWorldSpaceChartSurfaceCharts in the 3D scene or an XR rig (true depth).
💡
The Render Backends module in the demo scene draws one chart through all three at once. Competing Unity charting assets target a single backend.

📐 Scales & Axes

Linear, log, symlog, time and band scales with automatic, formatter-driven ticks.

ⓘ
For simple charts you don't construct scales at all — ChartView auto-scales to the data extent. Build a LogScale/TimeScale by hand only when you need a non-default domain.

🗃 Datasets & Import

A columnar data model with transforms and CSV / JSON import.

Dataset

A Dataset is a set of co-indexed typed columns (DataSeries): numbers, categories, text, booleans and time. Build one inline, import it, or author a Dataset asset.

var ds = Dataset.Inline("sales")
    .Categories("month", "Jan", "Feb", "Mar")
    .Numbers("sales", 42, 55, 38);C#

CSV / JSON import

Use the Dataset asset inspector's Import CSV button, or in code:

Dataset a = CsvImporter.Parse(csvText);   // delimiter auto-detected
Dataset b = JsonImporter.ParseRecords(jsonText);C#
✅
Locale-friendly CSV. CsvImporter.Parse auto-detects the separator (comma, semicolon, tab or pipe) from the header — so spreadsheets exported in locales that use ; import correctly with no configuration. Pass an explicit delimiter to force one.

Transforms

Chain non-destructive transforms over a dataset: FilterTransform, SortTransform, AggregateTransform, BinTransform, map and join. Each returns a new dataset.

🃰 Theming & Palettes

Design-token themes, series palettes and accessibility helpers.

🖰 No-Code Workflow

Everything a chart needs, configured by clicking.

The ChartView inspector has two parts:

Changing any field rebuilds and re-renders live in the Scene/Game view; a Rebuild / Preview button forces a refresh. At runtime the chart builds itself on Start.

ⓘ
Code and clicks coexist. If you set Data, Generator or Theme in code, the inspector path defers to it and never overrides your values.

🔧 Wizard & Assets

Menus and inspectors that scaffold and author without code.

MenuWhat it does
Window → Helix Vizforge → WelcomeThe onboarding window (links to docs, demo, wizard).
Window → Helix Vizforge → Chart WizardScaffold a chart with sample data into the scene.
GameObject → Helix Vizforge → Chart (Line)Drop a Canvas + ChartView in one click.
Assets → Create → Helix → DatasetA Dataset asset with a CSV import button.
Assets → Create → Helix → ThemeA Theme asset with preset buttons and a swatch preview.

🔬 Scientific

Fitting, smoothing, spectra and statistical overlays.

💵 Financial

Price views and the standard technical indicators.

📈 BI & Dashboards

Pivot, KPIs, drill-down and cross-filtered dashboards.

📡 Telemetry & Interaction

Live data and pointer interaction.

💾 Export

Headless, dependency-free export to images, vectors and data.

📙 Scripting API

The few entry points you'll use most.

ChartView

// Fluent builder
ChartView.Create(parent)
    .WithData(ds)
    .Line("x", "y")        // or .Bar / .Scatter / .Area / .Spline / .Step
    .Chart(new PieGenerator{ YColumn = "y" })  // any catalog type
    .Axes(true)
    .Themed(Theme.Dark())
    .Build();

// No-code: build from inspector fields (data asset + kind + columns)
view.RebuildFromInspector();
IGeometryGenerator g = ChartView.GeneratorFor(ChartKind.Bar, "x", "y", null);C#
Data

Dataset, DataSeries, CsvImporter, JsonImporter, DatasetAsset, transforms.

Theming

Theme, Palette, ThemeAsset, design tokens, contrast.

Generators

IGeometryGenerator, ChartGeneratorBase and 30 + concrete types.

Surfaces

IRenderSurface: UGUI, UI Toolkit, world-space.

💡 Troubleshooting

The usual first checks.

My chart is blank

Confirm the ChartView is under a Canvas and has a non-zero size. With a data asset, make sure the X / Y columns point at real columns (use the dropdowns). In code, confirm you called .Build() / Render() and that the column names match your dataset — a misspelled column logs a Console warning ("column not found").

My CSV imported as one column

That happens when the separator isn't a comma. Helix auto-detects comma / semicolon / tab / pipe from the header — re-import and it will split correctly. If you parse in code, you can pass an explicit delimiter to CsvImporter.Parse.

The chart doesn't update when I change data

Rendering is explicit: call view.Render() after changing data in code (the inspector does this for you on every change). In the no-code path, Auto-build on Play rebuilds on Start.

World-space / 3D chart is blank in a headless build

World-space surfaces render through a camera into a texture and need a GPU at runtime — they don't produce pixels under -nographics. They work in the editor and in player builds.

❓ FAQ

Common questions.

Do I have to write code?

No. Add a ChartView, pick a type, assign a Dataset asset and choose columns — the chart builds and renders itself. Code is optional for advanced cases.

Does it work on WebGL / mobile?

Yes. The pipeline is managed-only (no Burst/Jobs required) and WebGL-compatible; the demo ships a verified WebGL build.

Any third-party dependencies?

None. CSV/JSON parsing, statistics, FFT, regression and SVG/PNG export are all implemented in-package.

Can I add my own chart type?

Yes — implement IGeometryGenerator (or derive ChartGeneratorBase) and pass it to ChartView.Chart(…). The extensibility SDK covers custom generators, scales and transforms.

📬 Support

Need help? We're here for you.

📧

Get in Touch

Bug reports, feature requests, charting or data questions — reach out and we'll get back to you.

✉ szekipapa77@gmail.com

We typically respond within 24–48 hours.

💬 Before contacting
  • Check the Troubleshooting section
  • Confirm the chart is under a Canvas with a non-zero size
  • Verify the column names match your dataset
  • Check the Console for any parse / "column not found" messages
📋 Helpful info to include
  • Unity version (e.g. 6000.0.30f1)
  • Helix Vizforge version (v1.0)
  • Render pipeline (Built-in / URP / HDRP)
  • The chart type + a small sample dataset
⭐
Enjoying Helix Vizforge? A review on the Unity Asset Store helps other developers discover the asset and helps us keep improving it. Thank you!

Helix Vizforge v1.0 · Built for Unity 6.0+ · Pure C#, no dependencies

Support: szekipapa77@gmail.com