Unity 2021.3.17f1 を使用しています。
(何も作らずに) Inspector へ公開する方法に少し手間取ったので、残します。
方法
[field: SerializeField] public float hp { get; private set; }
SerializeField の先頭に field: を付け、set を private にする。
Header もつけたい
[Header("ステータス")] // エラー! できない!
[field: SerializeField] public float hp { get; private set; }
とすると、「属性 'Header' はこの宣言型では無効です。'フィールド' 宣言でのみ有効です。」とエラーが出ます
[field: SerializeField, Header("ステータス")] public float hp { get; private set; }
対策としては、上記のように SerializeField の後ろに繋げれば使えます。(少し気持ち悪いけど)
参照
https://papersloth.hatenablog.com/entry/2020/05/25/135813
https://qiita.com/RyotaMurohoshi/items/b64b36009ba652b21e2c