Radar Chart Widget

https://i.imgur.com/dv6tSmm.png

The Support page for the Radar Chart Widget plugin

Marketplace:
https://unrealengine.com/marketplace…r-chart-widget

Playable Demo (Win64, 100mb):
https://drive.google.com/open?id=1AM…lbsEEhVCdCmWvO

Example Projects:

For 5.00 (25mb, Requires Plugin): [Download from GoogleDrive]
For 4.27 (25mb, Requires Plugin): [Download from GoogleDrive]
For 4.25 (25mb, Requires Plugin): [Download from GoogleDrive]

Documentation:

Fully rewritten and now with mouse input and more!

Features:

  • With Mouse Input (OnHover & OnUnhover, OnPress & OnRelease, OnClick, OnValueSlide)
  • Change values by dragging the pins (Value slide) - usefull for configurators
  • Animated set values and normalization scale with multiple ease types
  • Highly customizeable to fit every type of project
  • Completely written in C++ for best performance
  • Usable with UMG/Blueprints/C++ and in pure Slate (Style based)
  • Easy to use
  • Use multiple value layers to compare before and afters values or (for example)
  • Display Icons, Label Texts, SubLabel Text (for example to display the current value), and Label Backgrounds
  • Use color coding to make the graph easier to read for the user
  • The base and every value layer has it’s own appearance & interaction settings

_____________________________________________

Changelog:
v3.0.5 (12.06.23)(Only for UE5.2)

  • Updated links to the forum and contact

v3.0.4 (12.06.22)(Only for UE5)*

  • Fix for when values were updated it showed the default values instead of the updated ones. (Occured when "Wrapped inside Invalidation Panel is true and placed inside Scalebox Widget)**

v3.0.3 (28.05.22)(Only for UE5)

  • Fix for pin-dragging beeing not compatible with custom normalization scale

v3.0.2 (28.05.22)(Only for UE5)

  • Added functionality to override the normalization scale per segment
    (The functions “Set Normalization Scale” and “Set Normalization Scale Animated” will also have no effect on segments with overriden normalization scales!

v3.0.1 (07.04.22)

  • Add support for Unreal Engine 5
  • Fixed naming conflict with ERadarChartColorOverride when exposed to python (only appeared when packaging a project)

v3.0.0 (31.12.20)

  • Full refactor of the code Caution: Not compatible with previous versions, [adjustements needed ]

  • MUCH more customizeable to fit everyone’s needs

  • Mouse Input support for: Labels, Values, Pins

  • Possibility to modify the values by Mouse dragging (nice for configurators)

  • Automatic value-normalization

  • New Layouting capabilities

  • Ruler added

  • Better functions for settings values, with animated transition

  • Superiour example project, now usable as learning resource

v2.0.2 (03.09.20)

  • Changed to use non-unity-build (bUseUnity = false) and IWYU

v2.0.1 (28.07.20)

  • Fixed crash when hot reloading.
    Only occured if the plugin was moved to the project’s plugin folder and then compiled the project inside VIsual Studio while the editor was running. Cause was the use of ConstructorHelpers for the materials, was changed to LoadObject instead.

v2.0 (26.06.20)

  • Initial Release on Marketplace

I opened up my old project this morning and just found that nothing worked anymore. Have you made some major changes to “set values to layer”? That node does not work anymore

@fangchampaign If you updated to version 3.0, than yes.

OK, thanks. It seems that your new auto value normalization feature caused the problem. I revised my Blueprint and luckily things get back to normal.

Hello!

I’ve bin trying to trying to access TArray<[FRadarChartSegment] from RadarChartWidgetRef->Style-> array.

However there is nothing i can access from GetStyle. I’ve attached a screenshot so you can see what I mean. How do I access the FRadarChartSegment array?

Imgur

@ERICPIERRKARVAN Sorry for the very late response, the forum just didn’t notifiy me that there was a new post.

Just break the RadarChartStyle, and activate your desired pin in the details panel. (Be sure to get the style as reference or changes won’t be applied)

A user asked the question on the marketplace on how to clamp the value while sliding to a min/max, here the solution:

(after the set value function just some additional slider widgets get updated)

Hi there, is there somewhere we can access a UE5 preview version?

Hi @thelazylion, I’m afraid I’m not able to provide a version for the UE5 preview. As this is a code plugin I rely on Epic to compile missing platform binaries to guarantee compatibilty on all platforms.
Besides that it’s never a good idea to switch to a preview version for projects in production.

Since yesterday the plugin is now available for Unreal Engine 5. :slight_smile:

@thelazylion For your question on the marketplace on how to modifiy the amount of segments at runtime:

  1. Get the style of your chart and resize the segments array (if that’s the only thing you want to do, or get the segments array as REFERENCE if you want to modify the appearance).

  2. Match the values for the value layers to be be the same size as the new segments. If a value layer has not the correct size it will not be visible.

  3. Example change of appearance: show the icons

  4. Force rebuild the chart (slow operation as it rebuils every widget, do not call that function every frame as it gets unstable because of caching etc.)

That function call is necessary if you modified the segments or made a change in the appearance that requires adding/removing widgets (e.g. icons, text, …)

  1. Make simple changes in appearance; colors, textures, offsets etc.

Remember: always “get as reference” or call “set members in …”

Appreciate the assistance on this,

Also now running into an issue, before it wasn’t, but possibly 5.01 introduced this, but I can no longer package a project including this plugin due to the following err message.

Error LNK2011: precompiled object not linked in; image may not run

@thelazylion Hm this seems odd, I packaged my project for Android + Windows (with UE 5.0.1)) and no error appeared. Can you provide more information on your project?

  1. Is it a BP only project or a c++ project?
  2. Did you delete Intermediate/DerivedData/Build/Binaries folders and then tried to repackage?
  3. What platform and what target build did you try to package?
  4. Did you try to check “full rebuild” in the project settings->packaging?
  5. Are you sure it is related to this plugin?

This is the Error message that emerges when trying to package.

It was working in 5.0

But after 5.01 update.

This is now the error that generates…

This is from a zipped version of the project, no intermediate/cache files, and a new build.

But tbh, im not sure the cause is your plugin, or something else.

UATHelper: Packaging (Windows): RadarChart.init.gen.cpp.obj : error LNK2011: precompiled object not linked in; image may not run UATHelper: Packaging (Windows): Hint on symbols that are defined and could potentially match: UATHelper: Packaging (Windows): __@@_PchSym_@00@UiktPhrnfozgliUorggovsfnfmxzoUrmgvinvwrzgvUyfrowUdrmGEUzoxsvnrhghPsvilUhsrkkrmtUvmtrmvUhszivwkxsOvmtrmvOhszwldviilihOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UtucwveUtucUlfgkfgUwfnkGEUwDwvcgUrtucPvcgPoryOwriUivovzhvUhgwzucPoryOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUkoftrmhUnvwrzUrntnvwrzUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUlkvmvcidizkkviUkxsOlkvmvcidizkkviOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUkoftrmhUxlnkivhhrlmUllwovmvgdlipUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUllwovmvgdlipkoftrmUkxsOllwovmvgdlipszmwovixlnklmvmgOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUhozgvUhszivwkxsOhozgvOhszwldviilihOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUrmhgzooyfmwovnzmztviUkxsOrmhgzooyfmwovnzmztviOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUrnztvdizkkviUkxsOrnztvdizkkviOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUvmtrmvUhszivwkxsOvmtrmvOhszwldviilihOmlfmwvuOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUvmtrmvUhszivwkxsOvmtrmvOhszwldviilihOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUvmtrmvUhszivwkxsOvmtrmvOiggrOvcxvkgrlmhOhszwldviilihOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUvmtrmvUhszivwkxsOvmtrmvOmlhszwldOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUvmtrmvUhszivwkxsOvmtrmvOmlmlkgrnravwOhszwldviilihOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUvmtrmvUhszivwkxsOvmtrmvOvcxvkgrlmhOhszwldviilihOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUvmtrmvUkxsOvmtrmvOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUxlivUhszivwkxsOxlivOhszwldviilihOgbkvxzhgdzimrmthOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUxlivUhszivwkxsOxlivOhszwldviilihOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUxlivUkxsOxlivOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUxlivflyqvxgUhszivwkxsOxlivflyqvxgOhszwldviilihOgbkvxzhgdzimrmthOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUxlivflyqvxgUhszivwkxsOxlivflyqvxgOhszwldviilihOgbkvxzhgviilihOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUxlivflyqvxgUhszivwkxsOxlivflyqvxgOhszwldviilihOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): __@@_PchSym_@00@UyfrowUQQfvFUhbmxUvmtrmvUrmgvinvwrzgvUyfrowUdrmGEUfmivzotznvUhsrkkrmtUxlivflyqvxgUkxsOxlivflyqvxgOsOlyq@4B2008FD98C1DD4 UATHelper: Packaging (Windows): X:\RPG_Simulator\LittleHumuncal\Binaries\Win64\Alchemists_Hero-Win64-Shipping.exe : fatal error LNK1120: 1 unresolved externals

