• Throwaway@lemm.eeBanned
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    4
    ·
    2 years ago

    Thats fucking amazing and completely unity’s fault. What engine in their right mind saves user preferences in the registry?

        • icedterminal@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          ·
          2 years ago

          It can be very stupid. Depends on the software though as the registry is meant for saving user and system settings to a degree. Like Windows File Explorer makes perfect sense. As does settings for audio.

          It’s generally advised to not bloat the registry wherever possible. WinSCP is a great piece of software. Unfortunately it defaults to saving to the user registry. You can change it to save to an ini file instead. By using the registry to save settings it can be jarring for the user when they’re trying to troubleshoot something. Only to find out after uninstalling and reinstalling it doesn’t start over fresh. Or if they’re trying to backup settings and data to restore with later. The registry isn’t typically included for good reason.

    • Azzu@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 years ago

      It doesn’t look like what’s filling the registry here is user preferences.

  • merthyr1831@lemmy.world
    link
    fedilink
    English
    arrow-up
    11
    ·
    2 years ago

    Seems like horrible dev practice to place save data of any kind in the Windows registry lmao. I get that it’s designed for storing user data in some respects but the registry is an old and fickle solution to setting global variables important for communication between processes and applications.

    If you’re storing data that’s only ever needed by your own application, especially if it isn’t OS-related, you shouldn’t mess with the registry. Not only does it not have the performance you’d expect for most circumstances, but the registry has a real performance and stability impact even when outside of your app.

    What’s worse, imo, is that this data is difficult to access for making backups, utilising cloud synchronization, and cross compatibility of your app.

    Unity is a lot more borked than I thought, but KSP devs should probably be careful with what data serialisation APIs they mess with.

  • SharkyPants@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    ·
    2 years ago

    As a Unity dev of 6 years, playerPreffs (the unity system that stores data in the registry) are a good place to store small amounts of data in a dictionary style structure quickly without creating your own data system. But they are extremely limited in the types of data they can hold and the control a dev has over them. Whenever I see playerPreffs used I think the dev must-have needed something quick and easy. They may have also created their own registry save system in that case should be an easy fix. (De)Serializing json or even custom binary files in compartmented files in a defined folder like StreamingAssets gives much more flexibility in data types and control. You can see playerPreffs limitations in the documentation below: (https://docs.unity3d.com/ScriptReference/PlayerPrefs.html)

  • Vilian@lemmy.ca
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 years ago

    thefuck, btw how proton handle the registry on steam deck/desktop linux?, that can happen there?