First add `vaudio.dll` as a dependency to your project, as well as helpers to copy the license file, dependencies and resource folder to the output directory: ```xml <Project Sdk="Microsoft.NET.Sdk">     <PropertyGroup>         <OutputType>Exe</OutputType>         <TargetFramework>net8.0</TargetFramework>     </PropertyGroup>     <!-- Add the DLL to your project -->     <ItemGroup>         <Reference Include="vaudio">             <HintPath>..\path\to\vaudio.dll</HintPath>         </Reference>     </ItemGroup>     <Target Name="PostBuild" AfterTargets="PostBuildEvent">         <!-- Copy the license file to the build directory -->         <Copy SourceFiles="..\path\to\vaudio.license" DestinationFolder="$(OutDir)" />                 <!-- Copy dependencies to the build directory -->         <Copy SourceFiles="..\path\to\SDL2.dll" DestinationFolder="$(OutDir)" />         <Copy SourceFiles="..\path\to\glfw3.dll" DestinationFolder="$(OutDir)" />         <Copy SourceFiles="..\path\to\libSkiaSharp.dll" DestinationFolder="$(OutDir)" />         <Copy SourceFiles="..\path\to\libHarfBuzzSharp.dll" DestinationFolder="$(OutDir)" />                 <!-- Copy the resource folder to the build directory -->         <ItemGroup>             <ResourceFiles Include="..\path\to\resource\**\*.*" />         </ItemGroup>         <Copy SourceFiles="@(ResourceFiles)" DestinationFolder="$(OutDir)\resource\%(RecursiveDir)" />         <!-- GODOT ONLY: copy the resource folder to the same directory as the .csproj file --> <Copy SourceFiles="@(ResourceFiles)" DestinationFolder="$(ProjectDir)\resource\%(RecursiveDir)" />     </Target> </Project> ``` Then create a `RaytracingContext` and run the project: ```cs static void Main(string[] args) { var settings = new vaudio.RaytracingContextSettings() { worldSize = new(100), renderingEnabled = true, reverbRayCount = 128, occlusionRayCount = 128, trailBounceCount = 8, maxVoices = 1, }; var context = new vaudio.RaytracingContext(settings); context.UpdateListener(new vaudio.Vector3F(50, 50, 50)); while (true) { context.Update(); System.Threading.Thread.Sleep(16); } } ``` The first time you run this, you will likely face some errors. Below is a list of solutions for each error. ## License Error When running the project, this error may occur: ![[license_error.png]] To solve this, ensure the `vaudio.license` file is copied to your build directory: ![[license_file.png]] ## Startup Error When rendering is enabled, you may encounter this error on startup: ![[rendering_error.png]] To solve this, copy `SDL2.dll` and `glfw3.dll` to your build directory. Alternatively, add these Silk.NET dependencies to your project via NuGet: ```xml <ItemGroup> <PackageReference Include="Silk.NET.Core" Version="2.21.0" /> <PackageReference Include="Silk.NET.Input" Version="2.21.0" /> <PackageReference Include="Silk.NET.OpenGL" Version="2.21.0" /> <PackageReference Include="Silk.NET.Windowing" Version="2.20.0" /> <PackageReference Include="Silk.NET.Input.Glfw" Version="2.21.0" /> <PackageReference Include="Silk.NET.Windowing.Glfw" Version="2.21.0" /> <PackageReference Include="Silk.NET.Windowing.Sdl" Version="2.21.0" /> </ItemGroup> ``` ## Missing Resources When rendering is enabled, you may get this error in the console: ``` System.IO.DirectoryNotFoundException: Could not find a part of the path '..\projects\testing\bin\Debug\net8.0\resource\cube.vcd' ``` To solve this, copy the `resource` folder to your build directory: ![[resource_folder.png]] ## Missing Dependencies When rendering is enabled, you may get this error in the console: ``` System.TypeInitializationException: The type initializer for 'SkiaSharp.SKImageInfo' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'libSkiaSharp' or one of its dependencies: The specified module could not be found. (0x8007007E) ``` To solve this, copy the `libHarfBuzzSharp.dll` and `libSkiaSharp.dll` files to your build directory: ![[skia_dependencies.png]] Alternatively, add `SkiaSharp v2.88.8` and `SkiaSharp.HarfBuzz v2.88.8` to your project via NuGet: ```xml <ItemGroup> <PackageReference Include="SkiaSharp" Version="2.88.8" /> <PackageReference Include="SkiaSharp.HarfBuzz" Version="2.88.8" /> </ItemGroup> ```