What is the easiest way to set up large data sets in blueprints?

I am working on a memory game in a flashcards style. - The game itself is UMG only.
Each flashcard is a data set with few different elements; word, sound & image.

These elements get displayed one after the other on a timer and once one flashcard set is done, the next one begins cycling. An example would be names, sounds and images of animals.
The player will watch these cycle by and then test their knowledge.

These can easily become hundreds of flashcard sets, so I want to set this up as painlessly as possible, especially with future expansion in mind.

We have structs, data tables, data assets, arrays, maps, composite data tables and probably something else I haven’t even heard about. All things I don’t understand much.

What is the best way to set this up properly and preferably with as little repetitive work as possible? Meaning, I might start with ten animals, but later on import hundreds.

I am on UE5.0, but that shouldn’t matter.

with a data table you can easily pass it back and forth as a csv which means you can do the updating of it in excel or google sheets - both of which offer a lot of automation and efficiency.

first you can set up the struct which holds the data needed in unreal, then export that as csv and import into excel/sheets to see what the format necessary will be,

1 Like

EDIT: Never mind, just figured it out.

I assume this would simply require pasting in the path for the images and sounds in the spreadsheet?

1 Like

I would say C++ for that.

You write in C++ two (or few) functions to load and save date to some DB or file etc.
Really basic code in C++, if you cannot write yourself, post job offer on forum, that would be one day (or weekend when some debugging needed) job for C++ coder. So if you lucky about 100$.

Then expose them. And you are done with that.

If you know any coding like pascal C++ python etc, this with watcting C++ tutorial for unreal would give you skills to code that yourself.

ps.
Also if you are doing it for ue5, just wait for VERSE (new ue script) and stable version.
I done such thing for godot also for card game and it was just few hours of coding.
So fill your data tables with dummy stuff, focus on game and wait for VERSE.

2 Likes

@Nawrot I found a way by creating a struct and then a csv export from Google Sheet (Google Excel.) - I neither have the money nor patience to learn C++ - In fact, using Unreal for this project is total overkill. Blueprints is the only programming language I’m very good at, so I went for UE5 because the Meta Sounds have things I use as well.
Verse! That will be interesting. Do you know more about it? Is it some version of C++?

The solution is from @BIGTIMEMASTER - Here presented by Mathew Wadstein:

1 Like

What does the c++ function (or text code in general) accomplish in terms of easing the workflow?

BIGTIMEMASTER
You can google search and almost copy/paste C++ solution with minimal changes.
Not everything may be done in blueprints.

SigmaGames
If using unreal for this is overkill try GODOT, for 2d games it is superior to unreal.

@Nawrot That’s absolutely right.

I did look into GODOT, Unity, the new Blender Game Engine UPBGE and HTML, CSS and Javascript to turn this into a web app. Not to forget the most underrated game engine in the world, Roblox Studio, with it’s integrated Lua.

If I was a real programmer and not just a blueprint super user at this point, Unreal wouldn’t even be a thought. Parts of this project also require coding synthesizers from scratch and the Meta Sounds blow any other non-musical software out of the water with that system.

Ahh, that explains it all. Do your stuff and wait for verse.

1 Like

Indeed indeed. It is hard to find information about Verse, it almost feels like a myth. Do you now if this is a serious pursuit by EPIC?

I do not have inside info from epic, all is speculation.
Some time ago they bought startup who made some script plugin for unreal,
so i think it is serious, question not about IF they do it but rather when they release it even as beta.

@Nawrot If I was going for a large scale implementation, it goes without saying that using C++ or even creating a plugin for automatic updating would be a tremendous time saver. Especially since the program runs long loops of information coming from several actors, that must stay in sync over minutes, even up to an hour without blueprint performance lagging things out of sync.

MY situation is a bit different than yours (i know coding well), however i bought this tutorial on UDEMY:

Price currently is insane (139$) yes they are shady with pricing, so it is worth waiting
I bought mine for less than 20$ in 2017.

This tutorial is great, introduces to the right stuff. So give it a try, and meanwhile (Waiting for sane pricing), google for C++ code that would handle your data (any code does not need to be for unreal).

Really worth a try, whole difference is that in C++ you write text (and project crashes to those evil pointers every time you forget to set them correctly). If you know blueprints coding in C++ is similar, you call known functions (from bps) etc. just few keywords from C++ (flow control) and you should be ready to code that stuff.

I will give it a pass. If I ever go the C++ route, it will be some super fast to implement copy/past stuff from search engines. The price right now is 85% off, 19 USD.

So i asked uncle google about: JSON plugin C++ unreal
There was some nice dll or osource code for json on github.
But third result was this:

Ready to use plugin.

Interesting, can you please explain this in a non-coding language?
I use Google Sheets and export csv into an Unreal data table. For Sound and Texture 2D files, the csv only needs the name of the files and Unreal does the rest. Columns for data/file types and rows for values.
How does JSON do this and would it make sense for me to use that instead of csv?
Do you know if it is possible to put float values into JSON files? After searching a bit, it doesn’t look like it.

Thank you for these replies Nawrot.

JSON is like XML but on linux, easier to read and more cool.

There are probably conventer scripts to export anything and import from everything for json. some python scripts i assume. So look for CSV to json converter. Probably google also can export as json.

I do not have much knowledge about this json plugin, so either ask author for tutorials (so you can see if it does what you need), or just buy it and test.

Answers for your questions:

  • you probably can convert csv into json. Installing python and running conversion script from command line may be necessary for this.
  • json is like xml or csv, is is easier to read than xml or csv. And all 3 are text based formats, so there must be converters.
  • if you use this json plugin for unreal it would make sense to use json for data exp[ort/import. And this is ready to use solution.
  • yes it accepts floats and string and you can make structures in it. It keeps all as strings (it is text based format) , but you can interpret string as float value. Same with CSV all those numbers are just text inside file

JSON is definitely worth looking into. I’ve seen it all over the place and it looks like an industry standard.

Btw. have you seen this?

I did not used it, i can do C++, however i am kind of chaotic and usually forget to properly set pointers this leads to crashes and makes me frustrated, so i do not code in C++ for unreal much.

So as it turns out, after digging around since macOS Monterey and it’s Xcode 13 doesn’t package Unreal builds, Javascript and the Web Audio API can also do synths. That should work very easily with JSON.

The core of the UE5 project was pretty much done, so it’s back to basics, which is good as it will make this product even easier to realize, ship and scale.