Just a small P.S.A., sometimes you are messing around trying to create an application that will have to do with lots of data entries, so you use an appropriate application to produce those external files for use in your app. Like a spreadsheet editor to make CSV files, or an XML editor for ... XML files...
What if however the data you want are entered in a specific class and you don't want the files to be readily readable or editable from an external application in your finished product?
You make your own editor that runs in the engine of your choice! (If you are using something like Unity or Unreal that is.)
Don't be intimidated or put off by having to make something custom, it will save hours of work and help with sanity levels later down the line. This small editor is a panel that pop ups from within Unity without the need to enter play mode. It doesn't edit anything in the project this is for, but instead creates files that hold the dialog for NPCs. These files are located in the project's folders and are not hanging around all by themselves when compiled, so someone won't be able to just see them and open them to look around. (This doesn't mean that someone that really wants to peak around won't be able to eventually read the files. All one needs to find out is the format and structure and that's it.)
To get started with something custom in Unity, one would just need to start writing something derived from EditorWindow.
To get started with something custom in Unity, one would just need to start writing something derived from EditorWindow.