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