Gothic.ini: a new VR key lands at the end of the file and is never read back

Open Beginner friendly
#487 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
69/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
csharp, unity
Domain
game-dev

Research direction

Start by reading GothicIniWriter.WriteSetting and follow what it does when the section exists but the key does not. Reproduce with a Gothic.ini where the VR section is not last, then change the setting and restart. Done means the new key is written in its own section and is found on the next start, rather than appended repeatedly at the end.

Written by the indexing model from the issue text.

Description

bug
Description

GothicIniWriter.WriteSetting: when the section is found but the key isn't, lines.Add appends the key at the end of the file, so it lands in the last section. The next write doesn't find it in its own section and appends it again.

Expected Behavior

A new key is written inside its own section and found again on the next start.

Actual Behavior

Seen on Quest 3, G2: six snapRotationAmount= lines under [ZBUGFIXES] (the last section, written by Spine). The snap rotation setting is back to the default on every start.

Reproduction Steps
  1. Use a Gothic.ini whose VR section exists but lacks the key (e.g. snapRotationAmount), and where that section isn't the last one.
  2. Change the setting in the menu a few times and restart.
  3. The key is appended at the end of the file again each time, and the setting is lost.

Environment Information

  • Reproducibility: Always (for keys missing from an existing, non-last section)
  • Platform: all
  • Game Version: main 83a1aebd2
Notes

BoroBongo has a fix: WriteSettingInSection behind DeveloperConfig.EnableIniWriteInSection in experimental/game-completion-candidate-vibecoded-borobongo. It's in no split yet, and his comment describes the same bug ("marvinPanel 20 times").

Dominant language
C#
Stars
33
Forks
1
Avg merge
1d 17h
Merged PRs (30d)
51

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Gothic-Unity-Project/Gothic-Unity

All issues in Gothic-Unity-Project/Gothic-Unity

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.