Does this error also occur on an new/clean project just with the plugin enabled and a chart widget created at level start (so it gets cooked)?
Because I have difficulties reproducing this error on my end.
Tried it now on some pure bp projects and c++ projects. Fresh/clean ones and also the provided chart example project, but never got any errors.
Neither in development configuration nor shipping.

Because that’s a linker error:

  • If you have a c++ project, you need to add dependecies inside your projects build.cs file. (only if referenced inside code though)

  • Or you may forgot to include a necessary header somewhere in your code

  • Or you could also try reinstalling the plugin, maybe something got corrupted whilst the 5.0.1 update (maybe in the cleanup phase, as 5.0 had an bug too, where installing a code plugin getting the whole engine corrupted, which got fixed with 5.0.1)

I tested it on a new project and also no luck.

But I did get the error in another plugin, In another project I just upgraded to 5.01 … also was returning the same error.

So I assumed it was the unreal engine itself, just verified the files and it reinstalled the engine after finding a corruption.

Now things seem to package like normal again.

Thanks for the assistance, and apologies if this wasted your time.
Hopefully someone else who runs into this can find the solution as well.

My engine must have corrupted on the update.

Awesome, I’m happy you got it working again!

will this work with HTML5?

The plugin uses only unreal’s slate architecture, so I don’t see a problem here. But Epic removed the html5 support a while ago, meaning they also did not compile the binaries on their side for the marketplace. It should be possible to compile them on your end, if you use a c++ project, because the source files are included.
Though, I did not test it, so no guarantees!

will this plugin support 5.1? when?