Skip to content

Compiler / runtime version mismatch should at least emit a warning #100

@skeets23

Description

@skeets23

TLDR: It would be nice if the C# YarnSpinner runtime at least emitted a warning when it detects that the yarnc file it loads was compiled for a different version of YarnSpinner.


Before someone asks why I'm using a custom solution here - my game is being built in MonoGame. There's no ready-made solutions there.

So I'm using the yarnspinner.console tool to compile my .yarn files into .yarnc files, and then I built the dialogue runner in my monogame project using the YarnSpinner NuGet package.

I had just installed the "most recent" of both the tool NuGet package and the "runtime" YarnSpinner NuGet package, for some reason I assumed the most recent of both would be compatible with each other (that's on me, I know I should have checked).

It turns out, they are not compatible, the versions didn't match (installing the most recent YarnSpinner package gave me 3.1.0, the most recent yarnspinner.console gave me 3.0.2)

It would have saved me several hours and much frustration if the runtime package had emitted at least a warning that there was a version mismatch between the compiler that compiled the yarnc file and the runtime YarnSpinner version (the compiler could "stamp" it somehow with the compiler version so the runtime can compare).

Instead, it just had strange bugs like: running SetSelectedOption() and then Continue(); was just causing Yarn Spinner to emit the same options again. I didn't even think to check for version mismatches for a few hours (and maybe that's on me), and was going in circles trying to debug what I was doing wrong.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CoreIssues concerning the compiler or engine-independent code in the YarnSpinner repoProposalAn idea for a new feature or changed behaviour you want

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions