Home Artists Posts Import Register

Content

Hi! I've been a bit quiet on the messaging front the past week, but I finally have something new to release. This is still very much a work in progress - but getting early feedback is also a good reason to share it. It's also an opportunity for you to have an impact on the plugin's features. There are many directions the plugin could take in the future!

Download 

Features in v0.5

Automatically load person atom with user defaults

When a person atom is added, it is loaded with the user defaults preset on each of the following preset types: Appearance Preset, Pose Preset and Plugin Preset. Normally in VAM, the person atom loads with everything at defaults even if you have user defaults saved, this plugin overrides that behavior.

Simply save a preset with the "Change User Defaults..." button in any of the above Presets tabs, and the next time you add a person atom it will auto-apply the saved preset.

With other atom types, it seems VAM already uses the user defaults preset when a new atom is added.

Better "Add Plugin" behavior

Normally when you click on Add Plugin in the Plugins tab, it just adds an empty plugin to the bottom of the list and you have to separately click on "Select File...". ExtendedDefaults streamlines this by triggering the "Select File..." click automatically.

Save, load and auto-apply plugin user defaults

When ExtendedDefaults is loaded, it modifies all Plugins tabs:

How it works:

  • When you add a plugin that you have saved defaults for, the saved configuration is auto-applied, overriding the plugin's normal default values.
  • The Reset button works exactly like the normal Reload button - I just renamed it to "Reset" to indicate that it's specifically for resetting the plugin back to the plugin's original default state rather than to your user defaults.
  • The Load Defaults button loads your user defaults - it doesn't reload the plugin, it simply applies the configuration. To reload and apply defaults, click Reset and then Load Defaults.
  • The Save Defaults button saves a configuration for the specific plugin as identified by the path to the plugin .cs or .cslist file.

The saved configuration contains whatever settings the plugin stores normally in a Plugin Preset or with the scene file. This configuration is stored in Custom/PluginData/everlaster/ExtendedDefaults/defaults.json.

Regarding the removed buttons - the Clear button was just redundant, and Select File... is also not needed. With ExtendedDefaults, there's no way to have just an empty plugin element that doesn't have any script running in it. And with the improved Add Plugin behavior, Select File is triggered automatically so the button is not very useful. You can always just do Remove and then Add Plugin if you want to replace the plugin with another.

Upcoming features

The plugin UI is currently empty. I plan to add at least some configuration options and information later, but for the most part though, it's meant to be an "add once and forget" type of plugin which is saved to the Session Plugins user default preset so it gets auto-loaded when you start VAM.

Plugin version independent defaults

In this first version, the saved plugin defaults are used only by the specific versions of each plugin, e.g. if you save a configuration for a TittyMagic.cslist loaded from the package everlaster.TittyMagic.57.var, it won't be used by other TittyMagic versions. However it would make sense to be able to auto-apply settings from the closest version that has a defaults configuration saved. This could be configurable.

In addition to the above, upgrading a loaded plugin to its newest version automatically while preserving all of the plugin's parameters would be a pretty cool feature. This could be done with a button click, when the scene is loaded, or when a plugin preset is loaded. 

Additional atom default parameters

Many atom types don't include all parameters in the preset for some reason. E.g. many of the parameters in Physics Object, Physics Control and Move tabs are not saved with the preset. It would be possible to add configuration options for these in the ExtendedDefaults UI. 

For example, I would prefer InvisibleLight atoms saved as spotlights to always automatically point down and have the Z rotation axis locked, but these parameters are not saved in the preset. Similarly for furniture/environment/prop etc. type atoms, the Z and X rotation axes should be lock by default.

Misc

  • A text notification to the Plugins tab when plugin defaults are successfully loaded and saved
  • Add functionality to clear user defaults from a plugin (specific package version or all versions) to clean up the configuration file and ensure the plugin definitely gets loaded with its original defaults

Other settings/functions

These are more like sketches of ideas at this point, but I figured I might as well share them.

  • Save/load ExtendedDefaults profile - to enable sharing of preferences profiles or for switching between different profiles for different purposes (e.g. one profile for creating scenes, another for consuming scenes).
  • Since the current Save Defaults just saves one preset that gets auto-loaded and there's no switching between presets, it might be useful to implement a full on preset management UI for plugin specific presets, similar to how other preset types work.
  • Toggle to auto-apply futa conversion when a male skin is loaded on a person atom.
  • Auto-apply good defaults for teeth materials, mouth materials, tongue materials etc. in cases where those parameters are unmodified - this would apply even when loading from JSON or when applying an appearance preset or skin preset, not just when adding a person atom. Example: when loading a scene made by someone else, if everything in the person's Mouth Materials tab is using VAM default values, apply mouth materials values from your own appearance preset or skin preset.
  • Always spawn new atom directly in front of the display camera (and in the case of Person atoms, maybe auto-rotate the person to face the display camera). Also, could be configurable per atom type.
  • It would be possible to allow the user to create a configuration for any storable parameter of any thing in VAM that gets auto-loaded when that thing is added... this needs a bit more research though. A lot of these parameters are already included in the user defaults presets.

In addition to from the above, there might be other features that I haven't thought of could be within this plugin's scope. It could be something that happens when a scene is loaded, or something common to all atoms when any atom is added, or some modification on a specific atom type etc. 

If there's some such default value or behavior you'd like to have, let me know! It could make it into the plugin. Any feedback is greatly appreciated. Thanks :)

-everlaster

Comments

everlaster

Update on loading user defaults on a new person atom: it turns out saving user defaults for a General Preset does basically the same thing as the plugin. Only found that out now! 😄 However it does seem unnecessary and redundant to have to separately save a general preset. In Vanilla VAM you can end up having different user defaults for the appearance saved as Appearance Preset and the appearance saved as part of a General Preset, and only the general preset ends up being used automatically. It'd be more intuitive if the more specific preset type (Appearance) would be used over the less specific one (General). I will provide configuration options for this in the plugin UI, with the default behavior being that the more specific presets are used instead of the general preset, so basically the opposite of VAM default behavior.

tracer

Finally had a play with this. Very cool. One problem with 'Save, load and auto-apply plugin user defaults'. I've saved 'Extended defaults' as a default session plugins. But when loading a fresh scene, 'Save, load and auto-apply plugin user defaults' doesn't work on the person's plugins unless you go into session plugins and manually press reload of 'Extended Defaults'. Edit- Actually, none of them work unless you manually press reload of 'Extended Defaults'. Better "Add Plugin" behavior didn't work either on initial load. The only thing ED auto applies to are the other plugins in the 'Sessions Plugins' window.