• Hi Guest!

    We are extremely excited to announce the release of our first Beta1.1 and the first release of our Public AddonKit!
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. For access to the Public AddonKit you must be a Creator tier member. Once subscribed, download instructions can be found here.

    Click here for information and guides regarding the VaM2 beta. Join our Discord server for more announcements and community discussion about VaM2.
  • Hi Guest!

    VaM2 Resource Categories have now been added to the Hub! For information on posting VaM2 resources and details about VaM2 related changes to our Community Forums, please see our official announcement here.
VAMStory

Plugins + Scripts VAMStory

Download [26.86 MB]


Using this scene as an example, it not only relies on VAMStoryActions to provide users with a feature-rich UI but also builds a framework and backend for the entire scene through a series of VAMStory components. Take stage lighting control as an example: the stage lighting can interact with the user through VAMStoryActions' UI, allowing them to customize its style and effects. However, the complex controls used to manage it are all stored within VAMStoryDirector component. This VAMStoryDirector component is preconfigured with hundreds of commands, which not only achieve complex lighting and special effects changes but also handle nearly ten thousand triggers in the scene's backend.

From the perspective of scene creation, the framework it forms not only makes the production of complex scenes more organized by highly modularizing the complicated scene structure and logic but also greatly improves production efficiency. For example, presenting complex stage lighting changes can be easily achieved by making a few calls to the VAMStoryDirector component in the Timeline. Additionally, when executing them through the Timeline, the changes will be reflected in the UI in real-time, preventing user confusion. That's something you want to achieve. @VamEssentials

So, as @hazmhox pointed out, to fully maximize the functionality and potential of VAMStory, it is worth thoroughly exploring and utilizing all of its components. Each individual component is powerful on its own, but using them in combination, within a cohesive "FRAMEWORK," can achieve a result where the whole is greater than the sum of its parts.

* One thing though, it would be great if we could reorder the trigger list in VAMStoryDirector. It's not an essential feature, but it would make things more organized for creators, especially when you have hundreds of preset commands and are continually adding new entries.

Screenshot 2024-06-03 171151.png
 
Last edited:
Without delving too deeply into its versatility and functionality, I have a small question or suggestion: In VAMStory, there are many options available in the trigger system, but most of them are categorized under "DON'T use these functions below." In fact, many of these options are very useful and powerful once correctly utilized. I understand that you categorized them this way to simplify the plugin's use and to prevent users from breaking things in the process. However, I think you could consider renaming them to something like "For advanced usage only."

That's not really hard to change, that's just a text value, and since it's a "fake entry" to create a divider, that could be fixed.

That said, you seem to be one of the few creators who understand that. And not everyone is gonna get the way those values work. For instance, due to the way the "data" works, I'm always renaming/reorganizing the set when, for instance, you move the actions up or down in the list.

A simple example would be this:
  • Action 1 : Name "ABC" (internal value Act_0-Text)
  • Action 2 : Name "DEF" (internal value Act_1-Text)
The moment, you're gonna move up Action 2, this is going to be flipped and will become:
  • Action 1 : Name "DEF" (internal value Act_0-Text)
  • Action 2 : Name "ABC" (internal value Act_1-Text)
So for someone that does not have your insight in understanding the technical aspect behind that, they will for instance, create a trigger that changes the "Act_0-Text", and one day through the scene editing, they're gonna move a couple of actions... and ask themselve why the fuck there triggers are not changing the proper element.

For me, this behavior (having the JSONStorable exposed) has always been a nightmare to prevent user to make stupid things and break plugins. When you have someone with your expertise, this is not a problem, but 95% of the time, this ends up with people asking me why something doesn't work.

For me, those values should be hidden... but I can't hide them : )

I would love that they would only be like "playback values" just like when you hit the "play in editor" button in Unity. If you prefer, you could use the "Act_0-Text" at runtime (in play mode), but it wouldn't have any influence on the dataset itself, the moment you go back to edit mode, the values flips back to their original state.

But we can't sadly :']
 
Oh, damn, that colored box plugin looks interesting, could have used that instead of my adhoc setup on a recent scene.
Off to explore the "gate trigger" system, a mistery for now as I just realised I can check the demo to understand its purpose.

Here's some requests if you find them meaningful or practical:
  • VAMActions - Show/Hide Actions toggle somewhere - sometimes I start with some buttons hidden and this would help make corrections without having to trigger them showing or guessing
  • All - possibility to disable auto-backup or change period - I use several Actions & Director in a scene, and when in scene making I end up with hundreds of auto-backups*
* because there's so many auto-backups I change the plugin's code to very long scheduling, essentially disabling it; it really gets out of hand when using multiple VAMS plugins in a scene

