Apologies if this has already been answered somewhere and I missed it, but I’m wondering if it’s possible to pass structs as parameters (or any kind of parameter for that matter) to custom events called by Sequencer.
It seems like it’s possible, as the UI gives you the option to pass structs as parameters as shown in the image below, but when I actually run the build the event doesn’t run correctly.
Upon inspection, the output log gives a warning for trying to do this:
“: Sequencer Event Track: Parameter count mistatch for event ‘SetRiddleMasterTalk’. Parameter struct contains too many parameters (‘StringValue_3_83B44616432A8245F46B459B3A45E72A’ is superfluous at index ‘0’.”
For reference you can find my Level BP and struct configuration below.
Any thoughts would be appreciated!
One more additional piece of information - I’m suspecting that this isn’t supposed to actually work anyhow, since I tried creating a struct where I would pass a Flipbook to it, but whenever I selected a Flipbook to pass in the dialog from “example.png” Unity would crash 100% of the time.
Is there such a thing as a bump in these forums? ^^;
The workflow here isn’t ideal. But if you change the parameter in SetRiddleMasterTalk
to a String, it should work.
Hello Max, thanks very much for the reply! Unfortunately as far as I can tell, there’s no way to change the Sequencer UI to take a String as opposed to a struct.
If you have any further thoughts I’m certainly all ears. Thanks again.
So, I didn’t describe the fix well. I duplicated everything you had and got the same unexpected behavior. However, to fix the issue, I selected the SetRiddleMasterTalk event in blueprint and in the details panel, in the Input section, the input your situation is a StringStruct. If you look in my image, circled in red, I changed it to a String. Let me know if that’s doesn’t make sense or doesn’t solve your problem.
If you look in my image, the string feeds directly to the print string node. It’s not a string struct, which needs to be broken.
Thanks for the reply!
I understood that you changed the type of the input parameter from the string struct to a plain String type. My problem is getting the value of the String parameter as set in the Sequencer event property UI, so changing the input of SetRiddleMasterTalk in the Blueprint from a struct to a String doesn’t change the final result that there doesn’t seem to be a way to pass String information from the Sequencer cutscene to the Level Blueprint, and finally to the print call.
Sorry, perhaps I haven’t been clear about what I’m actually trying to do:
I’d like to use Sequencer to create cutscenes in a level
I’d then like to use the Event Track of the Sequence to call a Blueprint function in the Level Blueprint that could be used to manipulate actors
In this specific case, I’d like to pass an arbitrary string in the Event Track that could then be piped through the Level Blueprint to the character, for the character to “say”
As shown in “unititled.jpg”, the Sequencer Event Track propery UI only seems to take structs as parameters, so, for instance, if even the name of the function in the Level Blueprint is the same as the Event Name I’m calling from the Sequencer UI, that function won’t actually be called if I set the function to take anything but a struct as input in the Level Blueprint. Hence why I keep harping on the use of structs. ^^;
If you feel that there’s a better way to structure cutscenes I’m certainly open to hearing how it would be done more logically. ^^;
Hey Max - just wanted to let you know that I went through the tutorial found here (sorry I hadn’t picked it up earlier), opened up my solution having tried what you suggested, and realized that I didn’t have the Level Blueprint set up correctly. Once I fixed it your solution did indeed work. Thanks again for your time and apologies for my stupidity!
No problem. Glad you worked it out.