Library / SDK
XCharts-Team/XCharts avatar
XCharts-Team/XCharts

XCharts is UGUI with an MIT core and subscription-gated chart types

A charting and data visualization library for Unity.

3,805 stars595 forksC#MIT

At a glance

What is it?
XCharts is a Unity charting library that draws its charts in code on top of UGUI, which is both its strength and its documented limit: the aliasing and mesh vertex problems of UGUI carry straight over, a single line holds about twenty thousand points, and WinForms or WPF are out of scope. The core is MIT, while the three dimensional, funnel, Gantt and Sankey charts live behind a VIP subscription.
Who is it for?
XCharts suits a Unity developer who wants charts configured from an inspector panel, previewed live and adjustable at runtime, without writing a rendering layer. It does not suit someone whose data volume exceeds roughly twenty thousand points per line unless sampling is acceptable, and it does not suit a non Unity target.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • XCharts-Team/XCharts3,805 ★ · +17
Star history
Repository2026-09-242026-11-14
XCharts-Team/XCharts3.8k3.8k

17 Stars in the last 51 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

UGUI's problems are XCharts' problems, and the README says so

The library is built on Unity's own UGUI system, and the frequently asked questions do not pretend otherwise. They state that common UGUI problems, naming aliasing and the mesh vertex count limit, also exist in XCharts. The aliasing answer is the usual one: adjust the anti aliasing settings or render at a higher resolution. That is a rendering compromise rather than a fix, which is the practical cost of building charts out of the same canvas system as the rest of a Unity interface. The same section answers the platform question honestly: XCharts is designed for Unity, supports version 5.6 and above, will run on any Unity version that supports UGUI, and does not support WinForms or WPF. So the compatibility boundary is the UI framework, not the operating system.

Charts are generated in code, with no textures or shaders

The first feature listed is pure code drawing, and the wording is specific about what that saves: charts are produced entirely through code with no extra texture or shader assets required, which is presented as lightweight and efficient. The second feature is the configuration surface: an intuitive parameter panel with a live preview, and the ability to modify configuration and data at runtime. The third is customisation, described as running from theme to component to data item, with room to supply custom drawing logic, callback functions and whole chart implementations. Custom themes can be imported and exported, and two default themes ship with the library, a light one and a dark one, so a project matches the editor look without extra work.

Ten built-in chart types, and the rest are subscriptions

The catalogue is split in a way that is really a business model. The free core lists more than ten built-in charts: line, bar, pie, radar, scatter, heatmap, ring, candlestick, polar and parallel coordinates. The advanced list names more than ten extended charts: 3D pie, 3D bar, 3D pyramid, funnel, gauge, liquid level, pictorial bar, Gantt, treemap, Sankey, 3D line and a relation graph. The extensions section then attaches a licence to each one. The core library is MIT and free, XCharts-UI and each individual extended chart require a VIP subscription, and the combined Pro package, which contains all extended charts and extended components, requires the higher SVIP tier. So the chart type you need decides whether the project is free, and the README is explicit about it.

A line chart holds about twenty thousand points, and sampling costs CPU

The data volume answer is given as a number rather than a claim about performance. A single line chart supports roughly twenty thousand data points, and enabling sampling drawing supports more than that, at the cost of consuming more CPU. The feature list uses a looser phrasing, saying that drawing of ten thousand level data volumes is supported and that sampling drawing further improves performance in large data scenarios. Two other limits are worth pairing with it. Because the charts are mesh based, the UGUI vertex count limit applies as well, which is the failure mode that hits long lists. And when the data comes from a spreadsheet or a database, XCharts does not parse it: the answer says the source must be parsed by you and then passed in through the library's data interfaces.

Getting started is four inspector actions

The usage section is short enough to follow exactly. Import the XCharts unitypackage, or the source code, into your project, and the project recommends importing the XCharts daemon as well. Then right click in the Hierarchy view and choose XCharts followed by LineChart, which creates a default line chart. In the Inspector view, the Add Serie and Add Main Component buttons add a series or a component to that chart. Every component parameter can be adjusted in the Inspector with the effect visible live in the Game view, and the file closes by pointing at a tutorial described as a five minute introduction, with a recommendation that first time users read it properly. The daemon is worth understanding rather than skipping, because it exists to make sure compilation still succeeds after XCharts is updated.

The examples are numbered by chart family

The Examples directory is the fastest way to see what the library expects you to build, and the file names are ordered by family rather than alphabetically. Example00_CheatSheet.cs is the reference sheet, followed by Example01_RandomData.cs, Example02_ChartEvent.cs, Example03_ChartAnimation.cs, Example04_DataZoom.cs and Example05_DynamicChart.cs for the general capabilities: random data, events, animation, data zoom and dynamic data. Then the families start, with Example10_LineChart.cs, Example11_AddSinCurve.cs, Example12_CustomDrawing.cs and Example13_LineSimple.cs for lines, Example20_BarChart.cs and Example21_BarRace.cs for bars, and Example30_PieChart.cs for pies. Every file ships with a .meta sibling, which is the Unity convention and a reminder that this is an asset tree rather than a normal code repository.

The README says Unity 5.6, the manifest says 2018.3

The two version claims do not agree. The feature list states support for Unity 5.6 and above on all platforms, and the frequently asked questions repeat that version and add the UGUI caveat. The package manifest in the root, which is the file the Unity asset store tooling reads, declares a unity field set to 2018.3. The manifest also carries a version of 3.15.0, matching the newest release tag, and two date fields both set to the same day in March 2026, which is how the build stamps itself. Two third party integrations are named as supported: TextMeshPro for text rendering and the New Input System for input, both of which matter because a chart with an axis and a tooltip draws text and handles pointer interaction.

Three 3.x releases in two years, with the changelog in the tree

The release history is a slow minor cadence. v3.13.0 was published on 2025-01-01, v3.14.0 on 2025-03-16 and v3.15.0 on 2026-03-01, so the newest minor line is a year ahead of the previous one while the middle two came two months apart. The last push to the default branch master is dated 2026-07-17, four months after that tag, and the repository is not archived, so work continues on the branch without a release. The per version detail lives in the repository rather than on a release page, in a changelog document inside the documentation folder, which is also where the tutorial, the API reference, the configuration manual and the frequently asked questions are kept. The documentation folder name carries a tilde, which is the Unity convention for a folder hidden from the asset browser in a distributed package.

Editorial conclusion

XCharts suits a Unity developer who wants charts configured from an inspector panel, previewed live and adjustable at runtime, without writing a rendering layer. It does not suit someone whose data volume exceeds roughly twenty thousand points per line unless sampling is acceptable, and it does not suit a non Unity target. Before committing, check whether the chart type you need is in the free core or in a paid extension, since 3D pie, Gantt, funnel, treemap and Sankey are all subscriptions, and note the version claims differ between the README and the package manifest.

Frequently asked questions

Is XCharts free to use in a Unity project?

The core library is MIT licensed and free, including for commercial use and further development. The extended charts and extended components are not: XCharts-UI and each individual extended chart require a VIP subscription, and the Pro package containing all of them requires the higher SVIP tier, billed annually.

How much data can one XCharts line chart hold?

About twenty thousand data points on a single line. Enabling sampling drawing allows more, at the cost of more CPU, and because the charts are mesh based the usual UGUI vertex count limit applies as well. Data from a spreadsheet or database has to be parsed before it is passed in.

How do I create a chart in XCharts?

Import the unitypackage or the source into the project, optionally with the XCharts daemon, then right click in the Hierarchy view and choose XCharts followed by LineChart. The Inspector view then offers Add Serie and Add Main Component buttons, and parameters adjust with a live preview in the Game view.

Does XCharts work outside Unity?

No. It is designed for Unity, supports version 5.6 and above, and is expected to run on any Unity version supporting UGUI. WinForms and WPF are explicitly not supported, and charts are drawn through code with no separate texture or shader assets.

Which Unity version should I use with XCharts?

The README and the frequently asked questions say Unity 5.6 and above, while the package manifest declares a unity field of 2018.3. The manifest is what the Unity tooling reads, so 2018.3 is the practical floor even though the prose claims a lower one.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. XCharts-Team/XCharts on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/xcharts-team-xcharts.svg)](https://hysenlabs.com/projects/xcharts-team-xcharts)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/xcharts-team-xcharts.svg)](https://hysenlabs.com/projects/xcharts-team-xcharts)

Was this useful?