# Refresh Counters causes havoc with some Layer Traits

**URL:** <https://forum.vassalengine.org/t/refresh-counters-causes-havoc-with-some-layer-traits/90472>\
**Category:** Module Design\
**Created:** [August 30, 2026, 7:01pm UTC](https://forum.vassalengine.org/t/refresh-counters-causes-havoc-with-some-layer-traits/90472 "2026-08-30T19:01:13Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![sfcmikej](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/s/77aa72/32.png) [@sfcmikej](https://forum.vassalengine.org/u/sfcmikej)\
**Post date:** [August 30, 2026, 7:01pm UTC](https://forum.vassalengine.org/t/refresh-counters-causes-havoc-with-some-layer-traits/90472/1 "2026-08-30T19:01:13Z")

</div>

After a module update I need to update the pieces in some existing games and I am using the `Refresh Counters` tool. It refreshes the counters but changes some of the `Layer` traits. It seems to change which level of the `Layer` trait is being displayed. The change is not consistent. Some go up, some go down and some stay where they are.

The changed `Layers` are all parts of different prototypes and none of the changed `Layers` have been modified before running the `Refresh Counters` tool.

Since the module is using these `Layers` to indicate different statuses to have them changed mid-game by a `Counter Refresh` is a problem. Right now, in most games, the piece density is low and it is manageable to manually correct the changes but in the future it will be a real problem.

What should I look for to correct this?

Mike

---

<div class="post-metadata">

**Author:** ![Jardic](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/jardic/32/226_2.png) [@Jardic](https://forum.vassalengine.org/u/Jardic)\
**Post date:** [August 31, 2026, 12:36am UTC](https://forum.vassalengine.org/t/refresh-counters-causes-havoc-with-some-layer-traits/90472/2 "2026-08-31T00:36:26Z")

</div>

Yup it sure does. plays hell when i am making changes to modules with pre-defined setups. also does the same to text labels. As far as I can tell, when you “Refresh Pieces” it will set them back to a “New” state, for anything you modified.

 ![image](https://forum.vassalengine.org/uploads/default/original/2X/0/0069f8aac8816aaa1a6e2bf84f7e77ef8fdf2bbc.png)

Un-ckecking the 3 default boxes has seemed to help me immensely. I am not enough of a programmer to know why. Just the empirically it seems to help.

---

<div class="post-metadata">

**Author:** ![wargamerx](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/w/d07c76/32.png) [@wargamerx](https://forum.vassalengine.org/u/wargamerx)\
**Post date:** [September 6, 2026, 1:24pm UTC](https://forum.vassalengine.org/t/refresh-counters-causes-havoc-with-some-layer-traits/90472/3 "2026-09-06T13:24:59Z")

</div>

Yes, this has been a long-running PITA for some of my modules. I definitely turn off the Refresh Labels when I am updating initial scenarios.

---

<div class="post-metadata">

**Author:** ![sfcmikej](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/s/77aa72/32.png) [@sfcmikej](https://forum.vassalengine.org/u/sfcmikej)\
**Post date:** [September 6, 2026, 11:53pm UTC](https://forum.vassalengine.org/t/refresh-counters-causes-havoc-with-some-layer-traits/90472/4 "2026-09-06T23:53:38Z")

</div>

Jardic,

Thanks. You are correct, when I uncheck them it does not cause the issues. I was a bit hesitant to mark this as the solution since you said you weren’t sure why it worked that way. However, with my experience doing an update with them unchecked, and Jeff Coyle chiming in indicating the same I am marking this solved. Thanks for the assist. It is greatly appreciated.

Mike

---

<div class="post-metadata">

**Author:** ![cholmcc](https://forum.vassalengine.org/user_avatar/forum.vassalengine.org/cholmcc/32/8319_2.png) [@cholmcc](https://forum.vassalengine.org/u/cholmcc)\
**Post date:** [September 7, 2026, 9:10pm UTC](https://forum.vassalengine.org/t/refresh-counters-causes-havoc-with-some-layer-traits/90472/5 "2026-09-07T21:10:46Z")

</div>

> [@wargamerx](#):
>
> Yes, this has been a long-running PITA for some of my modules.

I will take this opportunity to direct your attention to the tool `vsavwrite.py` that I made. You can find a bit more [here](https://forum.vassalengine.org/t/editing-vsav-files-as-text/74765/13). You provide the script with your module (`.vmod`) and a JSON (`.json`) file, the latter contains your set-up of pieces in a somewhat human-readable format, and then it writes a save file `.vsav` for you.

The benefit of that, is that you can generate the save (or setup) from data (the JSON file), and it will automatically have the latest and greatest pieces.

Beware that the script is not omnipotent. If you need additional set-up, you _may_ need to write some Python code - using the [`pywargame`](https://gitlab.com/wargames_tex/pywargame) API - but then you can practically do almost anything you like.

The module [Advanced Squad Leader: Starter Kit #1](https://vassalengine.org/library/projects/advanced_squad_leader_starter_kit_1_cholmcc) - source code at [GitLab](https://gitlab.com/wargames_tex/aslsk1) - is an example of that technique.

Yours,  
_Christian_

---

<div class="post-metadata">

**Author:** ![wargamerx](https://forum.vassalengine.org/letter_avatar_proxy/v4/letter/w/d07c76/32.png) [@wargamerx](https://forum.vassalengine.org/u/wargamerx)\
**Post date:** [September 7, 2026, 11:29pm UTC](https://forum.vassalengine.org/t/refresh-counters-causes-havoc-with-some-layer-traits/90472/6 "2026-09-07T23:29:58Z")

</div>

I’ll give that a look!
