در علوم رایانه، در زمینهٔ ذخیرهسازی داده، سریال سازی (serialization) یک فرایند ترجمه است که در آن ساختمانهای داده، یا حالت شئ، به یک قالب (فرمت) ترجمه میشود که آن قالب توانایی ذخیره (مثلا در یک فایل) یا توانایی انتقال (مثلا در بین اتصال پیوند شبکه) دارد، و نیز توانایی بازساخت در آینده (احتمالا در یک محیط رایانه ای متفاوت) را دارد.
پس در واقع یک شئ را سریال سازی می کنیم تا فرمت استانداردی شود تا بتوان همه جا از آن استفاده کرد.

روش های مختلفی برای سریال سازی هست که معروف ترین آنها json , XML ,Yaml می باشند.

فرض کنید شما قرار است لیستی از اعداد داشته باشید که در نرم افزار های مختلف از آن استفاده کنید
ولی هر کدام از آن نرم افزار ها یک فرمت را قبول می کند!
برای حل این مشکل می توان این اطلاعات را Serialize کرد و استفاده کرد!

فرض کنید کلاسی دارید که باید تبدیل به فرمت استانداردی شود.
ابتدا ساختار کلی آن را می نویسیم:

بعد این اطلاعات را باید به شکلی بنویسیم که استاندارد باشد یا به اصطلاح سریال سازی شود.

برای این کار می توانیم از Json یا فرمت های دیگر استفاده کنیم.

یکی از مفاهیم مهم زبان های برنامه نویسی پیشرفته ، مفهوم Encapsulation یا کپسوله سازی است.
وقتی می خواهیم یک برنامه بزرگ بنویسیم ، خیلی مهمه که برنامه قابل خوندن باشه.
اگر با مفاهیم access modifier ها آشنا باشید.ما گاهی اوقات نیاز داریم که یک متغیر در یونیتی سطح دسترسی private داشته باشد تا وقتی می خواهیم از کلاس های دیگر به آن کلاس دسترسی داشته باشیم آنها نمایش داده نشوند.

در یونیتی فیلد های private را در Inspector نشان داده نمی شود!
چون در حالت عادی یونیتی سطوح دستری private را Serialize نمی کند به خاطر همین باید آنها را Serialize کنید.
