I have a parent object which has a create event that has a variable and calls a script which requires the correct type to be set: Code: type = Types.MyDefaultType scr_add_to_level() // Does things based on the type I have various child objects that will set their type in an overridden create event that calls event_inherited to make sure that the scr_add_to_level is called (this is useful as it means that I don't need to remember to call scr_add_to_level, or potentially other common functions, each time an object of this type is created). Code: type = Types.ThisObjectType event_inherited() The problem is that I need to make sure all of the child objects have the variable 'type' so it is currently set in the parent create event. However, setting this value overwrites the correct value which has been set in the child object's create event. I thought I could create a script for each one of my child objects just to be able to obtain the correct value in the parent class create event without overwriting it to the default value but that seems nuts. I'm probably missing out on a better approach which I'd like to hear about.