Thanks
 
  • Essentially, a way to hide/show Actions if they're hidden but through the plugin UI. That's a "creator" tool QoL if I can say so?
  • I could add that, like a slider below the backup button to control the duration. But to be sure, "out of hands" as in:
    • "my scene creation workflow gets impacted by the autosave (lag, stutter, slowing down) out of hands"... or
    • "OCD HO MY GOD MY BACK FOLDER IS 5.38mb BIG (but I have no other issues) out of hands" ? :p
'coz that's litterally the size of my backup folder -5.38mb- after two months of work not cleaning it up working on several scenes at once.
And the "hash" of a plugin is constraining the backup amount to 5 max.
 
  • Essentially, a way to hide/show Actions if they're hidden but through the plugin UI. That's a "creator" tool QoL if I can say so?
  • I could add that, like a slider below the backup button to control the duration. But to be sure, "out of hands" as in:
    • "my scene creation workflow gets impacted by the autosave (lag, stutter, slowing down) out of hands"... or
    • "OCD HO MY GOD MY BACK FOLDER IS 5.38mb BIG (but I have no other issues) out of hands" ? :p
'coz that's litterally the size of my backup folder -5.38mb- after two months of work not cleaning it up working on several scenes at once.
And the "hash" of a plugin is constraining the backup amount to 5 max.
  1. Yes, a QoL addition if there's a place for it somewhere.
  2. I'm fine with editing the code to limit the auto-backups, but others have also mentioned about this somewhere in this discussion area:
    1. I notice a lag/stutter when the autobackup happens, nothing major but noticeable, besides the log distraction
    2. Not the size, it's the hundreds of files in the way that I need to go delete if I want to make and find a manual backup file created to use as a preset

(2.1) I have my preference for not using auto-backups at all, but at least would be nice to not have the stutter and log distraction so often showing. Even changing the 15/20 min (I think) backup schedule to 30 min would help, at the cost of reducing the potential usefulness of the auto-backups.
(2.2) I think my template scene uses at least 25 VAMS plugins, so that's 125 very similar auto-backup files just on that scene. When I need to do a manual backup to use as a preset all those files are just in the way.
Idea: what if manual backups could be made to a different folder?
 
Last edited:
Noted for the hide/show, I'll try to find a way.

For the backup part: I never had any stutter, but the "target PC" might play a big role in that. And I'm working on a scene with at least 14 components which makes the auto backup proc often... and never had any issue with perfs. But I agree that with less solid hardware, it could be felt. ( and I'm saying could, 'coz when I look at my files, I'm seeing files that goes between 10kb to 350kb, and I would be very surprised that even a 5yo computer would stutter writing a 300ish Kb file ).

For the second part, I think it's a bit "nitpicky". If you end up making a manual backup, and you obviously know how to use Windows, you can sort files by modification date and grab the most recent ones. If you prefer, that's a "non issue"... that's just a way of working and potentially (as I was joking about earlier) more a "personal OCD" than anything else.

I'll had a slider and a checkbox in the future because I'm a nice person :p
But note that it still is bonkers to me.

Dozens of plugins don't have proper "failsafe" features, and when one has something that is designed at least to be "very safe" to avoid data loss on extremely complex scripting situations, you end up having people (kind of) complaining about that actual failsafe feature. AND those complaints are not even based on actual real issues but more about "subjective QoLs" :']
 
Noted for the hide/show, I'll try to find a way.

For the backup part: I never had any stutter, but the "target PC" might play a big role in that. And I'm working on a scene with at least 14 components which makes the auto backup proc often... and never had any issue with perfs. But I agree that with less solid hardware, it could be felt. ( and I'm saying could, 'coz when I look at my files, I'm seeing files that goes between 10kb to 350kb, and I would be very surprised that even a 5yo computer would stutter writing a 300ish Kb file ).

For the second part, I think it's a bit "nitpicky". If you end up making a manual backup, and you obviously know how to use Windows, you can sort files by modification date and grab the most recent ones. If you prefer, that's a "non issue"... that's just a way of working and potentially (as I was joking about earlier) more a "personal OCD" than anything else.

I'll had a slider and a checkbox in the future because I'm a nice person :p
But note that it still is bonkers to me.

Dozens of plugins don't have proper "failsafe" features, and when one has something that is designed at least to be "very safe" to avoid data loss on extremely complex scripting situations, you end up having people (kind of) complaining about that actual failsafe feature. AND those complaints are not even based on actual real issues but more about "subjective QoLs" :']

All this I write is a QoL feedback on personal preferences. There's no bug to fix and I do say to take them if meaningful or practical.

Failsafe features are great to have, but the logging annoys and distracts me from what I want to do. As I don't like auto-backups in general - I prefer having more control over the process - disabling the auto-backup for my needs gives me what I need and I lose (? ) nothing. In my usage, the risk of losing Actions/Director data is so limited and easy to fix in comparison to other aspects of a scene that I don't mind disabling the feature altogether.

This is absolutely OCDish and personal preferences, do not add something if you think it doesn't make sense to have. I'm quite happy to change the code of VAMS, I much prefer it over the log distraction and sorting through files I don't need. I mention it as feedback as I also recall someone here mentioning auto-backups.
 
A development mode that can be switched off might be a good idea:

Vamstory only performs automatic backups in development mode, which makes sense because when the scene is distributed to end users, constantly backing it up might seem a bit pointless. So giving creators an option to disable development mode before packaging and uploading could be more user-friendly and also meet the needs of creators who don't want frequent backups.

Automatic backup is a thoughtful design, especially considering that VAM itself doesn't have an undo feature. However, I personally have never needed the convenience of backups because I'm used to saving presets to make backups.
 
@hazmhox
I found some really nice icons from the Gnome project. Having the option to choose icons for buttons would be really awesome and allow users to create a media control panel directly in VAM Story Actions or use popular icons like next/back arrows to continue in an interactive menu. You could possibly use these in VAM Story Actions if you like them...

There is also these...

I was working on a Video Player and started using VAM Story Actions and browsed to attach image buttons but it ended up not matching in style and the rotation effects didn't match either, so I opted to go with manually doing all my buttons for this Video Player with default VAM buttons...

For someone who maybe doesn't want as much going on, just having basic icon buttons they can choose in VAM Story Actions, to add icons to an existing menu set, might be really helpful.

One key advantage is you could greatly reduce the number of atoms you have in a scene file and have it all organized and backed up in Vam Story Actions. That button set has 20 atoms (some hidden like Pause, Shuffle On, Loop On) for example whereas in Vam Story Actions it could of all been 1 atom. So the challenge I run into is if I want another section that controls another playlist or another feature that needs to route and map different through Logic Bricks, that's another 20 atoms.
 
Last edited:
Hi!
I have 2 toggle buttons and I need to disable the other when one button is enabled.
I found 2 options, but they work the same way (hide the object).

Am I doing something wrong or is one option not working correctly and is there any alternative solution to my "problem"?

1718179256860.png
 
Hi @alexmname !

Your problem drops at the right moment if I can say so :p
The last update of VAMStory allows you in VAMStoryActions to change the state of a toggle or a toggle button.
To give you a bit more context:

  • Disable selected action, completely disables it (temporarly) until your re-enable it. This means that if you have a line with 3 buttons and disable the middle one, the third action will move to the second action place. If you prefer, it "removes" the action from the flow of the UI
  • Hide selected action, simply "hides" it. It makes it transparent but keeps its place in the flow of the UI. This means that if you have a line with 3 buttons and hide the middle one, the third action will stay in place and the second one will become invisible.
  • Then most probably, what you are looking for now is the two new actions: "Set selected toggle/toggle button On" or "Set selected toggle/toggle button Off". Those are simply changing the state of the toggle. On "checks" a toggle. Off "unchecks" a toggle.

I hope it's clear enough : )
 
I found some really nice icons from the Gnome project. [...]

That's really nice, but the initial focus was not to have a UI tool at first, but a "dialog" tool. But the community shows how far you can get when "using it" differently.

This is definitely not a bad idea, but also definitely not a priority for me. I'm wrapping a scene with Juno and Timbo right now. Then, it's VAMM2 wrap, and finally so that I put that to rest... I will focus on finishing Djinn once and for all.

So maybe in a couple of months that might be something I could tackle... only the future will tell :p

That said, thank you for your interest and your ideas, that's precious. Thank you <3
 
Hey since your really aktive ok ger I decided I'd ask a question so i want to make a scene where the Dialogue moves forwards automatically lets say a character says hi I want the "hi" to stay for a set amount of time and then for a different dialogue to Pop up as the "hi dissapears" basically some sort of Autoplay Feature.

