Flax Engine – multi-platform 3D game engine

Overview

Flax Engine

Flax Engine is a high quality modern 3D game engine written in C++ and C#. From stunning graphics to powerful scripts - Flax can give everything for your games. Designed for fast workflow with many ready to use features waiting for you right now. To learn more see the website (www.flaxengine.com).

This repository contains full source code of the Flax (excluding NDA-protected platforms support). Anyone is welcome to contribute or use the modified source in Flax-based games.

Development

Screenshots

rendering performance pbr-rendering

Getting started

Follow the instructions below to compile and run the engine from source.

Flax plugin for Visual Studio

Flax Visual Studio extension provides better programming workflow, C# scripts debugging functionality and allows to attach to running engine instance to debug C# source. This extension is available to download here.

Windows

  • Install Visual Studio 2015 or newer
  • Install Windows 8.1 SDK or newer
  • Install Microsoft Visual C++ 2015 v140 toolset or newer
  • Clone repo (with LFS)
  • Run GenerateProjectFiles.bat
  • Open Flax.sln and set solution configuration to Editor.Development and solution platform to Win64
  • Set Flax (C++) or FlaxEngine (C#) as startup project
  • Compile Flax project (hit F7 or CTRL+Shift+B)
  • Run Flax (hit F5 key)

Linux

  • Install Visual Studio Code
  • Install Mono (https://www.mono-project.com/download/stable)
  • Install Git with LFS
  • Install requried packages: sudo apt-get install nuget autoconf libtool libogg-dev automake build-essential gettext cmake python curl libtool-bin libx11-dev libpulse-dev libasound2-dev libjack-dev portaudio19-dev libcurl4-gnutls-dev
  • Install compiler sudo apt-get install clang lldb lld (Clang 6 or newer)
  • Clone repo (with LFS)
  • Run ./GenerateProjectFiles.sh
  • Open workspace with Visual Code
  • Build and run (configuration and task named Flax|Editor.Linux.Development|x64)

Workspace directory

  • Binaries/ - executable files
    • Editor/ - Flax Editor binaries
    • Tools/ - tools binaries
  • Cache/ - local data cache folder used by engine and tools
    • Intermediate/ - intermediate files and cache for engine build
      • ProjectName/ - per-project build cache data
      • Deps/ - Flax.Build dependencies building cache
    • Projects/ - project files location
  • Content/ - assets and binary files used by engine and editor
  • Development/ - engine development files
    • Scripts/ - utility scripts
  • packages/ - Nuget packages cache location
  • Source/ - source code lcoation
    • Editor/ - Flax Editor source code
    • Engine/ - Flax Engine source code
    • Platforms/ - per-platform sources and dependency files
      • DotNet/ - C# dependencies
      • Editor/ - Flax Editor binaries
      • PlatformName/ - per-platform files
        • Binaries/ - per-platform binaries
          • Game/ - Flax Game binaries
          • Mono/ - Mono runtime files and data
          • ThirdParty/ - prebuild 3rd Party binaries
    • Shaders/ - shaders source code
    • ThirdParty/ - 3rd Party source code
    • Tools/ - development tools source code

Licensing and Contributions

Using Flax source code is strictly governed by the Flax Engine End User License Agreement. If you don't agree to those terms, as amended from time to time, you are not permitted to access or use Flax Engine.

We welcome any contributions to Flax Engine development through pull requests on GitHub. Most of our active development is in the master branch, so we prefer to take pull requests there (particularly for new features). We try to make sure that all new code adheres to the Flax coding standards. All contributions are governed by the terms of the EULA.

Issues
  • Generate Project file Build Errors VS2019

    Generate Project file Build Errors VS2019

    Issue description:

    1. MSBuild : Windows/.NET/....
    2. Visual Studio : C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin Visual studio MSBuild PATH Issue : Get a 4.0.003 MSBuild path(old version) Not VS 2019 MSBuild path

    [Issue Image][Check Out](https://cdn.discordapp.com/attachments/438021321134309377/790805021368647710/Screenshot_2020-12-22_101331.png)

    Issue On Disrord #help (https://discord.com/channels/437989205315158016/438021321134309377/790805024074498049)

    Yes i try latest commit repo.

    Steps to reproduce:

    Minimal reproduction project: .,

    Flax version: 1.0

    bug 
    opened by lakkyhb 14
  • Visual Studio 2019 compile error

    Visual Studio 2019 compile error

    GetMSBuildPath:

    @echo off
    
    rem Copyright (c) 2012-2020 Wojciech Figat. All rights reserved.
    
    **set MSBUILD_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe"**
    
    if not exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" goto VsWhereNotFound
    for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
    	if exist "%%i\MSBuild\15.0\Bin\MSBuild.exe" (
    		set MSBUILD_PATH="%%i\MSBuild\15.0\Bin\MSBuild.exe"
    		goto End
    	)
    )
    :VsWhereNotFound
    
    if exist "%ProgramFiles(x86)%\MSBuild\14.0\bin\MSBuild.exe" (
    	set MSBUILD_PATH="%ProgramFiles(x86)%\MSBuild\14.0\bin\MSBuild.exe"
    	goto End
    )
    
    call :GetInstallPath Microsoft\VisualStudio\SxS\VS7 15.0 MSBuild\15.0\bin\MSBuild.exe
    if not errorlevel 1 goto End
    call :GetInstallPath Microsoft\MSBuild\ToolsVersions\14.0 MSBuildToolsPath MSBuild.exe
    if not errorlevel 1 goto End
    call :GetInstallPath Microsoft\MSBuild\ToolsVersions\12.0 MSBuildToolsPath MSBuild.exe
    if not errorlevel 1 goto End
    call :GetInstallPath Microsoft\MSBuild\ToolsVersions\4.0 MSBuildToolsPath MSBuild.exe
    if not errorlevel 1 goto End
    
    exit /B 1
    :End
    exit /B 0
    
    :GetInstallPath
    for /f "tokens=2,*" %%A in ('REG.exe query HKCU\SOFTWARE\%1 /v %2 2^>Nul') do (
    	if exist "%%B%%3" (
    		set MSBUILD_PATH="%%B%3"
    		exit /B 0
    	)
    )
    for /f "tokens=2,*" %%A in ('REG.exe query HKLM\SOFTWARE\%1 /v %2 2^>Nul') do (
    	if exist "%%B%3" (
    		set MSBUILD_PATH="%%B%3"
    		exit /B 0
    	)
    )
    for /f "tokens=2,*" %%A in ('REG.exe query HKCU\SOFTWARE\Wow6432Node\%1 /v %2 2^>Nul') do (
    	if exist "%%B%%3" (
    		set MSBUILD_PATH="%%B%3"
    		exit /B 0
    	)
    )
    for /f "tokens=2,*" %%A in ('REG.exe query HKLM\SOFTWARE\Wow6432Node\%1 /v %2 2^>Nul') do (
    	if exist "%%B%3" (
    		set MSBUILD_PATH="%%B%3"
    		exit /B 0
    	)
    )
    exit /B 1
    

    Project Settings:

    w

    Errors:

    2 5

    bug tools 
    opened by Alad53 11
  • Overhaul Icons for the Editor

    Overhaul Icons for the Editor

    New Icons

    This PR is aimed at one of goals listed on trello for new icons. All Icons are from Icons8 (which is already mentioned on the About Window). The Icons are almost 99% Material Filled, which was also listed on trello, with a few iOS Glyphs icons (Save icon,...).

    In an ideal scenario they would be all SVGs or an a alternative solution would be using an icon font, however for that to work, signed distance fields fonts would have to be implemented first.

    Comparison

    New (Black)

    image

    Old

    image

    Files

    Contains both Color & Non-Color Final.zip

    Atlas .flax asset (so you don't have to redo all the sprite regions) IconsAtlas.zip

    enhancement editor 
    opened by W2Wizard 11
  • UI Bug: Can't add a Panel or Container to a Vertical Panel

    UI Bug: Can't add a Panel or Container to a Vertical Panel

    Issue description: I have the following structure. The "ERROR" is the control I'm trying to set to a Container or Panel but everytime I do it just teleports me back up to the base. image

    Steps to reproduce: To see the issue in action, watch this video. In the video I'm trying to add another container or panel to the Vertical Panel but it never works. There are no errors generated. https://user-images.githubusercontent.com/35228400/110549993-05a1f400-8187-11eb-9aad-99eba5cdab49.mp4

    Flax version: Branch 1.1

    bug confirmed ui 
    opened by Evildea 11
  • Timeline editing issues

    Timeline editing issues

    Batched issues related to keyframes and curves editors used in animation timelines. Reported by @W2Wizard

    • [x] 1) Zooming into the timeline (of a scene animation) doesn't really have a limit, editor starts to freakout when you keep doing it and is laggy (fix: 347eaa9d075adbf5921f268731a283d5f721195f and 052366be66cb5306195f30fc673f7f22b1371668). image

    • [x] 2) The handle bars don't move accurately where the cursor is (fix: 9464c509fa4c9d2f278d9f22a34e6918bd5fdda6).

    https://user-images.githubusercontent.com/3464853/118133004-96ec4b80-b400-11eb-9d1f-def1b2d8fdef.mp4

    • [x] 3) Weird grey box (probably a keyframe knob). To reproduce just make something with a Vec3, make some keyframes and select one of them.

    https://user-images.githubusercontent.com/3464853/118133060-a66b9480-b400-11eb-99f8-22af54a70793.mp4

    • [x] 4) Clickable area for keyframes should be a bit bigger, right now you have to be pixel accurate.

    https://user-images.githubusercontent.com/3464853/118133386-111cd000-b401-11eb-9822-e8373b1e618f.mp4

    • [x] 5) The timeline view expandle would make it way more easier to see where your keyframes actually are (fix: bbe9193686c9f1f77cd35cb3060f36ed15ef3a2b).

    image

    • [x] 6) Overall I personally prefer it way much when all of the keyframes are present in a single view instead, e.g UE4. Having it separate like that makes it imo harder to navigate. - we already have collapsed tracks with keyframes but it culd be improved for nested tracks + add ability to move keyframes from multiple tracks at once (rectangular selection). (added: d19d0ef0e598c83bc039ea898df5af52e3f031d3)

    image

    bug editor 
    opened by mafiesto4 10
  • Crash when baking light maps

    Crash when baking light maps

    Issue description: Flax crashes when baking light maps. My GPU: GTX 660 ti

    image

    image

    Log File: Log_2021_05_20_16_55_01.txt

    Flax version: Master Branch and Current 1.1 Binary from Flax Launcher

    crash graphics 
    opened by Evildea 9
  • Memory bug

    Memory bug

    Issue description:

    I tried to enter playmode and i got an error "unhandled exception"

    Log.txt

    Steps to reproduce:

    Minimal reproduction project:

    Flax version:

    1.3 crash physics 
    opened by DevXtreme2007 8
  • linux: Failed to create thumbnails atlas (rename fail accross different mount points)

    linux: Failed to create thumbnails atlas (rename fail accross different mount points)

    I am trying the pre-compiled version of Flax (1.2.622) in linux (debian/sid) and in the content browser I see only black thumbnails, in the output log I see more messages like this:

    [ 00:00:08.683 ]: [Info] Creating package at '/tmp/08d98f61-0002-135b-194b-70efe6fb431a/08d98f6103e381c81992f824e9c684c8.flax'. Silent Mode: false
    [ 00:00:08.695 ]: [Warning] Cannot move imported file /tmp/08d98f61-0002-135b-194b-70efe6fb431a/08d98f6103e381c81992f824e9c684c8.flax to the destination path /home/alex/tmp/flax/Test1/Cache/Thumbnails/cache_038d5d46808c4bbc8c8747b794185e6c.flax.
    [ 00:00:08.696 ]: [Error] Cannot import file ''! Result: CannotSaveFile
    [ 00:00:08.696 ]: [Error] Failed to create thumbnails atlas
    

    Using strace (below) I see that the file is created correctly in /tmp but then the call to rename() which should move it to the project directory fails with EXDEV (Invalid cross-device link), in this system /tmp is mounted with filesystem tmpfs (is mounted in ram, which is not such a rare practice).

    4223  openat(AT_FDCWD, "/tmp/08d98f61-0002-135b-194b-70efe6fb431a/08d98f6103e381c81992f824e9c684c8.flax", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644) = 220
    4223  write(220, "CFWF\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0a\217\331\10"..., 204) = 204
    ...
    4223  write(220, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 3600) = 3600
    4223  close(220)                        = 0
    4223  rename("/tmp/08d98f61-0002-135b-194b-70efe6fb431a/08d98f6103e381c81992f824e9c684c8.flax", "/home/alex/tmp/flax/Test1/Cache/Thumbnails/cache_038d5d46808c4bbc8c8747b794185e6c.flax") = -1 EXDEV (Invalid cross-device link)
    4223  write(4, "[\0 \0000\0000\0:\0000\0000\0:\0000\08\0.\0006\09\0005\0 \0]\0"..., 492) = 492
    4223  unlink("/tmp/08d98f61-0002-135b-194b-70efe6fb431a/08d98f6103e381c81992f824e9c684c8.flax") = 0
    

    EXDEV oldpath and newpath are not on the same mounted filesystem. (Linux permits a filesystem to be mounted at multiple points, but rename() does not work across different mount points, even if the same filesystem is mounted on both.)

    BTW Great Engine! Looking forward to play with it. I tried to build it from the sources but I'm having some trouble with the toolchain.

    edit

    Any operation that uses /tmp and rename()obviously has the same problem, as importing models.

    bug platform 
    opened by xenogenesi 8
  • Debugging headless mode OnStart() is unreliable/broken (Windows/Rider)

    Debugging headless mode OnStart() is unreliable/broken (Windows/Rider)

    Issue description: ~~Running a game on Windows in headless mode does not appear to work. I run a game in normal mode, "everything works," I add the headless flag and run the game and it appears that no scripts are started (OnStart()).~~ [Edit] It seems that mono debugger is not able to reliable connect or debug headless games.

    https://docs.flaxengine.com/manual/editor/advanced/command-line-access.html

    Steps to reproduce:

    1. Create a project.
    2. Run the game using command-line options of -headless, specify the debugger port "-debug 127.0.0.1:50000"
    3. Attempt to debug the game by inserting a break point.

    Flax version: 1.1

    tools 
    opened by herocrab 8
  • Rendering broken on Linux

    Rendering broken on Linux

    Issue description: Rendering is broken in linux.

    Steps to reproduce: Open any of the samples.

    materials Screenshot_20210330_192533

    Flax version: Linux version downloaded from https://flaxengine.com/download/

    I am using nvidia gtx 1060 on Ubuntu 20.04.2 LTS.

    bug graphics 
    opened by fadyosman 8
  • Cannot generate project under Windows 10 / VS 2019

    Cannot generate project under Windows 10 / VS 2019

    Issue description: Cannot generate Visual Studio Solution

    Console output:

    Generating Flax Engine project files...

    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targe ts(2123,5): warning MSB3246: Resolved file has a bad image, no metadata, or is otherwise inaccessible. Could not load f ile or assembly 'Ionic.Zip.Reduced.dll' or one of its dependencies. An attempt was made to load a program with an incor rect format. [C:\FlaxEngine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targe ts(2123,5): warning MSB3246: Resolved file has a bad image, no metadata, or is otherwise inaccessible. Could not load f ile or assembly 'Microsoft.VisualStudio.Setup.Configuration.Interop.dll' or one of its dependencies. An attempt was mad e to load a program with an incorrect format. [C:\FlaxEngine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targe ts(2123,5): warning MSB3246: Resolved file has a bad image, no metadata, or is otherwise inaccessible. Could not load f ile or assembly 'Newtonsoft.Json.dll' or one of its dependencies. An attempt was made to load a program with an incorre ct format. [C:\FlaxEngine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Build\NativeCpp\Builder.NativeCpp.cs(10,7): error CS0246: The type or name space name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?) [C:\FlaxEngine -master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Deploy\Deployment.Editor.cs(8,7): error CS0246: The type or namespace name 'Ionic' could not be found (are you missing a using directive or an assembly reference?) [C:\FlaxEngine-master\Source
    Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Deploy\Deployment.Editor.cs(9,7): error CS0246: The type or namespace name 'Ionic' could not be found (are you missing a using directive or an assembly reference?) [C:\FlaxEngine-master\Source
    Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Deploy\Deployment.Platforms.cs(7,7): error CS0246: The type or namespace n ame 'Ionic' could not be found (are you missing a using directive or an assembly reference?) [C:\FlaxEngine-master\Sour ce\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Deploy\Deployment.Platforms.cs(8,7): error CS0246: The type or namespace n ame 'Ionic' could not be found (are you missing a using directive or an assembly reference?) [C:\FlaxEngine-master\Sour ce\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Projects\VisualStudio\VisualStudioInstance.cs(8,17): error CS0234: The typ e or namespace name 'VisualStudio' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) [C:\FlaxEngine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\ProjectInfo.cs(7,7): error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?) [C:\FlaxEngine-master\Source\Tools\Fl ax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Build\NativeCpp\Builder.NativeCpp.cs(43,14): error CS0246: The type or nam espace name 'JsonPropertyAttribute' could not be found (are you missing a using directive or an assembly reference?) [C :\FlaxEngine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Build\NativeCpp\Builder.NativeCpp.cs(43,14): error CS0246: The type or nam espace name 'JsonProperty' could not be found (are you missing a using directive or an assembly reference?) [C:\FlaxEng ine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Build\NativeCpp\Builder.NativeCpp.cs(49,14): error CS0246: The type or nam espace name 'JsonPropertyAttribute' could not be found (are you missing a using directive or an assembly reference?) [C :\FlaxEngine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Build\NativeCpp\Builder.NativeCpp.cs(49,14): error CS0246: The type or nam espace name 'JsonProperty' could not be found (are you missing a using directive or an assembly reference?) [C:\FlaxEng ine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Build\NativeCpp\Builder.NativeCpp.cs(58,14): error CS0246: The type or nam espace name 'JsonPropertyAttribute' could not be found (are you missing a using directive or an assembly reference?) [C :\FlaxEngine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Build\NativeCpp\Builder.NativeCpp.cs(58,14): error CS0246: The type or nam espace name 'JsonProperty' could not be found (are you missing a using directive or an assembly reference?) [C:\FlaxEng ine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Build\NativeCpp\Builder.NativeCpp.cs(64,14): error CS0246: The type or nam espace name 'JsonPropertyAttribute' could not be found (are you missing a using directive or an assembly reference?) [C :\FlaxEngine-master\Source\Tools\Flax.Build\Flax.Build.csproj] C:\FlaxEngine-master\Source\Tools\Flax.Build\Build\NativeCpp\Builder.NativeCpp.cs(64,14): error CS0246: The type or nam espace name 'JsonProperty' could not be found (are you missing a using directive or an assembly reference?) [C:\FlaxEng ine-master\Source\Tools\Flax.Build\Flax.Build.csproj]

    CallBuildTool ERROR: Failed to compile Flax.Build project.

    Flax.Build tool failed.

    Steps to reproduce: Just start GenerateProjectFiles.bat

    Flax version: master branch

    bug 
    opened by msemegen 8
  • EnvironmentProbe selectable resolution

    EnvironmentProbe selectable resolution

    Added the ability to select cubemap resolution for Environment Probe actors (per-actor). Also you can set the default resolution in the Graphics Settings.

    But as i said to @mafiesto4 dm, assertion EnvironmentProbe.cpp:89 fails when you press Bake button and Resolution is not equal 128. I have no idea why it happens and how to fix this.

    enhancement graphics 
    opened by whocares77 2
  • No implemention for .winmd file

    No implemention for .winmd file

    When i export project for Windows Store,it showed such warning above.

    It requires that you should give the implement for the winmd file ,otherwise the application won't register the information for it.

    Compiling work is OK, but when i run the app ,it crashed.And showed the Exception : System.TypeLoadException:“Requested Windows Runtime type 'FlaxEngine.Game' is not registered.

    My flax project is default project.engine version 1.3

    bug platform 
    opened by DJDQfff 0
  • Support dispatching jobs within jobs in JobSystem

    Support dispatching jobs within jobs in JobSystem

    The job system does not properly keep track of multiple batched jobs if other jobs were pushed to the job queue before the previously submitted batch was finished. The previous implementation waits until the dispatched amount of jobs were finished, which might include unrelated jobs queued around the same time to the system. This change ensures all the individual jobs in the submitted batch of jobs is completely executed when waited upon.

    enhancement core performance 
    opened by GoaLitiuM 0
  • UWP default project error

    UWP default project error

    • Flax Version :1.3

    • UWP project ,exported from flax defult scene(with a ball and a ground)

      • target platform:2004
      • lowest platform: from 2004 to 1803
    • exception message: System.TypeLoadException:“Requested Windows Runtime type 'FlaxEngine.Game' is not registered.”

    • position: _game=new Game();

    When it run ,debug threw such an exception:

    I also tyied my custom project (added some contents),now it can't invoke debug exception.it crashed suddenly.

    bug platform 
    opened by DJDQfff 0
Releases(1.3.6228)
  • 1.3.6228(Mar 2, 2022)

    Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-3-6228/643

    Changelog:

    • Add macOS support for Game and Editor
    • Add improvements for joints editing with debug shapes
    • Add D6 Joint motions editing in Editor properties panel
    • Add Gordon Ramsay quote to Editor Splash Screen (very important feature)
    • Add support for interfaces in Scripting API (cross-language support C++/C#/VS)
    • Add preserving timeline position when zooming with a mouse wheel
    • Add scrolling timeline horizontally with Shift+Wheel
    • Add timeline view panning with right-mouse button even over keyframes editor or curve editor
    • Add resizing feature to timeline curve tracks
    • Add shared rectangle selection for all timeline tracks to select keyframes
    • Add shared selected keyframes moving ability for timeline tracks
    • Add copy/paste feature to keyframes and curves editors
    • Add keyframes editor to proxy keyframes from subtracks on object track
    • Add epsilon clamping for keyframes adding in timeline
    • Add live-preview option for editing scene animation
    • Add timeline tracks duplicating option
    • Add timeline tracks sorting option
    • Add timeline keyframes selection via timeline background
    • Add support for changing target actor for scene animation actor track
    • Add support for multiple media events on audio, postfx and camera tracks in Scene Animations
    • Add curve/keyframes select or copy all keyframes option
    • Add timeline undo actions batching
    • Add option to delete media from Timeline
    • Add C++ lambda support for Function<> and Delegate<>
    • Add option to compile C#-only scripts on Linux when cooking for Windows
    • Add option Select actors using this asset to content menu
    • Add ContentItem.OnContextMenu
    • Add option to make AssetPicker a read-only
    • Add explicit operator for Color32 to Int4
    • Add Level::ScriptsReloaded event
    • Add CollisionMeshesPrefix option to import collision data from model asset
    • Add additional UploadMipMapAsync for GPUTexture update with custom row/slice pitch
    • Add ClearUA to GPUContext to clear texture with float values
    • Add Content.GetAllAssets to get all asset ids in project
    • Add setter to Control.Center
    • Add missing memory profiler events to Unix platforms
    • Add Ragdoll support and ragdolls generation utility to Animated Model context menu
    • Add missing support for some formats in TextureTool
    • Add bc7enc16 encored for BC7 texture compression on Linux
    • Add Platform.Users to handle users per-platform
    • Add minor tweaks to math types
    • Add Joint.SetJointLocation for easier joints setup
    • Add Joint.SetJointOrientation utility
    • Add physics colliders selecting in PhysicsColliders debug view
    • Add Animation Slot node for playing animations from code in Anim Graph
    • Add EnableAutoAnchor to Joint for automatic target anchor setup
    • Add Quaternion::FromDirection to C++
    • Add bitangent vectors debugging to Model preview
    • Add Finished event to MeshDataCache
    • Add SoftAssetReference type
    • Add Ragdoll example to Physics Sample project
    • Add PS5 platform support (unofficial)
    • Add error code logging to navmesh tiles adding issues
    • Add double-click to edit timeline media properties
    • Add assets loading progress to Editor status bar
    • Add Vulkan pipeline cache serialization
    • Add Animation Events
    • Add json serialization utils for objects to save/load from raw bytes
    • Add ScriptingObject::NewObject utility for scripting objects spawning in C++
    • Add Loading text info for particle system and animation timelines
    • Add timeline media selection and editing to be global in sync with keyframes editors
    • Add Level::ScriptsReloadRegisterObject for easier scripting objects refreshing during hot-reload in code
    • Add tire wheel tire friction scale parameter for Wheeled Vehicle
    • Add easier game or plugin settings asset usage with SettingsBase
    • Add GameCooker events for game files deploy and packaging
    • Add StringAnsi serialization
    • Add support for custom settings asset creation
    • Add Online system with online backends for Steam, Xbox Live and PlayStation Network and Switch
    • Add improvements for objects spawning and snapping in Editor to include object bounds
    • Add decals spawning in editor for drag&drop
    • Add option to throw exception in build tool process utility
    • Add support for overriding Anim Graph output for Animated Model
    • Add support for passing the object reference as scripting function output result
    • Add ToString for some packed vector types
    • Add timeline media Start time editing in properties popup in seconds if using this view mode
    • Add option to disable timeline Media resizing by the user
    • Add SuppressFaceRemapTable option for collision cooking
    • Add CollisionData.GetModelTriangle to retrieve source geometry triangle index from the raycast hit info
    • Add FaceIndex to RayCastHit
    • Add support for PrefabObject tracks and automated animation instancing with UsePrefabObjects enabled
    • Add Mathf.Frac to C# api
    • Add support for Visual Studio 2022
    • Add assertions to String index operator to prevent invalid memory access
    • Add soft failing to NetworkPeer creation and INetworkDriver initialization
    • Add NetworkDriver object pointer to NetworkConfig to be used as custom interface implementation
    • Add support for compiling and running engine without C# scripting
    • Add setter for ResidentMipLevels on GPU Texture for C# scripting
    • Add support for parsing negation in scripting api preprocessor
    • Add ScriptingTypeHandle::IsSubclassOf
    • Add automatic preserving of basic joint properties when converting between types in Editor
    • Add DotNet targets building
    • Add tests running on Github Action as CI
    • Add Vulkan to automated Github CD builds
    • Add macOS to automated daily master builds on Github
    • Add option to automatically generate mips for textures created from code
    • Add GetPixels and SetPixels to TextureBase for easier textures data editing
    • Add arrows navigation for Visject surface nodes
    • Add Hidden attribute to scripting fields/properties/methods/events
    • Add keyboard navigation for ItemsListContextMenu (used by pickers in Editor)
    • Add option to export a single localized string table to .pot file
    • Add notification text to Editor status bar after saving to improve user awareness
    • Add option to export a single localized string table to .pot file
    • Add FallbackTable for localized strings table to redirect missing texts into other language
    • Add support for older Android devices that don't support R11G11B10 texture format
    • Add features flags for Custom Editors presentation
    • Add gamepad camera control for editor viewports
    • Add Rectangle.Distance for distance between rectangle and a point
    • Add NodesConnected and NodesDisconnected events to Visject surface API
    • Add OnParamEdited callback to Visject surface parameters API
    • Add Visual Script parameter access editing (public or private)
    • Add option to change Visual Script parameter type
    • Add Arrays to Visual Scripting
    • Add better support for Arrays in Variant for C# Scripting
    • Add Array constant node to Visual Script and Anim Graph
    • Add support for exporting pdb files for D3D12 shaders if debug data is enabled
    • Add C++ scripting API docs to online Flax Docs
    • Add scripting enums as ScriptingType
    • Add ScriptingEnum utility with useful features for C++ scripting
    • Add Variant to string for Enums to use scripting enum items names
    • Add support for array initializers as default values for scripting fields
    • Add automatic Setup when added patches to empty Terrain
    • Add UI navigation system
    • Add Tab navigation for Editor UI
    • Add F11 shortcut to maximize Game window during play-mode in Editor
    • Add preserving selection of the created new folder in the Content window
    • Add ability to create an Actor by dragging it to an empty space in the Actor hierarchy window
    • Add drag&drop to prefab hierarchy panel for easier usage
    • Add F2 shortcut for renaming item in files import dialog
    • Add Split Objects object to split imported meshes/animations into separate assets
    • Add batching the same function inputs in Anim Graph for better usability
    • Add implicit casting to single types from vector types in Variant
    • Add particle emitter and anim graph functions docs
    • Add localization quality improvements
    • Add DefaultFallbackLanguage to the localization settings
    • Add split-view for C++/C# code snippets in documentation
    • Add support for passing back value via reference to C# scripting event
    • Add context menu and tooltip to asset items in Content Finder tool
    • Add constructor to Function for lambda
    • Add Code Docs module for Editor tooltips
    • Add managed assembly xml docs parsing for tooltips in Editor
    • Add doc tooltips for actor types in Toolbox windows
    • Add tooltips to actors in scene tree and to properties General panel header
    • Add support to Dictionary for movable value types with no copy constructors
    • Add Math::SinCos
    • Add profile events for Editor modules events and startup
    • Add overload of Task::StartNew() to support member functions that return void
    • Add option for drawing audio clip preview with time offset
    • Add improved Android NDK detection and prevent exception
    • Add margin to TilesPanel tile
    • Add ScrollBarsSize to Panel
    • Add ScriptingTypeHandle::IsAssignableFrom
    • Add JsonAsset::GetInstance<T> for easier access to C++ json asset data
    • Add Render2D::DrawTexturedTriangles variations with vertex colors
    • Add Shift for range-based selection in curve and timeline editors
    • Add double-precision vectors (Double2, Double3 and Double4)
    • Add Orientation option to Content Window
    • Add DebugDraw.DrawCone and DebugDraw.DrawWireCone
    • Add DebugDraw.DrawArc and DebugDraw.DrawWireArc
    • Add ScriptingObject::ToInterface and ScriptingObject::FromInterface
    • Add context menu for group panels in properties editor for resetting values
    • Add value auto-select when focusing or clicking on input field in Editor
    • Add check to prevent inheriting from static or sealed class in scripting
    • Add showing Visject context menu group when it's title has a filter match
    • Add GDK platform support (potential for Windows support via GDK, base for Xbox consoles)
    • Add more options for MicrosoftGame.config
    • Add missing flaxengine api tags
    • Add filesystem watcher implement for Linux
    • Add PROFILE_CPU_ASSET for asset related profiler scoped zone
    • Add TryGetToolchain to build platform
    • Add Utilities::CountBits
    • Add more profiler events and naming for particles/animations jobs events
    • Add logging content database init start time
    • Add clamping for AA and shadows quality to prevent crashes on invalid usage
    • Add LOD Preview debug view mode
    • Add Material Complexity debug view model
    • Add GPUContext.ClearUA for buffer and texture with uint format
    • Add deploying FlaxEditor.pdb for Development configuration to improve crash reporting
    • Add Quad Overdraw debug view mode
    • Add profiler events to shader compiler
    • Add support for using DEPRECATED to mark scripting API as obsolete
    • Add PRAGMA_DISABLE_DEPRECATION_WARNINGS and PRAGMA_ENABLE_DEPRECATION_WARNINGS macros to C++
    • Add copy/paste for group panel with multiple custom editors nested inside
    • Add support for pasting hex color values into Color properties in Editor
    • Add Vector::Angle functions to C++
    • Add ManagedBinaryModule::FindModule utility for C# type class lookup
    • Add improvements for native interfaces usage
    • Add support for creating C# scripting object inheriting directly from FlaxEngine.Object
    • Add Gamepad support for Linux
    • Add LinuxProcess that supports workingDir, env vars and logging
    • Add inlined current thread id on Linux and Android
    • Add helper parent actor of missing object logging to HandleObjectDeserializationError
    • Add caching ShowGUI and ShowDebugDraw in Game window
    • Add CookCollision to collision data with triangles as int32
    • Add support for uint as triangle indices for mesh updates API
    • Add Double-precision Math library
    • Add Show in explorer to output log context menu
    • Add typename to script panel tooltip and don't inherit tooltip
    • Add LookingAt to Actor
    • Add native unit tests running
    • Update Xbox Scarlett and Xbox One support to ver GDK 2021.04 QFE5
    • Optimize FindObject and TryFindObject in Object
    • Optimize calling Object.FindObject from C#
    • Optimize single undo edit action to not use wrapper
    • Optimize Content Finder popup
    • Optimize timeline background rendering when zoom is very high
    • Optimize audio preview rendering when zoom is very high
    • Optimize ThreadLocal by removing size check
    • Optimize utilities in AnimationUtils
    • Optimize String::ReserveSpace if length doesn't change
    • Optimize CPU particles impl parts
    • Optimize Asset::onAssetLoaded if even is unused
    • Optimize atomic and interlocked memory operations on Win32 (Windows and Xbox) by inlining
    • Optimize StringView comparison operators
    • Optimize Anim Graph state machine transition rule evaluation to happen before state evaluation for early rejection
    • Optimize PhysicsColliders mode rendering in Editor
    • Optimize vertex buffer writing in Debug Draw
    • Optimize physics shapes debug drawing for large scenes by using culling for colliders
    • Optimize Math.NearEqual
    • Optimize UI in Editor
    • Optimize file copy on Linux
    • Optimize Vector3 method to be inlined more often
    • Optimize model data access during models importing
    • Optimize Toolbox tooltips for scripting types to be resolved when needed
    • Optimize FlaxEngine.CSharp.dll size by 300kB after tooltips removal (xml doc will be used)
    • Optimize C# bindings in Engine code to static functions that native ABI matches managed signature
    • Adjust curve and keyframes UI to be easier to use with a mouse
    • Adjust curve background drawing for timeline
    • Improve rigidbody warning message
    • Increase default UAV slots limit to 4
    • Disable compression for lightmaps on Linux (due to low-quality alpha encoding)
    • Change Content loading threads count to depend on logical cores count instead of physical (set limit to 12)
    • Change NUnit to use custom build from repo instead of nuget package
    • Refactor Rigidbody automatic mass calculation to include physical material Density
    • Refactor Control autofocus to be handled by control type instead of as part of base.OnMouseDown
    • Refactor SoftObjectReference to improve usage of it
    • Refactor Timeline UI to use track flags
    • Refactor GetChildByPrefabObjectId/GetScriptByPrefabObjectId from Actor to be private
    • Refactor native core objects to simplify usage for newcomers (PersistentScriptingObject is now ``ScriptingObject`)
    • Refactor Xbox One platform support via GDK instead of UWP
    • Refactor default D6JointMotion for D6Joint to Locked
    • Refactor UAV slots binding when rendering from PS into UAV
    • Refactor DownloadIndexBuffer to return unsigned data
    • Refactor prefab instances loading to improve refs loading between prefab objects
    • Refactor ContextMenuChildMenu to inherit from ContextMenuButton
    • Reenable memory allocations profiling in Editor with Tracy
    • Remove insecure autoInitialize option from scenes loading
    • Fixes for SIMD.h
    • Fixes for compilation on Windows for x86
    • Fix missing references to a new prefab objects inside other prefab objects when applying changes
    • Fix various bugs in string functions
    • Fix null values handling in C# Json serialization
    • Fix invalid uses of StringView::GetText() where a null-terminated string was expected
    • Fix crash with nested scene animation playback
    • Fix for env probes baking in Editor
    • Fix connector node creation in Visject on double-click over node
    • Fix regression for actor properties diff or default value reverting in Editor
    • Fix importing materials from fbx files
    • Fix joints properties ranges validation
    • Fix D6Joint serialization
    • Fix crash when physics scene with only inactive vehicles
    • Fix Tracy profiler client allocating memory by using OnDemand mode
    • Fix restriction if using I as prefix for interface names
    • Fix shadow null character in Flax.Build console command
    • Fix default code editor detection in Editor to favor VSCode and Rider over system-default
    • Fix bounding box size setter
    • Fix automatic properties serialization bug
    • Fix imported blend shape offsets from FBX file with multiple materials per-mesh
    • Fix issue with Physics Layers filters being ignored for two controllers colliding
    • Fix capturing stack trace from user native assemblies on Windows
    • Fix typos and wording in readme
    • Fix Editor crash when dragging material over CSG brush Surface
    • Fix code quality issues detected by PVS-Studio
    • Fix shader parsing error due to unknown macro used on shader function visibility condition
    • Fix resizing textures with alpha on import to preserve transparent colors (instead of black)
    • Fix blend shape dirty vertices range
    • Fix structure initialization with default field value if attribute has different value HasInvalidPathChar
    • Fix CollisionsHelper::ClosestPointPointTriangle (C++ version)
    • Fix depth pitch in UpdateTexture on D3D11 for volume textures
    • Fix potential exception in PluginManager dispose in Editor
    • Fix DPI calculation on Linux for multiple screens
    • Fix MoveFile on Linux
    • Fix drag&drop on Linux with file that has spaces in a path
    • Fix crash on Linux if the requested font cannot be found for message boxes
    • Fix some engine API to be exposed for C++ scripting
    • Fix rare crashes with debug draw in Game Window
    • Fix undo modifications notify from nested SyncPointEditor
    • Fix exporting app icons during game cooking without graphics backend
    • Fix compressed textures exporting with resizing on non-Windows platforms
    • Fix missing include for Xbox Live services on GDK platforms
    • Fix passing Span<byte> to C# method thunk in generated bindings code
    • Fix game cooker platform selector layout on small window
    • Fix Gameplay Global usage in material with material instance error
    • Fix conditional variables usage on broadcast by using a shared mutex
    • Fix module libraries linking in modular build mode
    • Fix Game Cooker cache when materials or particles or shaders format gets changed
    • Fix loading project reference with relative path in the Editor
    • Fix TargetViewOffset from textboxes to be hidden
    • Fix shader function visibility parsing and add USE_EDITOR define to material shaders
    • Fix Visject surface context menu to focus property the selected item
    • Fix for localization dashboard
    • Fix spot lights rendering on D3D12
    • Fix missing Particle Position (world space) node for CPU particles
    • Fix C# bindings for Editor for Window build on Linux
    • Fix Windows Snap with borderless windows
    • Fix missing object linkage when loading missing prefab objects during scene load
    • Fix incorrect transformation on imported blend shapes data from fbx file
    • Fix tree node navigation with key arrows to be more usable for deep hierarchies
    • Fix depth of field blur artifacts on upper and left screen edges
    • Fix audio playback issues in some cases with XAudio backend
    • Fix audio volume and stereo on XAudio backend
    • Fix showing tooltips for tree nodes in Editor
    • Fix navmesh update when adding/removing navmesh bounds volume
    • Fix engine ticking to catch up faster when falling behind
    • Fix HSV value adjusting in Color picker to not exceed 1
    • Fix import transform for skinned models
    • Fix missing root motion preview in Animation preview panels (with option to disable it)
    • Fix Multi Blend 1D/2D root motion extraction with blending
    • Fix build tool freeze when parsing scripting header that contains invalid multi-line comment
    • Fix missing blend shape data transformation on model data import
    • Fix color trackball usage with undo
    • Fix passing pointers as output pointer or reference in scripting api
    • Fix missing blend shape refresh for Skinned Model window preview
    • Fix various issues with Multi Blend 2D node
    • Fix prefab changes apply crash
    • Fix GUI material preview positioning in the Material window
    • Fix reference to a pointer in TypeInfo for scripting bindings generation
    • Fix invalid memory write in StringUtils::ConvertANSI2UTF16 on Unix if length is empty
    • Fix using object reference in Scripting API with PersistentScriptingObject
    • Fix per-instance vertex colors uploading if data is already valid
    • Fix RunProcess on Linux with custom working directory
    • Fix scene animation warning due to missing object to be fired once per-track without a spam
    • Fix support for codeless game projects
    • Fix snapping rigidbodies to the floor
    • Fix removing keys in Dictionary with string keys
    • Fix one error when pasting Visject nodes with type modified compared to archetype
    • Fix custom actor options for prefab window
    • Fix generated DefaultValue attribute to match the field value type
    • Fix possible division by zero in Plane.Normalize
    • Fix entering play mode in Editor with pause mode on start
    • Fix Input::GetGamepadAxis with InputGamepadIndex::All
    • Fix missing AnimatedModel pose access if it's not initialized yet
    • Fix error when using over 180 angle for joint limits
    • Fix mesh tangent and bitangent vectors generation with OpenFBX backend by using MikkTSpace
    • Fix missing copy destination offset in dynamic buffer update on D3D11
    • Fix Visject param node getter breaking connection on param change to the same type
    • Fix Get/Set field node in Visual Script to update Instance box accordingly for static fields
    • Fix monolithic target build with native code module used by referenced plugin
    • Fix possible division by zero in BoundingFrustum::GetCorners
    • Fix mouse focus issue with Timeline background
    • Fix DefaultValue attribute support in Custom Editors for unsigned integers
    • Fix editor undo for unsigned integer types
    • Fix texture refs in platform settings to be SoftObjectReferences instead of raw Guid
    • Fix crash when creating C# object for native object at the same time on multiple threads
    • Fix crash when applying prefab that includes both removed and added objects
    • Fix crash when streaming texture with unsupported format by the GPU driver
    • Fix crash when reading from RingBuffer if it's full
    • Fix crash when changing mesh collider in async for not-simulated actor
    • Fix crash if texture streaming fails on different texture format on Vulkan due to fallback usage
    • Fix crash when spawning managed object on a detached native thread
    • Fix crash when trying to read invalid Visual Script parameter from local scope during debugging
    • Fix crash when model or skinned model loading fails
    • Fix crash on Vulkan swapchain resize if the previous size was 0 (eg. due to window animation on Windows 11)
    • Fix crash when passing function with lambda to the Job System
    • Fix crash on thread end that used Mono runtime
    • Fix crash with terrain in prefab window
    • Fix crash on native type in JsonAsset due to scripting hot-reload in Editor
    Source code(tar.gz)
    Source code(zip)
  • 1.2.6224(Aug 26, 2021)

    Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-2-6224/449

    Changelog:

    • Add Engine.HasGameViewportFocus to C# API
    • Add SuspensionForceOffset to vehicle wheel config
    • Add check to prevent double-free from native event in C#
    • Add option to select scene asset from Scene tree window
    • Add option to Scene context menu to unload it
    • Add support for changing scenes via Editor during play mode
    • Add better timeline UI positioning for improved viewport navigation
    • Add helper tooltips for Scene Animation actions UI
    • Add Zoom value box to timeline view context menu
    • Add timeline view panning with right mouse button
    • Add options for vehicle wheel suspension configuration and state
    • Add digital steering option for a vehicle
    • Add vehicle telemetry logging debug option
    • Add wheeled vehicle tire options
    • Add -new command line arg to create a new project
    • Increase fog properties limits
    • Increase default maximum window width limit to 8k
    • Optimize ticking disabled vehicles
    • Refactor Tracy source locations to be static
    • Fix decal material normal vector blending
    • Fix issue with MapTrack for actors
    • Fix actor renaming on paste to keep previous name if can
    • Fix car wheel location by applying compression of the suspension spring
    • Fix WheeledVehicle driving and suspension raycasts
    • Fix suspension force offset location
    • Fix pasting actors if cannot spawn a object (eg. type missing) to still paste valid objects
    • Fix rare crashes due to selection not being empty on play mode start
    • Fix some memory leaks
    • Fix ENet driver crash
    • Fix invalid navmesh build for triggers
    • Fix invalid rigidbody center of mass location
    • Fix materials parameters display issues after editing
    • Fix context menu keyboard arrows navigation to skip disabled items
    • Fix UI with list of null items when layout gets rebuilt at item level
    • Fix some problems with LocalizedString serialization in C#
    • Fix timeline background stops drawing to be more readable
    • Fix snap to the ground to use scene graph query instead of physics only raycast
    • Fix window focus issue when removing actors
    Source code(tar.gz)
    Source code(zip)
  • 1.2.6223(Aug 9, 2021)

    Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-2-6223/425

    Changelog:

    • Add warnings when cooking collision with empty mesh data
    • Add CookingData for C# editor to extend the cooking process
    • Add build preset and target names to access for Game Cooker extending
    • Add option to change order of items in Content View
    • Add support for creating custom BoxVolume type in C#
    • Add creating Scene Graph nodes for actors inheriting from some shared custom types
    • Fix compiling C#-only game scripts without native platform tools installed
    • Fix editor crash on startup when Rider 2021.1 is installed
    • Fix CharacterController minimum size checks to prevent crashes if values are too small
    • Fix startup failure on older CPUs that don't support invariant TSC
    • Fix potential runtime error from locale::global
    • Fix creating prefab in Editor from selection in Prefab window
    • Fix undo for missing actor children and scripts when doing Convert action
    • Fix crash when spawning C# object that inherits from abstract C++ class
    • Fix crash when cooking collision data for multi-mesh models
    • Fix missing mesh collider vertices transformation for navmesh building
    • Fix crash on startup when 2 Rider installations are detected
    Source code(tar.gz)
    Source code(zip)
  • 1.2.6222(Aug 6, 2021)

    Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-2-6222/423

    Changelog:

    • Add Nintendo Switch support (coming soon to registered developers)
    • Add support for separate data and code output directories in Game Cooker
    • Add initializer list support for arrays in C++ scripting
    • Add Vehicles support
    • Add error log when trying to load bytes from file data that is too big
    • Add MeshBase as shared impl part for Mesh and SkinnedMesh
    • Add support for generating Collision Data from Skinned Models
    • Add warning when using Triangle Mesh collider under RigidBody
    • Add support for masking Material Slots when cooking Collision Data
    • Add support for string constants as defaults in scripting API
    • Add Localization support and tools
    • Add support for importing .po files
    • Add LocalizedStringTable asset type
    • Add LocalizationSettings
    • Add LocalizedString
    • Add CultureInfo to C++ API
    • Add GOLDEN_RATIO constant
    • Add new editor icons
    • Add byte array deserialization from base64 encoded string
    • Add support for importing assets into custom formats with AssetsImportingManager
    • Add support for custom asset type factory in game code
    • Add support for nesting Array inside Dictionary in scripting API
    • Add support for using generic class value types in scripting API bindings code
    • Add importing .po files with strings localization
    • Add searching for localization strings in C#/C++ code
    • Add searching for localization strings in scenes and prefabs
    • Add exporting localization into .pot file for translation
    • Add CultureInfo editor with picker
    • Add undo support for Json Asset editor window
    • Add string localization API
    • Add LocalizedString support for UI
    • Add CreateSearchPopup to editor utils
    • AddLocalizedString to TextRender for localized text
    • Add support for using animated model with anim graph using different skinned model
    • Add FindClosestNode to Animated Model
    • Add Keyboard.IsAnyKeyDown
    • Add missing name some for GPU resources
    • Add Low-Level Networking
    • Add depth test for point/spot lights rendering to optimize far lights rendering
    • Add HasTypedUAVLoad to GPULimits (use for GPU lightmaps support baking detection)
    • Add DRED and optional GPU-Based Validation for D3D12
    • Add UAV slots dimensions to cache for D3D12 validation
    • Add Bokeh DoF rendering on D3D12 (works fine after fixes)
    • Add background color in collections (better readability for nested collections)
    • Add support for NotNullItems option in collections editors
    • Add support for using pointers in scripting API events
    • Add support for using references in scripting API events
    • Add Delay node to Visual Scripting
    • Add timeline position synchronization with animation playback in Editor preview
    • Add profiler Sleep event to Editor sleeping phrase when out of focus
    • Add Nameof helper utility for C++
    • Add automatic Game Settings setup after adding new settings asset for the first time
    • Add Streaming settings with texture groups configuration
    • Add support for stripping textures quality when cooking game (per-platform)
    • Add dynamic textures streaming based on visibility
    • Add support for using per-texture group sampler in Materials
    • Add GetStringAnsiView to json value
    • Add option to open all selected assets in content window
    • Add support for loading C# dictionaries in native json reader
    • Add Category attribute for types grouping in editor dialogs
    • Add texture groups preview to Graphics Quality window in editor
    • Add support for editing texture group in editor (without reimporting)
    • Add support for programmable samplers in shaders
    • Add AnimationUpdated event to Animated Model
    • Add SetCurrentPose to Animated Model
    • Add SetMasterPoseModel to Animated Model for modular characters
    • Add digit check for scripts renaming
    • Add Tracy profiler support
    • Add SceneTicking to engine API
    • Add -debugwait cmd line arg to wait for C# debugger attach on engine start
    • Add physics queries for convex meshes
    • Add editor option to customize the default location for new editor windows
    • Add automatic profiler events for C# methods invocation
    • Add automatic profiler events for Visual Script methods invocation
    • Add automatic tooltip for ComboBox based on selected item tooltip
    • Add option to hide GUI in Game Viewport
    • Add MapTrack to SceneAnimationPlayer
    • Add GPU profiler events to ProbesRenderer
    • Add helper FindScript<T> and FindActor<T> to Actor
    • Add NoUndo attribute for properties without undo usage
    • Add option to show Debug Draw shapes in Game Viewport
    • Add option to copy/paste value from Visject box via context menu
    • Add support for using library-style includes for build tool includes cache
    • Add 9-slicking support for UI to draw sprites and textures
    • Add skipping generating structure fields accessors for private fields in scripting
    • Add option to use Point sampling when drawing textures and sprites in UI via Brushes
    • Add Int16 and Uint16 scripting/serialization support for Visual Scripting
    • Add preserving package output directory across sequential package builds
    • Add -play cmd line arg for Editor to play game (optional scene id arg value to play certain level)
    • Add support for custom package output directory for engine deploy
    • Add support for custom build configurations for engine deploy
    • Add daily master branch builds as Continuous Deployment on Github Actions
    • Add more indentation to scene tree items to make it more readable
    • Add support for custom drag & drop into level/prefab viewports from custom asset items
    • Add focus to game window on play
    • Add Job System
    • Add Foliage Density Scale option to Graphics Quality Window in Editor
    • Add support for Function<> as method parameter in scripting
    • Add order for Margin properties
    • Add SceneNavigation for scene data for navigation system
    • Add Task Graph
    • Add option to use seconds for timeline/media duration
    • Add Engine::UpdateGraph for async engine/game update
    • Add async animations updating via Task Graph
    • Add async particles updating via Task Graph
    • Add support for allocator type in Dictionary
    • Add idle Sleep between frames to save CPU cycles when inactive
    • Add logging Windows build number
    • Add RingBuffer template
    • Add support for allocator type in Dictionary
    • Add Stopwatch instead ofDateTime.Now for increased accuracy in Flax.Build profiling tools
    • Add keyboard shortcuts to viewpoints (numpad)
    • Add PLATFORM_THREADS_LIMIT for maximum concurrency limiting
    • Add MemoryCompare, MemoryClear and MemoryCopy for direct memory access in C#
    • Add ignoring memory allocations from profiling tools in Editor Profiler
    • Add intermediate data folder removing on build tool clean command
    • Add Actor.RotateAround
    • Add automatic namespace usings collecting when generating scripting bindings glue code for csharp
    • Add automatic slider speed for float value input fields with limits specified
    • Add Alpha Panel control
    • Add Draw Indirect support for Vulkan
    • Add GPU Particles support for Vulkan
    • Add support for rendering into 3d textures on Vulkan
    • Add support for Geometry Shaders on Vulkan
    • Add incremental actors naming when spawning them in viewport
    • Add Network impl for PS4
    • Add safety checks to material constants binding code to prevent invalid memory access
    • Add GPUContextVulkan::CopySubresource
    • Add more profiler events for performance tracking
    • Add Content.Stats for assets statistics (replaces Content.AssetCount)
    • Add Streaming.Stats for resources streaming statistics
    • Add view snapping mode to Directional Light shadows for better stability
    • Add preloading initial Editor scene to improve startup performance
    • Add support for custom background brush to Button
    • Add DebugDraw::DrawTube
    • Add Rectangle.Distance
    • Add option for preview a single mesh UVs
    • Add memory usage info to Animation details
    • Add more helper methods for batched debug shapes drawing
    • Add Physics Colliders debug view mode to display physical world shapes (solid)
    • Add UpdateSpeed to Animated Model for playback speed scaling
    • Add widgets for animation preview play/pause and speed changing
    • Add support for creating virtual Anim Graph at runtime for a single animation playback
    • Add Terrain physics collision debug drawing support
    • Add faked lighting to improve Debug Draw solid shapes rendering readability
    • Add preview panel with skinned model to the Animation window
    • Add support for rendering percentage scale with upscaling to backbuffer
    • Add culling and render mask check for models rendered via Custom Actors list
    • Add warning log in build tool when target is missing
    • Add JsonSerializer.ParseID with return value
    • Add support for bundling custom assets by GamePlugins
    • Add CustomUpscale postFx to replace upscaler with a custom script
    • Add ClosestPointPointLine for Vector3 to C#
    • Add more documentation to FlaxDocs
    • Add support for Rider 2021, use latest detected version of Rider
    • Add using the latest detected version of Rider
    • Add support for moving object with transform gizmo when mouse moves outside the viewport during usage
    • Add BoundingBox.MakeScaled
    • Add using immediate DebugDraw for animated model skeleton drawing in Editor preview
    • Add support for Vector2/3/4 and Quaternion constants for default value attribute in C# scripting api
    • Add option to show bounds of the animated model in Editor preview
    • Add option to show bounds of the model in Editor preview
    • Add support for AssetPreview to use debug drawing if needed
    • Add support for focusing on foliage instance bounds when editing it
    • Add support for focusing on model when painting its vertices
    • Add support for object reference wrappers usage in hash maps and dictionaries
    • Add serialization improvements for Int2/3/4
    • Add constructors Vector2/3/4 <=> Int2/3/4
    • Add operators for Int3/Int4
    • Add common funcs for Int2/3/4
    • Add some more splash-screen quotes
    • Add optional location for Plugin Icon to be inside plugin project root
    • Add MeshDataCache utility for async mesh data caching
    • Add buttons for play/pause/stop Animation timeline in editor window
    • Add tint to timeline navbar buttons
    • Add bone icon for Anim Graph connections with local skeleton nodes pose
    • Add support for using structures as Visual Script and Anim Graph parameters
    • Add support for object and enum properties in Anim Graph
    • Add support for disabling Vulkan timer queries per-platform via define
    • Add option to preview model meshes Normals and Tangents in Editor preview
    • Add AddForceAtPosition to Rigidbodies
    • Add full documentation tooltip to Visject new parameter type picker list
    • Add support for VisibleIf on value editors using group panel
    • Add support for importing assets into custom formats with AssetsImportingManager
    • Add strong typed This node output in Visual Script
    • Add super smooth quaternion editing in Editor UI
    • Add support int64 values in EnumComboBox
    • Add support for custom value propagation in CustomEditor
    • Add LocalLocation to UI controls
    • Add support for cooking collision data from model asset on main thread and fix issue if mesh is during streaming
    • Add support for Is Null, Is Valid, As, Is and Type Reference nodes in Anim Graph
    • Add C++ Json Asset and C++ Function Library templates
    • Add better support for control anchors editing with bounds preserving and pivot setting (Shift and Control modifier keys))
    • Add loading info text when opening scene animation window
    • Add support for reusing UIControlControlEditor and AnchorPresetsEditorPopup in Editor plugins
    • Add the namespace of a field from another module support in C# bindings code
    • Add sorting for used namespaces in bindings and include nested types checks
    • Add missing includes in headers
    • Add UI Control location editing to be relative to the Pivot point
    • Add DefaultQueryExtent to navmesh properties
    • Add option to Delete Sprite in Editor
    • Add automatic resizing for the timeline track preview values for better readability
    • Add support for Pack/Unpack Structure nodes and Enum constant in Anim Graph
    • Add support for OnSerializing, OnSerialized, OnDeserializing and OnDeserialized callbacks for C# types serialization with Json
    • Move default AllocatePages/FreePages impl from Unix to PlatformBase
    • Move JsonConverters to a separate file
    • Rename AnimationManager to Animations and expose to public
    • Reimplement Temporal AA with less ghosting and better quality
    • Improve detection of Rider installations
    • Implement DownloadDataCPU for Mesh and add result entries count
    • Improve animation preview usability for debugging
    • Improve tooltips generation for scripting types
    • Improve timeline frame labels displaying
    • Increase scroll bars size for easier usage
    • Increase items limit for Visject secondary context menu before scroll bar usage
    • Optimize building C#-only projects references
    • Optimize UI for complex timelines with many tracks
    • Optimize Vulkan Framebuffer when not using color blending
    • Optimize Profiler window update to refresh only visible tab UI
    • Optimize Profiler window UI
    • Optimize Debug Log window new entries adding (manual placement instead of full layout)
    • Optimize BoundingSphere::FromBox
    • Optimize Debug Draw for large amount of single-frame debug shapes and lines
    • Optimize Debug Draw wireframe sphere to use auto-LOD
    • Optimize Streaming service with Task Graph to use async update on a Job System
    • Optimize Vulkan shader compiler memory allocation
    • Optimize ContentStorageManager with Task Graph to use async update on a Job System
    • Optimize memory allocations in Vulkan backend
    • Optimize flushing active transform of physically simulated actors
    • Optimize physics simulation collisions pair cache
    • Optimize Foliage instances serialization by using raw json value write
    • Optimize various engine code
    • Optimize Foliage::OnFoliageTypeModelLoaded to rebuild only single foliage type clusters
    • Optimize String usage with StringView for basic file paths operations
    • Optimize C# script compile times by using Roslyn C# compiler server on Windows
    • Optimize C# method invoke in bindings via direct Mono invoke
    • Optimize managed memory allocations
    • Optimize includes in ThreadLocal.h
    • Optimize Scene Rendering (data caching and more)
    • Optimize CPU particles sorting with Radix sort
    • Optimize C# Actor.GetChildren<T>() and Actor.GetScripts<T>()
    • Optimize Animated Model bones matrices buffer update
    • Optimize scripting object data deserialization
    • Optimize Foliage with quad-tree clustering per foliage type
    • Optimize Foliage rendering with manual instanced draw calls batching
    • Optimizations in various parts of the engine
    • Optimize renderer memory allocations with RenderListAllocation (mem pooling)
    • Remove unused WindowsManager::CalcCenteredWinPos
    • Remove UI Controls from Json Asset picker dialog
    • Remove unused DictionaryInitialSize from MAssemblyOptions
    • Refactor focusing on selection logic in Editor
    • Refactor FontReference to reference type (class)
    • Refactor base types initialization to be done during API processing
    • Refactor AnimGraph to support asynchronous execution
    • Refactor CPU Particles to support asynchronous execution
    • Refactor FileSystemWatcher interface to make it simpler
    • Refactor AnimGraph debug flows to use scripting API event (faster)
    • Refactor Variant type ManagedObject serialization to be usable for Visual Scripting
    • Change default Update FPS in time settings to 60
    • Change profiler samples length to 10s at 60hz
    • Change all Flax Samples to 60 FPS
    • Change to not log computer/username in log files
    • Change CalculateTangents to false as default and calculate normals/tangents by default if missing
    • Change WindowBase to allow for better code sharing for platforms without advanced windowing
    • Update fmt to version 6.2.1 (9 May 2020)
    • Fix dummy locale on Linux
    • Fix using TextBoxBase with child controls
    • Fix format string errors assertions into soft checks
    • Fix natvis display for string views
    • Fix handling spacing in collection editors to align label in a proper way with margin
    • Fix JsonAssetProxy.IsProxyFor
    • Fix stack overflow when using recursion with nested scene animations
    • Fix escaping backslashes in generated tooltip descriptions
    • Fix build settings limits
    • Fix reparenting actors in editor to preserve world position
    • Fix bounding box calculations for Animated Models
    • Fix tooltips to be constrained by monitor bounds instead of virtual desktop or parent window bounds
    • Fix Is Null and Is Valid nodes in Visual Script to handle managed instances comparison
    • Fix crash when unloading scene that has been already unloaded
    • Fix Label text positioning when using Auto Fit
    • Fix creating reroute nodes in Visject during debugging
    • Fix missing mipIndex when clearing lightmap textures with a buffer on baking start
    • Fix error when actor from unloaded scene is selected
    • Fix showing Game Plugins in editor plugins window
    • Fix disabling VertexSnapping for 3D UI rendering
    • Fix Editor UI tree control click to handle selection update before
    • Fix camera position when changing Editor view orientation
    • Fix gizmo in top down view on Z-axis movement (and other combination of perpendicular views)
    • Fix showing context menu in Scene Tree window with scroll used
    • Fix paths in plugin projects root nodes in Content Database
    • Fix crash when importing model mesh with multiple materials but no mapping on a Geometry
    • Fix CharacterController still colliding after being disabled at runtime
    • Fix exception in Editor UI is model has invalid material slot index assigned
    • Fix gizmo stability when using single axis
    • Fix text processing with wrapping enabled if layout bounds width equals the line width
    • Fix Control.GetChildAtRecursive with overlapping controls
    • Fix crash when reading empty string from stream
    • Fix adding particle emitter to a system timeline to have full duration
    • Fix naming native threads on Linux and Android
    • Fix crash when reloading virtual asset
    • Fix false-positive of Surface node value modification
    • Fix handling invalid asset in AssetPicker instead of throwing exception
    • Fix buffer overrun crash in ForwardShadingFeature
    • Fix drawing shadows for particles that use Depth Fade node
    • Fix importing model animations curves with scaled local bone TransformBuffer
    • Fix missing operators and constructor in Pair
    • Fix asset paths to be from project rather than packages
    • Fix loading native dependencies for binary modules from other folders than engine binaries or project root
    • Fix auto-focus for dock window on right-click to prevent Game Window mouse steal when using context menu
    • Fix String::Resize to support buffer growing
    • Fix catching mouse focus in Editor play mode with game is paused
    • Fix out of bound access to RichTextBoxBase internal buffer
    • Fix POD structure check in scripting api if contains array field
    • Fix some profile event names
    • Fix crash on Font invalidate
    • Fix C# profiler events from other threads
    • Fix renaming selected actor in scene tree after creation and use editor shortcut
    • Fix minor warnings in shaders
    • Fix locale on Linux
    • Fix file dialogs from changing the working directory (on Windows)
    • Fix compilation on specific system locale configuration (build tool issue)
    • Fix synchronization for dbg symbols on Windows
    • Fix using fixed array initializers in scripting API field
    • Fix error in context menu search on fail
    • Fix ThreadLocal to use atomic operations and prevent rare race conditions
    • Fix running Flax on Windows with STD console output
    • Fix undo errors in editor on Margin property serialization
    • Fix checking paths when opening Visual Studio project items to prevent dummy files creation
    • Fix base method calls handling in scripting vtable overrides
    • Fix game plugins initialization order in Editor play mode to mock the standalone game
    • Fix checking min engine version for referenced projects too
    • Fix loading game binaries in Editor if they are still missing are recompile
    • Fix rare crash when passing array to managed world with object refs inside structures
    • Fix calling base class of overridden scripting object via vtable entry for method that has multiple parameters
    • Fix AnimatedModel bounds calculation to use skeleton bones locations
    • Fix range selection in Tree to skip invisible nodes
    • Fix deserialization of C# dictionaries for prefabs
    • Fix Script deserialization if ParentID is not specified in stream
    • Fix changing prefab root
    • Fix undo for custom serialized objects (eg. LocalizedString)
    • Fix missing asset register for new json resources
    • Fix API_AUTO_SERIALZIATION usage if base type is not serializable
    • Fix case sensitivity check for StartsWith and EndsWith in StringView
    • Fix using Delegate<> in API event
    • Fix TypeSearchPopup showing types that base type is hidden
    • Fix script template not complain about doc warnings
    • Fix tooltip attribute generation for multi line xml doc comments
    • Fix Transform Node/Bone in replace mode when transform is identity
    • Fix protected internal access modifier usage
    • Fix textbox bugs
    • Fix editor viewport input when using ScreenSpace canvas in a prefab
    • Fix ScreenSpace UICanvas prefab preview activate/deactivate
    • Fix order when pasting UI Controls
    • Fix ScreenSpace UICanvas order in Prefab preview (move back to prevent editor widgets occlusion)
    • Fix Visual Script method override node auto-size
    • Fix descriptors bindings to shaders on D3D12
    • Fix missing UAV barriers on D3D12
    • Fix GPU synchronization on D3D12
    • Fix D3D12 resource state transitions barriers
    • Fix lightmaps baking on D3D12
    • Fix using custom allocator on array field in scripting class
    • Fix UI after editing Dictionary key value
    • Fix various Editor UI icons issues to improve reliability and design
    • Fix Asset::ToString() to not depend on refs count and look simpler
    • Fix generating includes list in c++ glue code for script (non-pod and variant wrappers can produce additional includes)
    • Fix Blend Space 2D to use corrected additive blending
    • Fix texture streaming minimum mips to load for block compressed textures
    • Fix spline model visibility after enable if was disabled on start
    • Fix default value generation for numbers and enums in scripting api
    • Fix parsing doc comments in scripting api with inlined summary tag
    • Fix scripts projects opening to support async open when using Editor menu option
    • Fix using Keyboard and Mouse objects in C# scripting
    • Fix cached font usage to use proper unmanaged object validation check
    • Fix selecting multiple different UI controls in Editor
    • Fix crash due to SamplesBuffer::Add bug
    • Fix errors when changing UIControl type in prefab
    • Fix crash with too big blur strength used in Render2D
    • Fix WeakAssetReference handling asset unload
    • Fix very rare cases of deadlocks in Asset::WaitForLoaded
    • Fix terrain normal mapping issue
    • Fix using nested types in Visual Script
    • Fix crash when reimporting sprite atlas
    • Fix sprite atlas serialization after editing
    • Fix naming new sprites in Editor
    • Fix models uvs preview drawing
    • Fix synchronizing ActorTreeNode order after actor duplicate
    • Fix missing rotation parameters in capsule physics queries
    • Fix BitonicSort constant buffer size error on Vulkan due to structure padding
    • Fix structured UAV/SRV buffer usage on Vulkan
    • Fix crashes during deserialization of invalid data
    • Fix getter only properties not showing in Editor
    Source code(tar.gz)
    Source code(zip)
  • 1.1.6218(Apr 23, 2021)

    Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-1-6218/339

    Changelog:

    • Add overwrite prompt for SaveDialog on Windows
    • Add sweep and overlap physics queries for capsule shapes
    • Add more C++ docs and examples
    • Add improvements the random byte generation code
    • Add BoxBrush::SetMaterial
    • Add drag&drop support for Linux
    • Add UpDirection to Character Controller
    • Add automatic destination folder creation when saving Json asset
    • Add path utils to support StringView
    • Add error message box on Editor Options saving error
    • Add support for OnSerializing, OnSerialized, OnDeserializing and OnDeserialized callbacks for C# types serialization with Json
    • Add support for fixed-array fields in scripting
    • Optimize WriteStream::WriteText
    • Fix Win32 stack traces issue due to invalid search path for debug symbols
    • Fix diff serialization for C# lists
    • Fix deserialization of C# lists
    • Fix for UWP game build
    • Fix picking game binaries target when EditorTarget is not SetupTargetEnvironment
    • Fix using cross-module references inside C++ game project
    • Fix using references to projects outside the main project
    • Fix selecting spline points
    • Fix initial dock window size on high-dpi screen
    • Fix regression in adding model material slots
    • Fix Dropdown control
    • Fix duplicating spline
    • Fix AutoFocus saved in data for controls
    • Fix removing Gameplay Globals
    • Fix using AssetsCache in game code
    • Fix render layers mask usage for shadows rendering
    • Fix 3D audio placement for XAudio2 and OpenAL
    • Fix crash on relocation in BitArray
    • Fix using Sorting in C++ game code
    • Fix doc comments
    • Fix natvis for StringBuilder
    • Fix tooltips flicker
    • Fix tooltips to appear across multiple monitors making it hard to read them
    • Fix PrefabSpritesRenderer from script list
    • Fix using Camera refs
    • Fix ContainerControl.GetChildAt to iterate in reverse order to respect z order
    • Fix crash when using Actor GetScript or GetChild with invalid index
    • Fix compilation of bindings code with API_EVENT in some cases
    • Fix crash when using C# script that inherits from C++ script
    • Fix crash on bokeh in dof on d3d12 (NVidia driver issue regression)
    • Fix progress bar drawing precision and stability
    • Fix handling crash when loading scripting api bindings cache during build
    • Fix spline model geometry deformation precision issues
    • Fix DPI regression (use the overrideable RootWindow instead of _root)
    Source code(tar.gz)
    Source code(zip)
  • 1.1.6217(Mar 28, 2021)

    Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-1-6217/281

    Changelog:

    • Add API_INTERFACE to scripting API bindings for implementing interfaces
    • Add support for loading JsonAsset instance objects if they implement ISerializable interface
    • Add NavMesh Modifier Volume actor type
    • Add NavAgentProperties
    • Add NavMeshProperties
    • Add NavAreaProperties
    • Add NavAgentMask
    • Add support for multiple navmeshes on a scene
    • Add navmesh name to logs for better debugging
    • Add support for masking navmesh agents in NavMeshBoundsVolume
    • Add support for automatic DefaultValue attributes generation for fields in scripting API
    • Add support for rotated navmeshes
    • Add support for dynamic updating navmesh when moving NavModifierVolume
    • Add TestPath utility to navigation system
    • Add default spacing for CollectionEditor to 10 for cleaner UI when working with arrays and lists in Editor
    • Add invoking BoxVolume::OnBoundsChanged after transform changed
    • Add default values initialization for structures and new array entries when resizing
    • Add ScriptingTypeHandle debugger view to flax.natvis
    • Add more objects types checks and casting utilities to ScriptingObject
    • Add support for using ObsoleteAttribute to upgrade old C# asset/script data format after refactor
    • Add Actor.HasStaticFlag
    • Add option to hide navmesh in editor debug view
    • Add low-level networking (cross-platform sockets implementation)
    • Add culling for decals (via DrawMinScreenSize property)
    • Add scripting API events in Visual Script
    • Add support for Events in Scripting API reflection in Editor
    • Add IFunctionDependantNode for Visject nodes
    • Add Spline actor
    • Add Spline Model actor (draws model over spline)
    • Add Spline Collider actor (creates collision over spline)
    • Add Spline Rope Body actor for ropes, chains and cables physics
    • Add Deformable material domain (for spline models)
    • Add default Deformable material for splines
    • Add auto-select for spawned actors in the level
    • Add Add/Subtract methods to Transform
    • Add support for copy/paste/rever values for groups in Custom Editor (eg. array editor)
    • Add Transform.LocalToWorldVector and Transform.WorldToLocalVector
    • Add first derivative calculation utilities for Curve
    • Add Build Actions option to editor settings for build button configuration
    • Add DebugDraw.DrawWireTriangles for wireframe geometry debug drawing
    • Add SoftObjectReference for lazy references to assets and objects
    • Add support for custom defines for build system via Flax.Build command line
    • Add support for custom SceneGraphNode to handle delete with undo
    • Add support for custom duplicate of SceneGraphNode
    • Add support for using other VC++ toolset for Window and add cmd arg for selecting compiler manually
    • Add an info group for selected Rigidbody in play mode (display speed, velocity, angular velocity, etc.)
    • Add support for mapping objects in SceneAnimationPlayer to reuse it for different objects
    • Add support for copy/pasting script properties
    • Add more utilities to SceneReference
    • Add more utilities to LayersMask
    • Add Volumetric Fog particles to modify local fog
    • Add skipping textbox scrolling if it has no selection
    • Add WriteJsonDiff support for JsonConverter for custom object diff serialization
    • Add more documentation comments improvements
    • Add F to focus camera view in asset previews
    • Add WorldSpaceFaceCamera mode to UICanvas
    • Add mouse centering in Editor Viewport if initial location is too close to the edge
    • Add separation in ContainerControl for Self/Children drawing code
    • Add ContainerControl as a base for Common GUI controls (Border, Button, ProgressBar, TextBox)
    • Add UICanvas culling (for 3D rendering)
    • Add support for spawning Collision Data as Mesh Collider in viewport drag&drop
    • Add improvements for objects spawning in editor viewport
    • Add support for debug shapes preview in prefab editor window
    • Add support for viewport icons rendering in prefab editor window
    • Add Add mesh collider option to Static Model context menu
    • Add reusing created collision data for model when UI requests it
    • Add layers and tags updating
    • Add support for borderless window style on Windows that supports system docking and aero shadow
    • Add editor window outline color to match the status bar color
    • Add more features for platform impl on Linux
    • Add more support for window system features in Linux (X11)
    • Add support for C++ scripting on platforms that don't support referencing executable file when linking shared library (eg. Linux)
    • Add support for C++ scripting on Linux
    • Add support for Clang 8, 9 and 10 when building for Linux
    • Add clipboard support on Linux
    • Add support for resizing textures with stb in TextureTool
    • Add support for importing textures with options in TextureTool with stb
    • Add separate Platform::GetStackTrace and Platform::GetStackFrames
    • Add support for capturing stack trace of called DebugLog from C++
    • Add newest dbghelp.dll lib
    • Add support for using Level.SpawnActor to add scene from code
    • Add integration with Rider IDE
    • Add FindRandomPoint and FindRandomPointAroundCircle to the navigation utilities
    • Add BoundingSphere::Transform method
    • Add support for accessing Game Settings and related assets in C# API in game build
    • Add Absolute and Negative to Vector3 C# API
    • Add Sprite Render actor for sprites drawing
    • Add Render Layers to Camera and Render View for masking objects during rendering
    • Add DebugDraw::DrawText for drawing 2D debug text on a screen
    • Add DebugDraw::DrawText for drawing 3D debug text in the world
    • Add support for updating particle effects in editor view when editing
    • Add Mask ZW node to all Visject surfaces
    • Add Particle Radius to in-built particle attributes
    • Add EditorScene for using gameplay logic in editor preview windows
    • Add support for audio clip playback preview in editor window
    • Add SceneGraphNode.OnContextMenu for customizations
    • Add profiler events to LocalExecutor thread workers in Flax.Build
    • Add -shaderdebug cmd line switch to Editor for shaders debugging
    • Add support for mutable keyword on API_FIELD
    • Add support for caching scripting API bindings during build
    • Add MaxConcurrency and ConcurrencyProcessorScale options for Flax.Build cmd line
    • Add SceneRenderTask.PreRender
    • Add check for C++ bindings generator for property getter and setter method value types to match
    • Add virtual to Camera GetMatrices for custom cameras
    • Add support for parsing exponential (scientific) notation numbers in input fields
    • Add Any node to material
    • Add All node to material
    • Add Sign node to material
    • Add Blackbody node to material
    • Add bringing editor window to front on focus
    • Add safety checks for particles data to prevent division by 0
    • Add support for UICanvas preview in Prefab Viewport
    • Add UIControl outlines drawing in Prefab window
    • Add virtual memory allocation utilities
    • Add exception instead of crash when using DebugDraw.DrawLines with uneven amount of lines
    • Add FLAXENGINE_API macro to class JsonAsset
    • Add Level.GetActors and Level.GetScripts
    • Add some defaults to Quaternion helpers
    • Add and refactor several extension methods for Random
    • Add Render2D.DrawTexturedTriangles, Render2D.FillTriangles and Render2D.FillTriangle
    • Add ScriptingTypeHandle debugger view to flax.natvis
    • Add Convert feature for actors in Editor scene tree context menu
    • Add RGB & HSV conversion nodes to material graph
    • Add more separators to TextBoxBase
    • Add allowance for overriding most of the methods in TextBoxBase
    • Add auto serialization by default in C++ script template
    • Add optional icons to DockWindows
    • Add icon for Content window
    • Add icon for Debug Log window (based on last unseen logs severity)
    • Add WarningOnce, ErrorOnce, InfoOnce, VerboseOnce to Flax.Build logger
    • Add colored icons for Debug Log entries (and adjusted entry height)
    • Add Render2D tint color layering support
    • Add reroute nodes to Visject
    • Add arrow key navigation to Visject
    • Add support for binary modules with native-code only
    • Add improved dll import/export attributes injection when building binary modules
    • Add support for using ThirdPartyModule in game/project scripting
    • Add StringBuilder::ToStringView()
    • Add write barriers for Mono GC in bindings glue code
    • Add support for overriding most of the methods in TextBoxBase
    • Add ClampLength to Vector2/3/4
    • Add StringUtils::ConvertUTF162UTF8
    • Add support for using automated codesign for binaries in deployment
    • Add passing custom compiler switch when invoking child Flax.Build process during deployment
    • Add DrawCylinder and DrawWireCylinder to DebugDraw
    • Add Shift+Home shortcut to Text Boxes
    • Add support for vertical and horizontal panels to arrange children based on the child anchor
    • Add per-monitor/per-window DPI support
    • Add new UI Control transform editor
    • Add more descriptive "no scene" message
    • Add automatic rename to UIControl
    • Add constructor to BoundingBox for single point empty box construction
    • Add Mouse Wheel Sensitivity option to Editor
    • Add selecting prefab root objects first in Editor
    • Add error check to prevent changing parent of the Scene actor
    • Add focus on acto with F key in editor viewport (improvements)
    • Add better support for orthographic projection in Editor viewport controls
    • Add option to order script fields/properties in Editor UI based on declaration order (Editor option)
    • Add splash screen quote
    • Add support for Custom Defines in Game Cooker for build scripts configuration
    • Add support for custom defines for build system via Flax.Build command line
    • Optimize and improve ActorChildNodes handling
    • Optimize build tool
    • Optimize MAssembly::GetClass(MonoClass* monoClass) search via assembly image early out
    • Optimize automatic navmesh rebuild in editor for navmesh relevant actors only
    • Optimize Serialization.h to have separate SerializationFwd.h for more lightweight types serialization impl
    • Optimize DebugLog stack trace formatting
    • Optimize Texture::DownloadData for staging textures
    • Optimize Blend Normal Node
    • Optimize compilation time on Windows
    • Optimize scripting API bindings generation if loaded API from valid cache
    • Optimize DrawCall to pack indirect draw arg and graphics draw data with union
    • Refactor navigation system to support multiple navmeshes with more options and API
    • Refactored lots of logic in UI to fix various reported issues (eg. vertical and horizontal panels usage has been improved a lot and might behave different than it used to be)
    • Refactor game settings to support using API bindings
    • Refactor PhysicalMaterial to use API bindings
    • Refactor draw calls and instancing logic to be more modular
    • Refactor material shaders generator to use modular features as extensions
    • Refactor Collider base class to improve code sharing across collider shape types
    • Move Curve data serialization to binary format into CurveSerialization.h
    • Move ScreenToGameViewport from Engine to Screen (update doc comments)
    • Remove Unlink from asset reference
    • Remove deprecated and unused ISceneObject and ITransformable
    • Improve tokens preprocessor for scripting API headers
    • Improve Visual Studio Code solution generation for C# projects
    • Cleanup and optimize StringUtils::ConvertUTF82UTF16
    • Move Actor static flags helper methods to be manually implemented (less bindings)
    • Update stb lib
    • Update Recast navigation lib to e75adf86f91eb3082220085e42dda62679f9a3ea
    • Fixes for UI control sync
    • Fixes for Editor layout element containers
    • Fixes for scripting objects
    • Fix and code cleanup for Flax Storage types
    • Fix PathRemoveRelativeParts for rooted paths
    • Fix C# assembly Guids to use cross-platform hashing for stable values
    • Fix collecting binary modules for targets with Modular linkage
    • Fix Debug Log stack trace collecting in Editor
    • Fix importing models with custom UnitScaleFactor
    • Fix crash on exit when loading storage file fails
    • Fix some minor issues with materials previews in Editor
    • Fix debug shapes leftovers update in editor after playmode
    • Fix using Scripts in async
    • Fix crash on close when using Vulkan/D3D12 rendering backend with async task being canceled
    • Fix material Sphere Mask node if radius is specified as integer
    • Fix sampling particle position/velocity in material for emitters simulated in Local space
    • Fix placement and usage of the new instance creation button in GenericEditor
    • Fix MAssembly::GetClass(MonoClass* monoClass) for generic classes
    • Fix loading game assets in cooked build via path relative to the project folder
    • Fix particles view information in Editor when Game window is unused
    • Fix findRandomPointAroundCircle in Detour lib to return points inside circle
    • Fix adding items in Array/List editors if element type is reference (eg. class)
    • Fix Color struct doc comments
    • Fix not using hardcoded order for showing Actor main properties in editor
    • Fix loaded asset verification error for json assets that have the scripting type
    • Fix crash when using Physical Material with missing instance
    • Fix default field value parsing to skip whitespaces
    • Fix crash on GPUDeviceVulkan dispose if compute queue was using graphics queue
    • Fix using dynamic libraries resolving path on Linux
    • Fix some editor UI controls visible in Visual Scripting
    • Fix MAssembly classes dictionary cache allocation to be during assembly load
    • Fix Dictionary to call ctor/dtor for Buckets when needed
    • Fix right-click context menu for Visject Nodes
    • Fix crash when using Find/FindLast on empty String
    • Fix calling OnParentChanged in Actor load
    • Fix compilation warnings
    • Fix showing shader source code window over a calling window
    • Fix Quaternion comparison epsilon to reduce error rate
    • Fix using Bezier curve for Transform (Scale tangents issue)
    • Fix for serialization problems with custom structures
    • Fix using nested types in scripting API
    • Fix navmesh tiles set resizing issue
    • Fix saving assets with path containing invalid slashes
    • Fix Vertical/Horizontal panels issue with anchored child controls
    • Fix updating Label layout after font change when using automatic size
    • Fix scripting reload without scenes loaded
    • Fix UI not being updated with particular panels used when changing child control anchors
    • Fix Scene Queries to lock scene access
    • Fix DebugDraw DrawTriangles crash
    • Fix PhysX header usage in public API
    • Fix missing UICanvas linkage in prefab preview
    • Fix skipping UICanvas diff serialization for Size property if render mode is ScreenSpace
    • Fix UIControl location deserialization when using prefabs and anchors
    • Fix control Offsets margin diff deserialziation
    • Fix possible issue for prefab reference value for default value object that might be deleted on prefab apply
    • Fix editor viewport camera orbiting issues
    • Fix missing selection type in CustomEditorPresenter
    • Fix assertion on engine close due to rare invalid storage object refs count
    • Fix using scale mode Gizmo
    • Fix Rename Popup direction near screen edges
    • Fix exception in Custom Editors UI due to invalid reference value processing
    • Fix updating UICanvas when using World/Camera Space
    • Fix control Offsets updating for control bounds when changing anchors
    • Fix bug with Vector Parameters in Animation Graph
    • Fix crash on Actor deserialization if parentId is missing but actor already has a parent
    • Fix synchronizing ActiveInTreeChanged property with event after prefab changes apply
    • Fix crash during Mono GC when object has missing vtable
    • Fix painting foliage on inactive objects
    • Fix InputText length reset
    • Fix scaling rotated objects in world space
    • Fix HorizontalPanel children layout
    • Fix HorizontalPanel and VerticalPanel auto-sizing if child control is using anchors
    • Fix conversion to degrees in Vector3.Angle
    • Fix drawing UI Control outline in Game Window
    • Fix BlurPanel rendering
    • Fix error on starting task to continue if it has been canceled
    • Fix font character and hit location calculations with line spacing
    • Fix tooltips generation for native properties to reflect getter and setter docs
    • Fix crash when changing prefab root object
    • Fix issue of deleting non-existent folders from the editor
    • Fix FindActor and FindScript in Level
    • Fix properties names formatting for UI with 2 character words
    • Fix some prefabs editing issues
    • Fix code style in C# code
    • Fix using get_Control getter method from UIControl in Visual Script
    • Fix error when spawning prefab with rigidbody
    • Fix layer matrix order in ediotr UI
    • Fix double-click mouse event not setting mouse button down
    • Fix default frame rate for fbx imported clips to 14
    • Fix Graphics module warnings to be sent once
    • Fix updating prefab object reference values after apply in prefab editor
    • Fix updating UI layout when adding control
    • Fix Editor timeline editor controls API visible in Visual Scripting
    • Fix using value sliders when on secondary monitor that is one the left side of the primary monitor (virtual desktop)
    • Fix UWP build setup messing with FlaxGame target output type
    • Fix automatic tooltip generation error
    • Fix tooltip background when using custom theme colors in Editor
    • Fix tree nodes mouse hovering logic
    • Fix crash in motion blur code when screen size is very small
    • Fix rare crashes due to rgctx trampolines cache not cleared on assembly reload
    • Fix auto-importing materials and textures from model file with invalid path characters used in name
    • Fix crash when loading string property in json that is not a string
    • Fix missing terrain bounds update after modifying terrain
    • Fix updating input fields on editing end without changes
    • Fix missing CharacterController bounds if controller is missing
    • Fix MaterialParams sync bug
    • Fix CSG build crash
    • Fix TextBox caret and selection size with custom DPI
    • Fix Label auto-height and auto-width when text overflows the lines and it's wrapped
    • Fix text not getting clipped in Label with negative margin
    • Fix UTF-8 and UTF-16 encoding support usage in Json resources
    • Fix deserialization of UTF-8 string for C# object properties
    • Fix mouse jittering when pressing both mouse buttons simultaneously
    • Fix editor dock panel to always focus tab on click
    • Fix UIControl invalid showing in prefab window using nested prefab with UI
    • Fix crash for empty text in Text Render
    • Fix possible exception in actor editor bounds getters
    • Fix memory leak for Mono image refs
    • Fix various memory leaks on exit
    • Fix ParticleSystemWindow overlapping text bug
    • Fix invalid Timeline layout UI when opening timeline data
    • Fix crash on prefab sync on instance with missing objects
    • Fix Label text alignment in auto size text
    • Fix synchronizing nested prefabs when adding new ObjectsLookupIdMapping
    • Fix actor layer editor setup
    • Fix UICanvas state synchronization when working with prefabs
    • Fix fullscreen mode on D3D11 and D3D12
    • Fix crash in navmesh builder when scene gets unloaded after navmesh tile gets dirty
    • Fix preserving objects order in prefab instances on apply (based on the prefab)
    • Fix updating UI layout after changing control order
    • Fix crash on using Space char in font with no font atlases initialized
    • Fix IncrementNameNumber in Editor for Unicode strings (wrong inversing method)
    • Fix marking asset as edited when using Multi Blend node positions in Anim Graph
    • Fix crash when calling navigation system before navmesh init (eg. in build)
    • Fix exception when loading Android NDKs with invalid version folder
    • Fix AssetPicker buttons usage without mouse down click over the control
    • Fix low-level WindowsPlatform::Log to not print invalid characters
    • Fix VS debugger config for Dictionary and HashSet to show only Occupied buckets
    • Fix ResizeAuto in SurfaceNode to include custom controls
    • Fix C# assemblies id generation to use cross-platform hash code impl
    • Fix exposing Mono API when using dynamic linking
    Source code(tar.gz)
    Source code(zip)
  • 1.0.6216(Jan 31, 2021)

    Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-0-6216/207

    Changelog:

    • Add using additional temporary temp param in scripting bindings glue code for array parameters using BytesContainer
    • Add Orientation to editor view menu
    • Add golden ratio constant
    • Add Github Actions usage for CI
    • Add executable flag for scripts
    • Add more splash screen quotes
    • Add Remap node to all graphs
    • Add contribution guidelines
    • Add Mesh::UpdateMesh methods similar to C# API
    • Add material node to mix Normal Maps
    • Add option to Invert Panning in editor viewport
    • Add Sphere Mask node to materials
    • Add docs about the clockwise order of the indices in mesh triangles
    • Add Battery information API
    • Add option to format Visject nodes
    • Add rotator node for materials
    • Add DDX/DDY nodes for materials
    • Add modern file dialog for browsing folders on Windows
    • Add inline for float16 compression and add code reference note
    • Add missing FLAXENGINE_API expose macro to engine math types
    • Add more utilities to Collisions Helper
    • Split VectorInt.h into separate files for Int2, Int3 and Int4
    • Improve Visject Surface connections dragging
    • Improve build times in development configuration
    • Improve Variant typename loading if length is zero
    • Fix BlurPanel crashes due to slider for BlurStrength
    • Fix Editor windows position (on startup) for multi screens
    • Fix missing public empty constructor for UICanvas
    • Fix typos
    • Fix error when opening Anim Graph with node name not existing in skeleton anymore
    • Fix plane model normals
    • Fix Visual Script invoke method node signature check for output params passed by reference
    • Fix Unsigned Integer value field to prevent negative values
    • Fix missing focus for SliderControl
    • Fix open file dialog on Windows
    • Fix Visject Node layout when adding boxes from code
    • Fix missing animated model parameter error
    • Fix to disable terrain and foliage buttons if no scene is present
    • Fix a ton of typos
    • Fix CTRL+W issue in play mode in game view in Editor
    • Fix tracking mouse offset on high DPI screens
    • Fix scene animation rendering issue with game window is not selected tab
    • Fix crash in motion blur tile size calculation
    • Fix plane model incorrect rotation in material preview
    • Fix assertion during engine shutdown after crash during rendering
    • Fix crash when using Byte, Int16 or UInt16 as VS parameters
    • Fix loading VariantType.Blob
    • Fix crash when creating Empty particle emitter
    • Fix exporting textures in format R10G10B10A2 and R11G11B10 on Windows
    • Fix foot offset in Character Controller
    • Fix viewport zooming issues
    • Fix crash when applying changes to prefab
    • Fix ResizeAuto in SurfaceNode to include custom controls
    • Fix Get Node Transform size and missing output signal box
    • Fix crash on Android if GPU doesn't support linear sampling of the shadow map
    • Fix crash when resizing existing MaterialSlots collection for model
    • Fix padding in Editor info dialog
    • Fix error when animated model skeleton has duplicated node name
    • Fix crash when reloading scripts with opened custom json asset
    • Fix the crash when slope limit was set to 90 degrees (on Character Controller)
    • Fix fade distance node in materials
    Source code(tar.gz)
    Source code(zip)
  • 1.0.6215(Jan 6, 2021)

    Discussion: https://forum.flaxengine.com/t/flax-engine-update-1-0-6215/147

    Changelog:

    • Add support for Visual Studio Code Insiders
    • Add logging offset for Json parsing errors
    • Add IconsScale to editor interface options
    • Add additional check for twice plugin initialization in case of error
    • Add support for hexadecimal values in editor value fields
    • Add support for using unsigned integer input fields in Visject Surface editor
    • Add IgnoreMissingDocumentationWarnings option into generated csproj files
    • Add Generate collision data from Model context menu
    • Add returning focus to the previous control when closing a context menu
    • Add support for active logging of the process output on Windows
    • Remove TAA rendering implementation
    • Reimplement Motion Blur
    • Remove deprecated and unused OpenGL graphics backend
    • Change maximum window size to 4096
    • Update DirectXShaderCompiler to 1.6
    • Fix null character at shader sources at during game cooking
    • Fix using AssetRefEditor for editing asset reference on Guid property
    • Fix PlatformSettings typedef on Android
    • Fix PCF shadow uvs vector trunc warning
    • Fix Editor title bar on High DPI
    • Fix compiler errors with Vulkan 1.2
    • Fix crash on scripting reload when using Anim Graph with custom nodes
    • Fix context menu positioning for child menus when flipping the direction over Y axis
    • Fix editing overridden particle emitter parameter in particle system window
    • Fix editor viewport camera glitch on first frame when using camera orbiting
    • Fix flashing tooltips
    • Fix GamePlugin only used in PlayMode/Cooked game
    • Fix undo redo flags in play mode
    • Fix preserving Editor undo actions during play mode
    • Fix link to Github issues page
    • Fix build scenes toolstrip button enabled state
    • Fix inverted Y Gizmo Rotation
    • Fix Editor features usage enable when no scene is loaded
    • Fix crash when in ScriptingObject::ToString() when class is missing
    • Fix more dpi issues
    • Fix shortcuts (F5, F6, F11) in play mode in editor
    • Fix removing namespace from nodes in imported model files
    • Fix GPU timer query detected warning to be single-time
    • Fix speed change scrolling being wonky
    • Fix preventing loading 'null' style in Editor
    • Fix C# methods lookup for method signatures with output structure parameter passed as reference
    • Fix DockHintWindow drag offset if it was invalid when initializing on initial mouse click
    • Fix comparing String with StringView
    • Fix logging process output on Windows
    • Fix using unsigned integer properties in Visual Script editor
    • Fix Length node in Visual Script
    • Fix renaming files to same name with different case
    • Fix double extensions when user specifies one during asset creation
    • Fix wrong engine path with RegisterEngine script as admin
    • Fix error when running Flax dev scripts without Nuget installed (or in different location)
    Source code(tar.gz)
    Source code(zip)
  • 1.0.6214(Dec 18, 2020)

    Flax 1.0 update with lots of tasty features such as Full Source Code release, Visual Scripting, Android support, Vertex Painting, Contact Shadows. More here: https://flaxengine.com/blog/flax-1-0-released/

    Source code(tar.gz)
    Source code(zip)
Owner
Flax Engine
A true game changer
Flax Engine
The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript

The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript

null 2.7k Jul 3, 2022
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

OpenXRay OpenXRay is an improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. S

null 2k Jun 29, 2022
MAZE (My AmaZing Engine) - 🎮 Personal open-source cross-platform game engine

MAZE (My AmaZing Engine) is the self-written open-source cross-platform game engine in the active development stage. At the moment it is my main pet project, developed for the purpose of learning and preserving different game dev technologies.

Dmitriy Nosov 11 Jan 9, 2022
CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine

CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine. This engine has been designed with a cross-platform design in mind. Thanks to Vulkan API it delivers a next-gen experience with ray tracing to both Linux and Windows platforms

Jakub Biliński 27 Jun 12, 2022
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++

Ground Engine is an easy to use Game Engine Framework for 3D Game Development written in C++. It's currently under development and its creation will b

 PardCode 51 Jun 10, 2022
Multi Theft Auto (MTA) is a software project that adds network play functionality to Rockstar North's Grand Theft Auto game series,

Multi Theft Auto: San Andreas Multi Theft Auto (MTA) is a software project that adds network play functionality to Rockstar North's Grand Theft Auto g

null 2 Oct 22, 2021
Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve external game process read/write with minimum footprint.

Launcher Abuser Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve ex

Ricardo Nacif 75 Jun 29, 2022
Game Boy, Game Boy Color, and Game Boy Advanced Emulator

SkyEmu SkyEmu is low level cycle accurate GameBoy, GameBoy Color and Game Boy Advance emulator that I have been developing in my spare time. Its prima

Sky 60 Jun 19, 2022
Open-source, cross-platform, C++ game engine for creating 2D/3D games.

GamePlay v3.0.0 GamePlay is an open-source, cross-platform, C++ game framework/engine for creating 2D/3D mobile and desktop games. Website Wiki API De

gameplay3d 3.7k Jun 28, 2022
KlayGE is a cross-platform open source game engine with plugin-based architecture.

KlayGE KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to

Minmin Gong 1.7k Jun 22, 2022
A cross-platform 2D game engine

nCine nCine is a cross-platform 2D game engine. It is released under the MIT License, Copyright (c) 2011-2021 Angelo Theodorou. For additional informa

nCine 703 Jul 1, 2022
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

Panda3D Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs. Panda3D is open-source and free for a

Panda3D 3.4k Jul 2, 2022
A powerful free cross-platform RTS game engine

Spring RTS game engine README Spring (formerly TASpring) is an Open Source Real Time Strategy game engine. Visit our project homepage for help, sugges

Spring RTS 2.6k Jun 25, 2022
CSEngine is a cross-platform 3D game engine.

CSEngine - Cross Platform C++ Game Engine CSEngine is a cross-platform 3D game engine. ?? As it is under development, it is not yet suitable for pract

ounols 45 Jun 27, 2022
Intrinsic is a Vulkan based cross-platform game and rendering engine

Intrinsic is a Vulkan based cross-platform game and rendering engine

Benjamin Wrensch 1k Jul 1, 2022
Free, cross-platform 2D game engine powered by Haxe and OpenFL

flixel | addons | ui | demos | tools | templates | docs | haxeflixel.com Links Here are the most important links to get you started with HaxeFlixel: G

HaxeFlixel 1.6k Jun 28, 2022
Minetest is an open source voxel game engine with easy modding and game creation

Minetest is an open source voxel game engine with easy modding and game creation

Minetest 7.3k Jul 3, 2022
Rogy-Engine- - My 3D game engine source code.

Rogy-Engine Development My 3D game engine. (NOT THE FINAL VERSION- Windows only) Features: PBR shading and reflection probes with parallax correction.

AlaX 92 Jun 18, 2022
Hyperion Engine is a 3D game engine written in C++

Hyperion Engine About Hyperion Engine is a 3D game engine written in C++. We aim to make Hyperion be easy to understand and use, while still enabling

null 130 Jun 28, 2022