# 既定値の変更が実行時に無視される スクリプトをコンポーネントとしてプロジェクトに追加すると、[Property grid]にそのパブリック変数が一覧表示されます。これらは、実行時に使用される値です。 しかし、その後、スクリプトで既定値を変更した場合、コンポーネントは新しい値に更新されません。 たとえば、スクリプトに既定値が `5.0f` である変数 `SpeedFactor` が含まれるものとします。このスクリプトをコンポーネントとしてプロジェクトに追加します。その後、スクリプトで `SpeedFactor` 変数の既定値を `6.0f` に変更し、スクリプトを保存して、プロジェクトを実行します。この場合、コンポーネントはスクリプトによる変更で更新されず、変数 `SpeedFactor` の値は `5.0f` のままです。 ## 修正方法 プロジェクトで、スクリプト コンポーネントをいったん削除して追加しなおします。 または、コンポーネントのプロパティの値をスクリプトで変更した後で Game Studio によってそれが更新されるようにしたい場合は、追加コードで行うことができます。これを適用するプロパティごとに新しいコード行を追加する必要があります。 1. スクリプトの先頭に `using System.ComponentModel` を追加します。 2. 更新する変数の上に、``[DefaultValue()]`` を追加します。たとえば、変数が `SpeedFactor` の場合は、次のようにします。 ```cs [DefaultValue(6.0f)] public float SpeedFactor { get; set; } = 6.0f; ``` 値を変更するときは、`SpeedFactor` と `DefaultValue` の両方を同じ値に更新します。 > [!NOTE] > これは両方向には動作しません。[Property grid]で `DefaultValue` 以外の値を設定した場合、Game Studio は値をアセットに保存して、実行時に既定値をオーバーライドします。