I have a few questions on how to implement a metroidvania-esque system into my 2d platformer game. How I would envision the code would be most likely similar to RPG Maker’s switches (i.e. you beat gym leader 1, switch turns on; this affects things like the pokemon league gateway or the amount of pokemon of a higher level you can catch), but I do not know how to code them in C#. How does the game know that you have the item, or, in the case of my game, promotion (it’s based off of chess)? How would I write if statements to ensure that I must have the item before being allowed to do this specific skill? I would also ask how to make a wall jump, sword attack, or air dash, but each of those would probably warrant their own topics.
Here’s a great place to start:
There are also loads of scripting tutorials on YouTube, as well as some excellent paid courses over on Udemy.