So in the event sheet A you call a function from event sheet B, without including B.
What if that function relies on other events from the event sheet B? Say, calls other functions or triggers some delayed events defined in B?
This can cause problems that will be very difficult to troubleshoot.
Of course there won't be any problem since in the first place you are calling only a single function. And no one is forcing you to use a more advanced feature, but what is important is that it is at least available.
Anyway, if Ashley wants to, he could work around that depending on how he prepared Construct 3.
I do expect the Construct Team that they will improve the feature anyhow they can especially if it is going to get official.
Hard to troubleshoot? Actually this is not a big deal to troubleshoot especially when we have situations similar to this case that still no one to an extent did complain about changing. Like Nested Groups, Wait(), Includes and etc...
Nested Groups for example can have deactivated groups withing a parent group and this can cause problems in troubleshooting, but this makes sense to have as a feature since we need block scoping.
Wait() in loops and functions and etc. can cause problems too and hard to troubleshoot but we just need to learn to use it properly.
And Includes can actually be complicated as this function feature since they act as branch nodes and unexpected event sheets might get included and run without even the developer noticing, since includes can go spaghetti.
So if another event sheet have initialization events there, it could run even when not supposed to. Then, that would be harder to troubleshoot.
They all can go haywire on specific situations but we just need to learn to manage it. Construct is made easy but it shouldn't be limited to complex creativity just to avoid confusion in troubleshooting.
If you support this kind of mentality, then Construct Games will continue to be seen by users as a game engine limited to typical game functions made mostly with built-in behaviors. Which Construct is not, it is way better than that and it has very good potential to do a lot of complex and advanced things.
Besides, this is actually quite beneficial. It would prevent and avoid redundant techniques to very complex situations. Imagine this, if you include an event sheet instead of calling only a function from an event sheet.
It would be way harder to troubleshoot when you face these problems:
1) Duplicate Functions
2) Include Spaghetti, includes that are spread across event sheets.
3) Unorganized events
Now here, you either pick to 'Duplicate a function' or 'Include Event Sheets' repeatedly until you lose track of their sources. For example :
Click the link to see the image.
Imagine if Event Sheet (Green) has the functions. It is haywire!
Either way, it is messy. The best solution, is the "Function Call : On Event Sheet".
We have been using this feature on the background of Construct 2 for a while now and nobody has ever gotten any problems including me. But now, I am not sure if the SDK documentation references for the function plugin on Construct 3 is available, so i think asking Ashley to support it officially is better.
Or, if he can't or won't, I would like to ask the Construct Team the 'Editor' and 'Runtime' documentation reference guide on how I could achieve making a customized function plugin for Construct 3.