How ot get a value from SerializedProperty

I have a SerializedObject, I get a SerializedProperty from it. SerializedProperty has a string value. How do i refer to it or how to get value from it?

Well the SerializedProperty class abstracts the concept of a property. It has specific access properties for all the primitive types the serialization system supports. If the SerializedProperty is a string value, you would use the stringValue property. You can read and write to this property in order to read / write the string value. Note that you have to call ApplyModifiedProperties on the serializedObject after you modified such a value in order for the change to take effect.

Note that serializable sub structs or classes can not directly be read (with the exception of some build-in types like Vector3). For sub objects that are serialized inline you have to directly grab the SerializedProperty of the nested fields and change them through the SerializedProperty.