{"id":17965939,"url":"https://github.com/deathbeam/raylib.net","last_synced_at":"2025-11-10T16:06:54.046Z","repository":{"id":258761087,"uuid":"875069887","full_name":"deathbeam/Raylib.NET","owner":"deathbeam","description":"Autogenerated Raylib 5.5-dev binding for C#","archived":false,"fork":false,"pushed_at":"2025-01-24T00:16:36.000Z","size":395,"stargazers_count":9,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-18T06:46:20.887Z","etag":null,"topics":["bindings","linux","osx","raylib","wasm","web","windows"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deathbeam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-19T03:02:24.000Z","updated_at":"2025-02-11T14:44:28.000Z","dependencies_parsed_at":"2024-11-04T09:19:25.190Z","dependency_job_id":"3b98c43f-4ca9-46d9-ac18-7d62f29af3f3","html_url":"https://github.com/deathbeam/Raylib.NET","commit_stats":{"total_commits":258,"total_committers":3,"mean_commits":86.0,"dds":"0.046511627906976716","last_synced_commit":"2ac776b2525933fcf661dc57e2814520204ef2b4"},"previous_names":["deathbeam/raylib.net"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deathbeam%2FRaylib.NET","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deathbeam%2FRaylib.NET/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deathbeam%2FRaylib.NET/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deathbeam%2FRaylib.NET/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deathbeam","download_url":"https://codeload.github.com/deathbeam/Raylib.NET/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245418269,"owners_count":20612101,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bindings","linux","osx","raylib","wasm","web","windows"],"created_at":"2024-10-29T13:06:14.112Z","updated_at":"2025-11-10T16:06:53.971Z","avatar_url":"https://github.com/deathbeam.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Stuff being done here\n\n- Everything is 100% generated, no manual wrappers, minimal amount of manual mappings (mostly just slight correction for array detection, C \"arrays\" are worst thing ever made)\n- Natives are built for all platforms, using raylib zig build scripts\n\n### Stuff not being done here\n\n- Enum to argument mappings - this is raylib design decision, if raylib maintainers decide to provide type info in headers I can parse it, but i dont want to hardcode it\n- Array-\u003eSpan mappings - there is no info if something is array or not in raylib C headers so detecting arrays is very volatile. I do some basic array detection at the moment so this might be possible eventually, but im undecided yet\n- Manual wrappers - Everything manual is error prone and harder to maintain, the bindings are perfectly usable without them (partially thanks to LibraryImport being so nice to work with)\n- Porting raylib examples - So much maintenance work for little benefit, the API is mostly the same so just look at C example\n\n### Included bindings\n\n- Raylib\n- Raymath\n- Rlgl\n- Raygui\n\n### Supported platforms\n\n- Windows x64/x86/arm64\n- OSX x64/arm64\n- Linux x64/x86/arm64\n- Browser WASM (using [NativeAOT-LLVM](https://github.com/dotnet/runtimelab/tree/feature/NativeAOT-LLVM))\n\n### Use as dependency\n\n#### Add source\n\nNeeds GitHub credentials.\n\n```sh\ndotnet nuget add source --name \"raylib.net\" --username \"YOUR_GITHUB_USERNAME\" --password \"YOUR_GITHUB_TOKEN\" --store-password-in-clear-text \"https://nuget.pkg.github.com/deathbeam/index.json\"\n```\n\n#### Use package\n\n```sh\ndotnet add package Raylib.NET --version '*-build.*'\ndotnet add package Raylib.NET.Native --version '*-build.*'\n```\n\n### Try the example\n\n```sh\ncd src/Raylib.NET.Example\n\n# linux\ndotnet publish -r linux-x64 -c Release\n./bin/Release/net8.0/linux-x64/publish/Raylib.NET.Example\n\n# windows\ndotnet publish -r win-x64 -c Release\nbin/Release/net8.0/win-x64/publish/Raylib.NET.Example.exe\n\n# wasm (EMSDK required + wasm-tools, see below for EMSDK setup)\ndotnet workload install wasm-tools\ndotnet publish -r browser-wasm -c Release\nemrun --port 8080 bin/Release/net8.0/browser-wasm/native/Raylib.NET.Example.html\n```\n\n### Local development\n\nInitializes submodules:\n\n```sh\ngit submodule update --init --recursive\n```\n\nUpdates raylib submodules (if needed):\n\n```sh\ngit submodule update --recursive --remote\n```\n\nGenerate bindings, build natives for whatever os you are on etc:\n\n```sh\ndotnet build\n```\n\nCross-compile with RID:\n\n```sh\ncd src/Raylib.NET.Native\ndotnet build -r win-x64\ndotnet build -r win-x86\ndotnet build -r win-arm64\ndotnet build -r osx-x64\ndotnet build -r osx-arm64\ndotnet build -r linux-x64\ndotnet build -r linux-x86 # requires i386 libraries for dependencies (X11, etc)\ndotnet build -r linux-arm64 # requires arm64 libraries for dependencies (X11, etc)\ndotnet build -r browser-wasm # requires EMSDK\n```\n\n`browser-wasm` requires `EMSDK`:\n\n```sh\ngit clone https://github.com/emscripten-core/emsdk\ncd emsdk\n./emsdk install latest\n./emsdk activate latest\nexport EMSDK=$PWD\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeathbeam%2Fraylib.net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeathbeam%2Fraylib.net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeathbeam%2Fraylib.net/lists"}