easyCSV - Import text CSV at runtime

**A runtime solution for parsing CSV files into string arrays for easy access!

Marketplace link: **easyCSV in Code Plugins - UE Marketplace

Price: $4.99

Games and applications are data-rich and sometimes you want to drive or edit this data from outside of the engine - this is where spreadsheets really shine. You can store information about objects, characters, or even create save data using simple plain text then bring it into the engine through an external file.

If you have used Data Tables in the engine in the past, you know that you can import/export that data using CSV among other formats but this is only available when not in-game. With easyCSV you can get data in a string format at any time and use Blueprint or C++ “from string” methods to convert data from string. If you want to convert a CSV to your game’s data types automatically at runtime (or download it from a public Google Sheet) or export a local CSV from your game’s data, please see Runtime DataTable.

Features:

  • Runtime parsing of CSV text files in blueprints or C++
  • Conversion library for strings representing quaternions
  • Support for arrays, maps, sets, and nested structs

Code Modules:

  • easyCSV: A runtime module that handles parsing,

Number of Blueprints nodes: 21
C++ Classes: 2
Network Replicated: No
Supported Development Platforms: Win64, Mac
Supported Target Build Platforms: Win32, Win64, Android, Mac, iOS, tvOS
iOS/Mac/tvOS support not tested by me

Documentation](easyCSV Documentation - Google Docs)
Project Files](easyCSV_ProjectFiles_4_25.zip - Google Drive)**: **Includes a TestStruct.csv (CSV_Test\Saved) that can be edited with the results showing in the output log when ‘Execute It’ is clicked. Requires plugin.

**Q&A:

There already are CSV solutions on the marketplace. What does your plugin do differently?**

Functionally, it’s about the same. The implementation is its own, but for the most part a CSV parser is a CSV parser :slight_smile: easyCSV organizes your data into a TMap and comes with a long list of helper nodes to assist you in getting exactly the data you need. It even supports arrays, maps, sets, nested structs and localized text objects represented as a string.

How does this differ from Runtime DataTable?

easyCSV is intended as a lower-cost alternative to Runtime DataTable. It only parses the CSV into a map and offers the user ways to quickly access that data in string form. It’s up to the user to know what to convert to which data type and when. easyCSV is for developers who will only be dealing in strings or don’t mind writing their own functions to convert CSV strings into data types.

RDT will parse data in the same way but will automatically convert the data to the correct type for the specified variables on a specified object. It also will download CSV files directly from public Google Sheets and export struct data into a local CSV file.

**easyCSV is included IN FULL with Runtime DataTable. **

This plugin is now approved and on the marketplace!

Update for 4.26 has been uploaded to Marketplace, now we wait on Epic response!

4.27 version of easyCSV has just been submitted, should only be a couple days before it goes live.

4.27 is now live!

New versions 5.0.3.1 and 4.27.3.1 submitted for approval!

10-16-2022 (5.0.3.1, 4.27.3.1): Updated module names, added Linux support

New update submitted for approval!

10-28-2022 (5.0.3.2, 4.27.2.2): Remove deprecated functions from EasyCsv module

5.2 version now finally live!

Hi, can the plugin read a csv file that is being written at the same time?
Also, does it work for UE 5.1 version?

Thank you.

Hi Peter_Parkour99, I love that name by the way.

I apologize for missing this question, I didn’t receive a notification for it :frowning:

It can access a file that is being written to at the same time as it is designed, but some users have reported difficulties here. It all depends on what the other program that’s writing to the file does. If it locks the file, we can’t really get around that with in-engine tools. If it simply opens and writes to the file stream, easyCSV is able to read it.

The plugin is compatible with 5.1! Support covers 4.25 - 4.27 and 5.0 - 5.2.

New version submitted! Pending marketplace approval.

4-5-2024 (5.3.1. 5.2.1, 5.1.2): Fix for ParseKeys removing the first header column when set to false