XCharts for Unity: UGUI charting without textures or shaders
A charting and data visualization library for Unity. Unity数据可视化图表插件。
At a glance
- What is it?
- XCharts draws line, bar, pie, radar, heatmap and candlestick charts inside Unity through UGUI code alone. It is aimed at Unity developers who need runtime charts, and its limits follow directly from that design.
- Who is it for?
- Adopt XCharts if you ship a Unity application that needs charts built from runtime data and you are willing to work inside UGUI's constraints. Do not adopt it if you need Winform or WPF output, or if you need 3D pie, funnel, gauge or Sankey charts without a paid subscription, since those live in separate repositories behind VIP or SVIP.
- 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 75 days 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 September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What XCharts solves for Unity developers
Unity ships no charting component. A team that needs a line chart in a game HUD, an in-app analytics panel or a training simulation has to build one from meshes and text objects, or buy an asset. XCharts fills that gap as an open source library whose core is MIT licensed and whose charts are drawn entirely in code.
The README states the library is built on UGUI and supports Unity 5.6 and above, with any Unity version that supports UGUI expected to run it. The audience is narrow and clear: people already working inside Unity. The README says Winform and WPF are not supported, so this is not a general purpose .NET charting package.
What the project offers beyond basic chart types is a set of components that normally take separate work: titles, legends, tooltips, mark lines, mark areas, data zoom and visual mapping. The built-in list covers line, bar, pie, radar, scatter, heatmap, ring, candlestick, polar and parallel coordinates. Advanced types such as 3D bar, 3D pie, funnel, pyramid, gauge, liquid fill, pictorial bar, Gantt, treemap, Sankey, 3D line and graph are listed as extensions, and the README points each of those to its own repository behind a VIP or SVIP subscription.
How the pure-code drawing model works
XCharts does not ship chart images or shaders. The README describes the charts as generated entirely through code, which is what keeps the package light and lets the same chart render at any resolution. Everything you see is UGUI geometry produced at runtime.
That choice has a second effect: configuration is data, not assets. The Inspector exposes parameters for each component, and the README states that configuration and data can also be modified at runtime through code. A chart is therefore a live object you can mutate, not a baked sprite. The Examples folder in the repository reflects this. Files such as Example01_RandomData.cs, Example05_DynamicChart.cs and Example11_AddSinCurve.cs sit alongside static examples like Example10_LineChart.cs, so the repository itself shows the split between a chart built once and a chart fed continuously.
The data flow is explicit and manual. The README's FAQ answers whether XCharts can add and modify data dynamically: yes, through its data interfaces, but the source of that data, whether Excel or a database, must be parsed by you before you call those interfaces. XCharts is the rendering and interaction layer, not an ingestion layer. If you expected the library to read a spreadsheet, it will not.
Installing XCharts and drawing a first line chart
The README gives the install path in two sentences: import the XCharts unitypackage or the source into your project, and it recommends also importing XCharts-Daemon, a companion repository that the README describes as keeping compilation working across XCharts updates. The package manifest confirms the package name and minimum version, so a manifest-based install is also possible.
{
"name": "com.monitor1394.xcharts",
"version": "3.15.0",
"unity": "2018.3",
"license": "MIT"
}Note the discrepancy worth knowing before you start: package.json declares a minimum Unity of 2018.3, while the README and the badge say Unity 5.6 and above. If you are on an older editor, the README's claim is the one to verify yourself.
Once imported, the README's workflow is editor-driven. Right-click in the Hierarchy view and choose XCharts, then LineChart, and a default line chart is created. The Inspector then exposes Add Serie and Add Main Component buttons for adding series and components, and parameter changes preview live in the Game view.
# No CLI install. In Unity: import the unitypackage or source,
# then right-click in Hierarchy -> XCharts -> LineChart.The README points first-time users at Documentation~/zh/tutorial01.md, the five-minute tutorial, and says to read it carefully before anything else. That is honest advice rather than marketing: the configuration surface is large, and the tutorial is where the component model is explained.
Where UGUI puts hard limits on XCharts
The README is unusually direct about the cost of building on UGUI. It states that common UGUI problems, including jagged edges and mesh vertex count limits, also apply to XCharts. Two consequences follow.
First, aliasing. The README suggests adjusting anti-aliasing settings or using a higher resolution. Neither is a library fix; both are rendering decisions you make around the chart. If your product requires crisp diagonal lines at low resolution, plan for that before you commit.
Second, data volume. The README gives a figure of roughly 20,000 data points for a single line series. Beyond that, sampling can be enabled to support more data, at the cost of higher CPU usage. That is a real ceiling with a real trade-off attached, and it means XCharts is the wrong tool for dense time series where every point must remain individually addressable on screen.
There is a licensing boundary too. The core library is MIT, but the README lists 3D bar, 3D pie, funnel, pyramid, gauge, liquid fill, pictorial bar, Gantt, treemap, Sankey, 3D line and graph charts as separate repositories that require a VIP or SVIP subscription. If your chart type is on that list, the MIT licence does not cover it.
XCharts compared with rolling your own UGUI chart
The realistic alternative for a Unity developer is not a web charting library. It is a custom UGUI implementation, or a general mesh and shader approach written in-house.
The difference in approach is where the work sits. A custom implementation gives you exact control over vertex counts, batching and draw calls, and no dependency on someone else's component model. What you give up is everything XCharts already ships: axes, legends, tooltips, mark lines, mark areas, data zoom, visual mapping, animation types, and themes with import and export. The README lists light and dark built-in themes, and states that themes can be imported and exported.
XCharts also integrates TextMeshPro and the New Input System, according to its feature list, which matters because text rendering and input are two places where a hand-rolled chart usually needs extra work. The trade is the opposite of the usual one: you accept UGUI's vertex and aliasing constraints in exchange for not rebuilding a charting stack. For a small number of simple charts, building your own may be less code than learning the configuration surface. For anything with axes, tooltips and interaction, the balance shifts.
Maintenance, releases and what the licence actually covers
The repository is not archived and the last push was on 2026-07-17. Releases are not on a fixed cadence: v3.13.0 arrived on 2025-01-01, v3.14.0 on 2025-03-16, and v3.15.0 on 2026-03-01. The gap between v3.14.0 and v3.15.0 is close to a year, so plan upgrades around releases rather than expecting a steady stream.
XCharts-Daemon exists specifically because updates can break compilation, which tells you the upgrade path is not always silent. Budget time for importing a new version and recompiling, and read Documentation~/zh/changelog.md before moving between versions.
On licensing, the README states the core library is MIT, permitting free commercial use and secondary development. Extension charts and advanced features require a VIP or SVIP subscription for a usage licence. Subscriptions are billed annually, and the README says that after a subscription lapses you lose updates and technical support, while the core functionality is unaffected. This is a description of the project's stated terms, not legal advice; if you ship a commercial product that uses an extension chart, read Documentation~/zh/support.md and the licence files yourself before release.
Editorial conclusion
Adopt XCharts if you ship a Unity application that needs charts built from runtime data and you are willing to work inside UGUI's constraints. Do not adopt it if you need Winform or WPF output, or if you need 3D pie, funnel, gauge or Sankey charts without a paid subscription, since those live in separate repositories behind VIP or SVIP. Before committing, open Documentation~/zh/faq.md and read questions 16 and 27 on jagged edges and data volume, then check the changelog for what changed between v3.13.0, v3.14.0 and v3.15.0.
Frequently asked questions
Can XCharts add and modify chart data at runtime from code?
Yes. The README states that XCharts provides data operation interfaces and supports modifying configuration and data through code at runtime. The data source itself, such as Excel or a database, has to be parsed by you before you call those interfaces.
Which platforms does XCharts support?
XCharts is designed for Unity and supports Unity 5.6 and above; the README says any Unity version supporting UGUI should run it. Winform and WPF are explicitly not supported.
How much data can a single XCharts line chart handle?
The README gives roughly 20,000 data points for one line series. Enabling sampling supports more data but consumes more CPU.
How do I fix jagged edges in an XCharts chart?
The README attributes aliasing to UGUI itself and suggests adjusting anti-aliasing settings or using a higher resolution. It also points to questions 16 and 27 in Documentation~/zh/faq.md for more solutions.
Is XCharts free to use?
The core library is under the MIT licence and the README says it is free for commercial use and secondary development. Extension charts and advanced features require a VIP or SVIP subscription for a usage licence.
Official sources
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.
[](https://hysenlabs.com/projects/xcharts-team-xcharts)