Runtime DataTable - Import/Export text CSV or Google Sheet at runtime and auto-update structs and UObjects!

Hey, I always get this error when I try to get a spreadsheet from google sheets.

This is my code:

Hello @ImGreenWolf ,

Looks like itā€™s just not able to parse the spreadsheet effectively. Can you link me to your spreadsheet?

Sure thing, Hardpoints - Google Sheets
Thank you for your quick response.

I modified the sheet a bit, and it works. But the for some reason the original didnā€™t work.
Could you tell me what could be the causes of it failing because of a spreadsheet?

Hello again ImGreenWolf, thank you for the link!

The issue is here. Totally blank rows between data points arenā€™t supported. Blank cells are supported as long as the row has a key. Blank rows after the last data point are fine, though! Could the data below be moved to a separate tab?

MultiCannon
Cannon
ChainGun
FlakCannon
AegistPDC
LRM
SRM
MRM

It looks different on my end.

In any case, this is the original spreadsheet. ShipBuilder Raw Imports - Google Sheets

And now, whenever I open the blueprint containing the update array from csv or google sheet node, my editor crashes, without even compiling or starting the game. I just open the blueprint editor and it crashesā€¦

I donā€™t know why it would be different, itā€™s the one you linked me.

I would doubt that the plugin itself would be causing an editor crash because it only has runtime code, but if you can send me the call stack when your editor crashes maybe I can help you figure out why.

Heads up everyone, the Maui update is coming very soon, likely within two weeks.

The big feature for this update is, of course, the long-requested Write to Sheets.

Itā€™s been a long time coming and was difficult to make work, but it is indeed working and Iā€™m just finishing up with polish for it and adding documentation.

I will be raising the price to $19.99 for this update, so if you havenā€™t bought in yet do it before the update goes live to lock in the $14.99 price!

Update now live! For those upgrading from a previous version, please see this part of the documentation.

Runtime DataTable Changelog:
ā€” 4.27.4 ā€”

  • Removed unnecessary includes
  • ARuntimeDataTableActor is now URuntimeDataTableObject.
    • The Actor overhead was not necessary and using UObject allows us to create instances at design time (construction)
  • FPayloadReceivingDelegate_OneNode_NoMulti is now FRDTPayloadReceivingDelegate_DEPRECATED
  • Added FRDTObjectReceivingDelegate which is similar to the deprecated delegate but returns an FRuntimeDataTableCallbackInfo struct + object instead of individual types
  • Added FRuntimeDataTableCallbackInfo, FRuntimeDataTableOperationParams, FRuntimeDataTableTokenInfo, and URuntimeDataTableWebToken to facilitate OAuth to write to Google Sheets
  • Removed deprecated functions:
    • FillStructArrayFromGoogleSheetsCSV_Internal; use UpdateArrayFromGoogleSheetsCSV_Internal
    • SaveStringToFile, LoadStringFromFile, GetColumnAsStringArray, GetRowValueAsString, GetMapKeys, GetMapKeyIndex; use similarly-named functions in UEasyCsv
  • New deprecations in this release:
    • GenerateCSV_FromArray (C++); use GenerateCsvFromArray_Internal (C++) instead
    • FillStructArrayFromGoogleSheetsOrLocalCSV (BP) has been automatically updated to UpdateArrayFromGoogleSheetsCsv. No need to edit your code.
    • In turn, UpdateArrayFromGoogleSheetsCsv(BP) has been deprecated, please use BuildGoogleSheetDownloadLinkAndGetAsCsv and UpdateArrayFromCsvInfo instead.
    • Similarly, UpdateArrayFromGoogleSheetsCSV_Internal has also been deprecated. Use BuildGoogleSheetDownloadLinkAndGetAsCsv and UpdateArrayFromCsvInfo_Internal instead.
    • ExportArrayToString (BP) has been automatically updated to GenerateCsvFromArray (BP). No need to edit your code.
  • GetSpreadsheetIdFromUrl and GetSheetIdFromUrl have been made static and exposed to Blueprints
  • Updated copyright notices
  • Revised function documenting comments to fit Kantan standard

easyCSV Changelog:

  • ā€” 4.27.4 ā€”
  • Removed unnecessary includes
  • Updated copyright notices
  • Now parses using built-in parser, no more empty row errors! But now no more custom delimiters or custom wrappers. Sorry!
  • Fixed an issue in which calling MakeCsvInfoFromString/File multiple times would load the same data into the map multiple times
  • FCSV_Info is now FEasyCsvInfo
  • FStringValueArray is now FEasyCsvStringValueArray
  • LoadStringFromFile has been deprecated, use LoadStringFromLocalFile
  • Updated copyright notices

Hey Jared, seems like the last update broke something :frowning:
All projects with RDT are now showing this error on launch:

image

The plugin is definitely updated and installed on both 4.26 and 4.27. Any idea how to fix this? After I select ā€œNoā€, it suggests that I can disable the plugin and launch the project, but Iā€™m afraid it might mess up existing RDT nodes/actors.

Sorry about that! Looks like Epic didnā€™t include the redirector files when packaging the plugin for the marketplace download. Iā€™m going to try to work that out with them, but in the meantime you can fix it with this part of the documentation.

The redirects are now in the pluginā€™s marketplace download! So now the only thing that must be done on the customerā€™s end is to edit the plugin name in the uproject file. A step by step instruction for how to do this is at the link in the post above!

Hello! I am pretty new to blueprints, so sorry in advance if I do not know certain terms and such. I also do not think this is the right place for this question, but I am not sure where to put it. Is it possible to update a data table with x, y (player position) and t (time) coordinates during runtime using this plugin? I can post the code that I used in my previous attempt to update the data table without the plugin, but because unreal engine says I am a new user, I would have to post 4 different times (new users can only post one form of media).

I am not trying to import from google sheets or csv to table, which is why I am unsure if this is the right post to ask this question.

Hey tweetyfor3ver,

Iā€™m not sure exactly what is is youā€™re trying to accomplish. Maybe some visuals would help. If you need to post multiple times, then go for it.

Alright, will do. And thank you for the quick response. (sorry for the bad image quality)


(unreal engine will not let me upload more than 3 posts at a time until someone responds. The last img I was going to send was the data table I am trying to udpate)

Great plugin. Iā€™ve noticed similar plugins are also not supported for linux packaging, is there something in particular that makes this difficult to work with linux?