The jist of the program is to basically make an itinerary and then save what someone has written down on the TextEdit nodes. As of right now, when I press the "load" button, it just says null. Why? I even followed a tutorial for it.

Save code:

extends Node

const SAVEFILE = "user://save_file.save"
var i_data = {}

var textInput1 = ""
func _ready():
	load_data()

func save_data():
	var file = File.new()
	file.open(SAVEFILE, file.WRITE)
	file.store_var(i_data)
	file.close()

func load_data():
	var file = File.new()
	if not file.file_exists(SAVEFILE):
		i_data = {
			"itinText1": textInput1,
		}
		save_data()
	file.open(SAVEFILE, File.READ)
	i_data = file.get_var()
	file.close()

Save and load button code: 

onready var save_data = Save.i_data
func _on_SaveButton_pressed():
	Save.textInput1 = textInput1.text
	Save.save_data()
	print(Save.textInput1)
	
func _on_LoadButton_pressed():
	textInput1.text = "%s" % [save_data.itinText1]

    I wonder if exploring how some applications such as text editors implement undo history might not offer something enlightening. Now granted most of them(if not all) don't save it on disk, only the text in it's final form, but I figured this an interesting thought anyways.

    AesynthGrey As of right now, when I press the "load" button, it just says null. Why?

    I do not see where the load_data() function is defined or what it's internal logic is so I can't answer that. edit1: doh, didn't scroll down, reading it now.

    edit2: I don't see where you assign anything to textInput1 other than the empty string assignment towards the top of the script/at the variable definition.

    Er, the _on_LoadButton_pressed(): itself seems to be where the assignment is supposed to happen, but reading the docs I think you want to use the String.format() method if you want to work with arrays.

    Or maybe it's as simple as assigning "%s" as the default value in the variable definition in the first place..?