Until last week, I knew nothing about WASM at all. But that doesn’n matter. What you need to know (and what I know since the late '80s) is C++ as the WASM module is programmed in C++.
If you are not familiar with C++ I would excercise outside of MSFS since it is a real pain to start the sim over and over again just to load your just built WASM. When you are familiar with C++ it is no big deal to start with WASM as far as you use Visual Studio as there are project types for WASM modules.
In my case, I built a stand alone WASM module, i.e. the module is not being related to any aircraft.
However, there are working WASMs in the link I posted above. They are very good to start with as there you have a working sample.
Just note that the structure of community packages (and such is the WASM module) have to use a certain folder structure and must contain two JSON files, layout.json and manifest.json. In layout.json the size of the built WASM module is specified, so make sure to set this value whenever you have built the module. I use the MSFSLayoutGenerator to generate the appropriate entries in the file automatically and call that tool in my post build event.