(Hope it wasn't too difficult to understand what im trying to say)

Is there a way to do this in the latest version of VamStory or maybe a workaround that I don't know of?

Thank you for this amazing plugin!

Edit:Oh and is there anyway to add a wav/mp3 file to the dialogues that way as the test pops up the voice/audio comes our the head of the character that's talking?
 
Hey since your really aktive ok ger I decided I'd ask a question so i want to make a scene where the Dialogue moves forwards automatically lets say a character says hi I want the "hi" to stay for a set amount of time and then for a different dialogue to Pop up as the "hi dissapears" basically some sort of Autoplay Feature.

(Hope it wasn't too difficult to understand what im trying to say)

Is there a way to do this in the latest version of VamStory or maybe a workaround that I don't know of?

Thank you for this amazing plugin!

Edit:Oh and is there anyway to add a wav/mp3 file to the dialogues that way as the test pops up the voice/audio comes our the head of the character that's talking?
This can be achieved in two ways: using Timeline to trigger the plot progression or using a timer or delay trigger plugin.
 
For example, you can use SequenceChoice, StateMachine, or SequenceMachine in LogicBricks. They offer similar functionalities but differ slightly in their applications. Take SequenceMachine as an example; you can use it to "automatically control" the progress of Vamstory. Each entry corresponds to a state in the SequenceMachine. For each state, you can specify a duration, and once the time is up, it automatically moves to the next state.


I think the timeline makes more sense. Since you have a storyline, I assume you have a timeline to control character animations. If that's the case, you can directly set triggers at the corresponding points on the timeline. This way is the simplest.
 


In this example, the Vamstory dialogues that need to progress automatically can be triggered by the Timeline itself. Dialogues requiring player choices can use the "on show" trigger in Vamstory to pause the Timeline. Then, use the Answer trigger to continue the progress.

Vamstory itself is quite flexible. When combined with the Timeline without using additional plugins, it can actually achieve most of the functionalities you want.
 
View attachment 378115

In this example, the Vamstory dialogues that need to progress automatically can be triggered by the Timeline itself. Dialogues requiring player choices can use the "on show" trigger in Vamstory to pause the Timeline. Then, use the Answer trigger to continue the progress.

Vamstory itself is quite flexible. When combined with the Timeline without using additional plugins, it can actually achieve most of the functionalities you want.
Thank you so much for your help! I suppose could i also use Timeline for playing voice through the models head? (Sorry im very New lmao)
 
Thank you so much for your help! I suppose could i also use Timeline for playing voice through the models head? (Sorry im very New lmao)
Yes, depending on your actual needs, you can trigger audio either through Vamstory or by using the Timeline. Both methods look the same. However, in some situations, you might need to handle it differently. I think for now, it's best to keep it simple and use Vamstory to trigger the audio, as it is more straightforward. This way, you won't get yourself confused.

If you need to edit facial expressions or movements based on the dialogue content and have high requirements for audio synchronization, it's better to let Timeline handle the audio. Anyways, either way works. Play with it, and you'll eventually find the method that suits you best.

Here is a simple example of the triggers you might need when combining Timeline with Vamstory dialogue progression:

Screenshot 2024-06-14 080122.pngScreenshot 2024-06-14 080129.pngScreenshot 2024-06-14 080219.pngScreenshot 2024-06-14 080243.png
 
Last edited:
I guess if I need a spokes person I definitely will make you my muse @Shadow Venom :p

Hey since your really aktive ok ger I decided I'd ask a question so i want to make a scene where the Dialogue moves forwards automatically lets say a character says hi I want the "hi" to stay for a set amount of time and then for a different dialogue to Pop up as the "hi dissapears" basically some sort of Autoplay Feature.

(Hope it wasn't too difficult to understand what im trying to say)

Is there a way to do this in the latest version of VamStory or maybe a workaround that I don't know of?

Thank you for this amazing plugin!

Edit:Oh and is there anyway to add a wav/mp3 file to the dialogues that way as the test pops up the voice/audio comes our the head of the character that's talking?

Thank you for enjoying it!

Natively, the auto-play is not possible. But a bunch of people already asked me for that, so I think I'm gonna add that in.

For the audio, first: don't use mp3, use ogg instead :p (but that's not the subject).

Audio is complex, because a dialog has no connection to a character. I could add a possibility to select a character, then select an audio file natively in the plugin. But... simply creating a trigger in the "on show" with a command to play a file anywhere (on a character, on a prop, whatever), would be as fast as selecting the character and the file everytime... but far more versatile.

I think doing natively is both convoluted and useless, as you might want to trigger something else than a dialog on a character. So the custom trigger is obviously the way to go.

You can use VAMStory "VA" plugin and trigger every voice line through the dialog triggers : )
 
If you need to edit facial expressions or movements based on the dialogue content and have high requirements for audio synchronization, it's better to let Timeline handle the audio. Anyways, either way works. Play with it, and you'll eventually find the method that suits you best.

Damn! You're starting to make me think of a way to handle a set of expressions through audio haha : 'D
 
Back
Top Bottom