# CameraAircraft The `Camera` aircraft is a preset of the [WASM modular aircraft](../wasmaircraft/), which shows a simple example of the WebAssembly [Camera API](../../../../programming-apis/wasm/camera-api/camera-api/). Once the [WASM](chartsaircraft/#) Aircraft package has been built, this module will be available for flying from the aircraft selection screen: {{< image-center src="images/7_Samples_Tutorials/Samples/WASMAircraft/CameraAircraft/camera_1_main.png" alt="Selecting The Flow Aircraft In The Simulation" >}}   The `WasmModules.sln` file (found in the `Sources` folder of the project) will allow you to compile the source-code with Microsoft Visual Studio (2019 or 2022) in order to create the `CameraModule.wasm` WebAssembly module which will then be loaded by the simulation. Once compiled, the module will automatically be copied into the following folder \[ROOT\]\(PackageSources\)SimObjects\(Airplanes\)MyCompany\_Wasm\_Aircraft\(presets\)mycompany\(CameraAircraft\)panel   Note that if you make changes to the C++ code and recompile the charts WASM module, you will have to build your package again. This *can* be done while the plane is used within the simulation.     ### Testing Once you have built the aircraft and selected it, you can go into a **Free Flight** and you will see three panels in the cockpit, with some text on the first two (the third is not used in this example): {{< image-center src="images/7_Samples_Tutorials/Samples/WASMAircraft/CameraAircraft/camera_2_screens.png" alt="The Camera Aircraft Gauges" >}}   The screens show whether the camera is **acquired** or not, and whether the simulation is currently in control of the camera or not. If you click the *first* screen, the camera API will acquire the add-on camera and then update the camera every frame for a few seconds, creating a sweeping fly-by of the user aircraft. If you do this and then switch to the developer camera, you can move into the cockpit and view the screen and see that it will have changed to show the following: {{< image-center src="images/7_Samples_Tutorials/Samples/WASMAircraft/CameraAircraft/camera_3_acquired.png" alt="The First Camera Aircraft Screen Showing The Current Add-on Camera Status" >}}   The **Acquired** status is now shown, since the WASM module has successful acquired the camera, and **Game Controlled** will be showing, since - while using the developer camera - the add-on does not have control of the camera, and the simulation is instead controlling it. Quitting developer mode and upausing the simulation will return control to the module.   If you click the second screen, the WASM module uses the camera API to get a list of all the cameras defined in the [camara.cfg](../../../../content-configuration/cfg-files/cameras.cfg/) and skip through them one at a time. Each camera name will be shown in the second screen as they change: {{< image-center src="images/7_Samples_Tutorials/Samples/WASMAircraft/CameraAircraft/camera_4_switch.png" alt="The Second Camera Aircraft Screen Showing The Current Camera" >}}