Welcome to the Bengine source code repository!
Bengine is an open-source C# game engine for realistic rendering and VR. The engine is highly modular and aims at giving game makers more flexibility in their development. Bengine comes with an editor that allows you to create and manage the content of your games or applications visually and intuitively.
To learn more about Bengine, visit not.yet.
If you are a developer with solid experience in C#, rendering techniques, or game development, we want to hire you! We have allocated funds from supporters on OpenCollective and can pay for work on certain projects. More info about this here.
This project is supported by the .NET Foundation.
Bengine is covered by the MIT License unless stated otherwise (i.e. for some files that are copied from other projects). You can find the list of third-party projects here. Contributors need to sign the following Contribution License Agreement.
Bengine being a .NET Foundation project, it has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.
Find explanations and information about Bengine:
Ask for help or report issues:
- Chat with the community on Discord
- Discuss topics on GitHub discussions
- Report engine issues
- Donate to support the project
- List of Projects made by users
- Awesome Bengine - Huge List of Bengine Resources
- Localization
- Latest Git with Large File Support selected in the setup on the components dialog and for convenience a git UI client like GitExtensions.
- .NET 8.0 SDK
- Run
dotnet --info
in a console or powershell window to see which versions you have installed
- Run
- Visual Studio 2022 with the following workloads:
.NET desktop development
with.NET Framework 4.7.2 targeting pack
(should be enabled by default)Desktop development with C++
withWindows 10 SDK (10.0.18362.0)
or later version (should be enabled by default)MSVC v143 - VS2022 C++ x64/x86 build tools (Latest)
(should be enabled by default)C++/CLI support for v143 build tools (Latest)
(not enabled by default)
- Optional (to target iOS/Android):
.NET Multi-paltform App UI development
andAndroid SDK setup
individual component (enabled by default), then in Visual Studio go toTools > Android > Android SDK Manager
and installNDK
(version 20.1+) fromTools
tab. - Optional (to build VSIX package):
Visual Studio extension development
- Clone the repo with a git UI or open a command prompt, point it to a directory and clone Bengine to it:
git lfs clone https://github.com/Bengine3d/Bengine.git
- Do NOT use GitHub -> Code -> Download ZIP, this won't include the
lfs
files.
- Do NOT use GitHub -> Code -> Download ZIP, this won't include the
- Open
<BengineDir>\build\Bengine.sln
with Visual Studio 2022 and buildBengine.GameStudio
in the 60-Editor solution folder (it should be the default startup project) or run it from VS's toolbar.- Optionally, open and build
Bengine.Android.sln
,Bengine.iOS.sln
, etc.
- Optionally, open and build
- Install Visual Studio Build Tools with the same prerequisites listed above
- Add MSBuild's directory to your system's PATH (ex:
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin
) - Clone the repo with a git UI or open a command prompt, point it to a directory and clone Bengine to it:
git lfs clone https://github.com/Bengine3d/Bengine.git
- Navigate to
/Build
with the command prompt, inputmsbuild /t:Restore Bengine.sln
thencompile.bat
If building failed:
- Some errors for test projects are normal, GameStudio will start anyway.
- The Visual Studio extension might fail to build if you are missing the Visual Studio SDK, but GameStudio will start anyway.
- If you skipped one of the
Prerequisites
thinking that you already have the latest version, update to the latest anyway just to be sure. - Visual Studio might have issues properly building if an anterior version is present alongside 2022. If you want to keep those version make sure that they are up to date and that you are building Bengine through VS 2022.
- Your system's PATH should not contain older versions of MSBuild (ex:
...\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin
should be removed) - Some changes might require a system reboot, try that if you haven't yet.
- Make sure that Git, Git LFS and Visual Studio can access the internet.
- Close VS, clear the nuget cache (in your cmd
dotnet nuget locals all --clear
), delete the hidden.vs
folder inside\build
and the files insidebin\packages
, kill any msbuild and other vs processes, build the whole solution then build and run GameStudio.
Do note that test solutions might fail but it should not prevent you from building Bengine.GameStudio
.
Please check our Contributing Guidelines.
Branch | master |
---|---|
Windows D3D11 | |
Windows D3D12 | |
Windows Vulkan | |
Windows OpenGL | |
Windows OpenGL ES | |
iOS | |
Android | |
Linux Vulkan | |
Linux OpenGL | |
Tests Windows Simple | |
Tests Windows D3D11 |
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!