FArchiveのエラーにつきまして

>「セーブ処理ではar.IsError()はfalseとなり、ロード処理でar.IsError()がtrueになるケース」につきましては次の2つの可能性があるという認識でよろしいでしょうか?

はい。エラーフラグがセットされる場合はその可能性があります。他の型やクラスを用いた場合には別の形式でエラーが出る可能性があります。詳しくはそれぞれの型のシリアライズ関数を参照してください。

> 例えば「入力データサイズの不足」を検出する方法や回避する方法などを知りたいと考えております。

保存されているファイルを正しく読み込んだのに関わらず、ファイルが破損していて途中で途切れてしまっているケースを事前に検出することは難しいです。

今回のようにデシリアライズ時のエラーを判定したり、セーブデータから計算したハッシュ値を埋め込んでデシリアライズ後にチェックを行うような方法を取ることになると思います。

そのうえでセーブファイルの破損が検出された場合にはユーザーに破損を通知する他には手がありません。

ファイルの破損を回避する方法としてはセーブデータの多重化などが考えられます。