From e4506588342045eefc3e9c04f37ad05fb4f691ed Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Wed, 3 Jun 2026 16:35:06 +0200 Subject: [PATCH] Remove deprecated `mono` runtime backend Old `mono` backend was not maintained for since 1.7 (July 2023) `dotnet` backend still can run `mono` on AOT platforms but with the latest .NET features. --- Development/Documentation/mono.md | 17 - Flax.flaxproj | 3 +- .../Editor/Content/Items/VisualScriptItem.cs | 14 +- Source/Editor/Cooker/Steps/DeployDataStep.cpp | 24 - .../CustomEditors/CustomEditorsUtil.cpp | 15 +- .../Editor/CustomEditors/CustomEditorsUtil.h | 2 +- .../Editor/CustomEditors/Editors/TagEditor.cs | 2 +- Source/Editor/GUI/Drag/DragActorType.cs | 2 +- Source/Editor/GUI/Drag/DragControlType.cs | 2 +- Source/Editor/GUI/Drag/DragScripts.cs | 2 +- .../Editor/GUI/Timeline/Tracks/EventTrack.cs | 6 +- .../Editor/Managed/ManagedEditor.Internal.cpp | 2 +- .../Editor/Modules/ContentImportingModule.cs | 3 - .../SourceCodeEditing/CodeEditingModule.cs | 6 - Source/Editor/Scripting/ScriptType.Custom.cs | 12 +- Source/Editor/Scripting/ScriptType.cs | 24 +- Source/Editor/Scripting/ScriptsBuilder.cpp | 18 +- Source/Editor/Surface/AnimGraphSurface.cs | 6 +- .../Archetypes/Animation.StateMachine.cs | 6 +- Source/Editor/Surface/Archetypes/Animation.cs | 8 +- .../Editor/Surface/Archetypes/BehaviorTree.cs | 10 +- .../Editor/Surface/Archetypes/Comparisons.cs | 5 +- Source/Editor/Surface/Archetypes/Flow.cs | 5 +- Source/Editor/Surface/Archetypes/Function.cs | 14 +- Source/Editor/Surface/Archetypes/Packing.cs | 6 +- Source/Editor/Surface/AttributesEditor.cs | 4 +- Source/Editor/Surface/Elements/InputBox.cs | 2 +- Source/Editor/Surface/SurfaceMeta.cs | 4 +- Source/Editor/Surface/SurfaceUtils.cs | 2 +- Source/Editor/Windows/AboutDialog.cs | 2 +- .../Windows/Assets/VisualScriptWindow.cs | 2 +- Source/Engine/Animations/Curve.cs | 8 +- .../Animations/Graph/AnimGraph.Custom.cpp | 7 - Source/Engine/Animations/Graph/AnimGraph.h | 5 - .../Engine/Core/Collections/CircularBuffer.cs | 2 +- Source/Engine/Core/Types/Variant.cpp | 4 - Source/Engine/Debug/DebugCommands.cpp | 2 +- .../Debug/Exceptions/CLRInnerException.h | 10 +- Source/Engine/Engine/CommandLine.cpp | 5 - Source/Engine/Engine/CommandLine.h | 19 - Source/Engine/Engine/Engine.cpp | 23 - Source/Engine/Engine/Globals.cpp | 3 - Source/Engine/Engine/Globals.h | 5 - Source/Engine/Graphics/Models/Mesh.cpp | 4 +- Source/Engine/Graphics/Models/Mesh.h | 2 +- Source/Engine/Graphics/Models/MeshBase.cpp | 4 +- Source/Engine/Graphics/Models/MeshBase.h | 2 +- Source/Engine/Graphics/Models/SkinnedMesh.cpp | 4 +- Source/Engine/Graphics/Models/SkinnedMesh.h | 2 +- .../Engine/Graphics/Textures/TextureBase.cs | 2 +- Source/Engine/Level/Actor.cs | 4 +- Source/Engine/Level/Spline.cs | 2 +- Source/Engine/Localization/CultureInfo.cpp | 15 +- .../Editor/AssetReferenceAttribute.cs | 2 - .../Internal/EngineInternalCalls.cpp | 45 +- .../Engine/Scripting/Internal/InternalCalls.h | 4 - .../Scripting/Internal/ManagedBitArray.h | 50 - .../Scripting/Internal/ManagedDictionary.cpp | 2 +- .../Scripting/Internal/ManagedDictionary.h | 26 +- .../Engine/Scripting/ManagedCLR/MAssembly.h | 43 +- Source/Engine/Scripting/ManagedCLR/MClass.h | 18 +- Source/Engine/Scripting/ManagedCLR/MCore.h | 4 - Source/Engine/Scripting/ManagedCLR/MDomain.h | 13 - Source/Engine/Scripting/ManagedCLR/MEvent.h | 19 +- Source/Engine/Scripting/ManagedCLR/MField.h | 20 +- Source/Engine/Scripting/ManagedCLR/MMethod.h | 20 +- .../Engine/Scripting/ManagedCLR/MProperty.h | 9 +- Source/Engine/Scripting/ManagedCLR/MUtils.cpp | 38 +- Source/Engine/Scripting/ManagedCLR/MUtils.h | 25 +- .../Scripting/Plugins/PluginManager.cpp | 8 +- Source/Engine/Scripting/Runtime/DotNet.cpp | 8 +- Source/Engine/Scripting/Runtime/Mono.cpp | 3671 ------- Source/Engine/Scripting/Scripting.Build.cs | 7 - Source/Engine/Scripting/Scripting.cpp | 7 +- Source/Engine/Scripting/ScriptingObject.cpp | 33 +- Source/Engine/Scripting/Types.h | 51 +- Source/Engine/UI/UIControl.cpp | 4 +- Source/Engine/Utilities/Utils.cs | 28 +- Source/ThirdParty/mono-2.0/LICENSE | 1440 --- Source/ThirdParty/mono-2.0/glib.h | 36 - Source/ThirdParty/mono-2.0/mono.Build.cs | 107 - .../ThirdParty/mono-2.0/mono/cil/opcode.def | 345 - Source/ThirdParty/mono-2.0/mono/jit/jit.h | 113 - .../mono-2.0/mono/metadata/abi-details.h | 70 - .../mono-2.0/mono/metadata/appdomain-icalls.h | 136 - .../mono-2.0/mono/metadata/appdomain.h | 231 - .../mono/metadata/assembly-internals.h | 90 - .../mono-2.0/mono/metadata/assembly.h | 131 - .../mono-2.0/mono/metadata/attach.h | 26 - .../mono-2.0/mono/metadata/attrdefs.h | 274 - .../ThirdParty/mono-2.0/mono/metadata/blob.h | 118 - .../mono-2.0/mono/metadata/callspec.h | 47 - .../mono-2.0/mono/metadata/cil-coff.h | 335 - .../mono/metadata/class-abi-details.h | 23 - .../mono-2.0/mono/metadata/class-getters.h | 118 - .../mono-2.0/mono/metadata/class-init.h | 92 - .../mono-2.0/mono/metadata/class-inlines.h | 121 - .../mono-2.0/mono/metadata/class-internals.h | 1463 --- .../mono/metadata/class-private-definition.h | 170 - .../ThirdParty/mono-2.0/mono/metadata/class.h | 301 - .../metadata/cominterop-win32-internals.h | 41 - .../mono-2.0/mono/metadata/cominterop.h | 73 - .../mono-2.0/mono/metadata/console-io.h | 53 - .../mono/metadata/console-win32-internals.h | 19 - .../mono-2.0/mono/metadata/coree-internals.h | 45 - .../ThirdParty/mono-2.0/mono/metadata/coree.h | 54 - .../mono/metadata/culture-info-tables.h | 8481 ----------------- .../mono-2.0/mono/metadata/culture-info.h | 137 - .../mono/metadata/custom-attrs-internals.h | 31 - .../mono-2.0/mono/metadata/debug-helpers.h | 54 - .../mono-2.0/mono/metadata/debug-internals.h | 90 - .../mono-2.0/mono/metadata/debug-mono-ppdb.h | 44 - .../mono/metadata/debug-mono-symfile.h | 114 - .../mono-2.0/mono/metadata/decimal-ms.h | 66 - .../mono-2.0/mono/metadata/domain-internals.h | 634 -- .../mono/metadata/dynamic-image-internals.h | 54 - .../mono/metadata/dynamic-stream-internals.h | 30 - .../mono/metadata/environment-internal.h | 24 - .../mono-2.0/mono/metadata/environment.h | 23 - .../mono/metadata/exception-internals.h | 87 - .../mono-2.0/mono/metadata/exception.h | 178 - .../mono-2.0/mono/metadata/external-only.h | 30 - .../mono-2.0/mono/metadata/fdhandle.h | 50 - .../mono-2.0/mono/metadata/file-mmap.h | 50 - .../mono-2.0/mono/metadata/filewatcher.h | 44 - .../mono-2.0/mono/metadata/gc-internals.h | 464 - .../mono-2.0/mono/metadata/handle-decl.h | 135 - .../mono-2.0/mono/metadata/handle.h | 693 -- .../mono-2.0/mono/metadata/icall-decl.h | 196 - .../mono/metadata/icall-def-netcore.h | 551 -- .../mono-2.0/mono/metadata/icall-def.h | 1112 --- .../mono-2.0/mono/metadata/icall-internals.h | 100 - .../mono-2.0/mono/metadata/icall-signatures.h | 297 - .../mono-2.0/mono/metadata/icall-table.h | 27 - .../mono/metadata/icall-windows-internals.h | 19 - .../mono-2.0/mono/metadata/icalls.h | 20 - .../mono-2.0/mono/metadata/image-internals.h | 29 - .../ThirdParty/mono-2.0/mono/metadata/image.h | 93 - .../mono-2.0/mono/metadata/jit-icall-reg.h | 397 - .../mono/metadata/loaded-images-internals.h | 67 - .../mono-2.0/mono/metadata/loader-internals.h | 8 - .../mono-2.0/mono/metadata/loader.h | 113 - .../mono-2.0/mono/metadata/locales.h | 101 - .../mono-2.0/mono/metadata/lock-tracer.h | 73 - .../mono-2.0/mono/metadata/marshal-ilgen.h | 12 - .../mono/metadata/marshal-internals.h | 61 - .../mono/metadata/marshal-windows-internals.h | 18 - .../mono-2.0/mono/metadata/marshal.h | 904 -- .../mono/metadata/mempool-internals.h | 87 - .../mono-2.0/mono/metadata/mempool.h | 46 - .../mono/metadata/metadata-internals.h | 1024 -- .../mono-2.0/mono/metadata/metadata.h | 519 - .../metadata/method-builder-ilgen-internals.h | 33 - .../mono/metadata/method-builder-ilgen.h | 143 - .../mono/metadata/method-builder-internals.h | 24 - .../mono-2.0/mono/metadata/method-builder.h | 56 - .../mono-2.0/mono/metadata/monitor.h | 161 - .../mono-2.0/mono/metadata/mono-basic-block.h | 42 - .../mono-2.0/mono/metadata/mono-conc-hash.h | 22 - .../mono-2.0/mono/metadata/mono-config-dirs.h | 23 - .../mono/metadata/mono-config-internals.h | 13 - .../mono-2.0/mono/metadata/mono-config.h | 38 - .../mono-2.0/mono/metadata/mono-debug.h | 230 - .../mono-2.0/mono/metadata/mono-endian.h | 97 - .../mono-2.0/mono/metadata/mono-gc.h | 125 - .../mono/metadata/mono-hash-internals.h | 17 - .../mono-2.0/mono/metadata/mono-hash.h | 43 - .../mono-2.0/mono/metadata/mono-mlist.h | 34 - .../mono/metadata/mono-perfcounters-def.h | 136 - .../mono/metadata/mono-perfcounters.h | 57 - .../mono-2.0/mono/metadata/mono-ptr-array.h | 83 - .../mono-2.0/mono/metadata/mono-route.h | 30 - .../mono-security-windows-internals.h | 36 - .../mono/metadata/normalization-tables.h | 3920 -------- .../mono-2.0/mono/metadata/null-gc-handles.h | 7 - .../mono-2.0/mono/metadata/number-formatter.h | 913 -- .../mono-2.0/mono/metadata/number-ms.h | 39 - .../mono-2.0/mono/metadata/object-forward.h | 22 - .../mono-2.0/mono/metadata/object-internals.h | 2131 ----- .../mono-2.0/mono/metadata/object-offsets.h | 306 - .../mono-2.0/mono/metadata/object.h | 415 - .../mono-2.0/mono/metadata/opcodes.h | 81 - .../mono-2.0/mono/metadata/pal-ios.h | 0 .../mono-2.0/mono/metadata/profiler-events.h | 109 - .../mono-2.0/mono/metadata/profiler-legacy.h | 44 - .../mono-2.0/mono/metadata/profiler-private.h | 190 - .../mono-2.0/mono/metadata/profiler.h | 249 - .../mono-2.0/mono/metadata/property-bag.h | 29 - .../ThirdParty/mono-2.0/mono/metadata/rand.h | 38 - .../mono-2.0/mono/metadata/reflection-cache.h | 135 - .../mono/metadata/reflection-internals.h | 140 - .../mono-2.0/mono/metadata/reflection.h | 174 - .../mono-2.0/mono/metadata/remoting.h | 47 - .../mono-2.0/mono/metadata/row-indexes.h | 491 - .../mono-2.0/mono/metadata/runtime.h | 31 - .../mono/metadata/security-core-clr.h | 70 - .../mono-2.0/mono/metadata/security-manager.h | 76 - .../mono-2.0/mono/metadata/security.h | 133 - .../mono-2.0/mono/metadata/seq-points-data.h | 120 - .../mono/metadata/sgen-bridge-internals.h | 78 - .../mono-2.0/mono/metadata/sgen-bridge.h | 110 - .../mono-2.0/mono/metadata/sgen-client-mono.h | 730 -- .../mono-2.0/mono/metadata/sgen-dynarray.h | 347 - .../mono-2.0/mono/metadata/sgen-mono-ilgen.h | 13 - .../mono-2.0/mono/metadata/sgen-mono.h | 20 - .../mono-2.0/mono/metadata/sgen-toggleref.h | 33 - .../mono-2.0/mono/metadata/sre-internals.h | 162 - .../mono-2.0/mono/metadata/string-icalls.h | 43 - .../mono-2.0/mono/metadata/sysmath.h | 82 - .../mono-2.0/mono/metadata/tabledefs.h | 266 - .../mono-2.0/mono/metadata/threadpool-io.h | 31 - .../mono/metadata/threadpool-worker.h | 37 - .../mono-2.0/mono/metadata/threadpool.h | 94 - .../mono-2.0/mono/metadata/threads-types.h | 647 -- .../mono-2.0/mono/metadata/threads.h | 63 - .../mono-2.0/mono/metadata/tokentype.h | 45 - .../mono-2.0/mono/metadata/verify-internals.h | 77 - .../mono-2.0/mono/metadata/verify.h | 66 - .../mono-2.0/mono/metadata/w32error.h | 93 - .../mono-2.0/mono/metadata/w32event.h | 56 - .../mono/metadata/w32file-internals.h | 12 - .../mono/metadata/w32file-unix-glob.h | 74 - .../mono/metadata/w32file-win32-internals.h | 16 - .../mono-2.0/mono/metadata/w32file.h | 503 - .../mono/metadata/w32handle-namespace.h | 31 - .../mono-2.0/mono/metadata/w32handle.h | 189 - .../mono-2.0/mono/metadata/w32mutex.h | 41 - .../mono/metadata/w32process-internals.h | 68 - .../mono/metadata/w32process-unix-internals.h | 62 - .../metadata/w32process-win32-internals.h | 109 - .../mono-2.0/mono/metadata/w32process.h | 211 - .../mono-2.0/mono/metadata/w32semaphore.h | 34 - .../mono/metadata/w32socket-internals.h | 149 - .../mono-2.0/mono/metadata/w32socket.h | 319 - .../mono-2.0/mono/metadata/w32subset.h | 108 - .../mono-2.0/mono/metadata/wrapper-types.h | 35 - .../mono-2.0/mono/utils/mono-counters.h | 103 - .../mono-2.0/mono/utils/mono-dl-fallback.h | 39 - .../mono-2.0/mono/utils/mono-error.h | 89 - .../mono-2.0/mono/utils/mono-forward.h | 13 - .../mono-2.0/mono/utils/mono-logger.h | 31 - .../mono-2.0/mono/utils/mono-publib.h | 201 - .../Bindings/BindingsGenerator.Api.cs | 2 - .../Bindings/BindingsGenerator.CSharp.cs | 74 +- .../Bindings/BindingsGenerator.Cache.cs | 6 +- .../Bindings/BindingsGenerator.Cpp.cs | 84 +- .../Flax.Build/Build/DotNet/Builder.DotNet.cs | 53 - .../Tools/Flax.Build/Build/ProjectTarget.cs | 4 - Source/Tools/Flax.Build/Configuration.cs | 11 - .../Tools/Flax.Build/Utilities/Utilities.cs | 6 +- 250 files changed, 193 insertions(+), 44908 deletions(-) delete mode 100644 Development/Documentation/mono.md delete mode 100644 Source/Engine/Scripting/Internal/ManagedBitArray.h delete mode 100644 Source/Engine/Scripting/Runtime/Mono.cpp delete mode 100644 Source/ThirdParty/mono-2.0/LICENSE delete mode 100644 Source/ThirdParty/mono-2.0/glib.h delete mode 100644 Source/ThirdParty/mono-2.0/mono.Build.cs delete mode 100644 Source/ThirdParty/mono-2.0/mono/cil/opcode.def delete mode 100644 Source/ThirdParty/mono-2.0/mono/jit/jit.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/abi-details.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/appdomain-icalls.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/appdomain.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/assembly-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/assembly.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/attach.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/attrdefs.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/blob.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/callspec.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/cil-coff.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/class-abi-details.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/class-getters.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/class-init.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/class-inlines.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/class-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/class-private-definition.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/class.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/cominterop-win32-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/cominterop.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/console-io.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/console-win32-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/coree-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/coree.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/culture-info-tables.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/culture-info.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/custom-attrs-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/debug-helpers.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/debug-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/debug-mono-ppdb.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/debug-mono-symfile.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/decimal-ms.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/domain-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/dynamic-image-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/dynamic-stream-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/environment-internal.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/environment.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/exception-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/exception.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/external-only.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/fdhandle.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/file-mmap.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/filewatcher.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/gc-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/handle-decl.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/handle.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/icall-decl.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/icall-def-netcore.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/icall-def.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/icall-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/icall-signatures.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/icall-table.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/icall-windows-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/icalls.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/image-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/image.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/jit-icall-reg.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/loaded-images-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/loader-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/loader.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/locales.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/lock-tracer.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/marshal-ilgen.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/marshal-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/marshal-windows-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/marshal.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mempool-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mempool.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/metadata-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/metadata.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/method-builder-ilgen-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/method-builder-ilgen.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/method-builder-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/method-builder.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/monitor.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-basic-block.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-conc-hash.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-config-dirs.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-config-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-config.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-debug.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-endian.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-gc.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-hash-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-hash.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-mlist.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-perfcounters-def.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-perfcounters.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-ptr-array.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-route.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/mono-security-windows-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/normalization-tables.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/null-gc-handles.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/number-formatter.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/number-ms.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/object-forward.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/object-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/object-offsets.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/object.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/opcodes.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/pal-ios.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/profiler-events.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/profiler-legacy.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/profiler-private.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/profiler.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/property-bag.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/rand.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/reflection-cache.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/reflection-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/reflection.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/remoting.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/row-indexes.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/runtime.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/security-core-clr.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/security-manager.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/security.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/seq-points-data.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/sgen-bridge-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/sgen-bridge.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/sgen-client-mono.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/sgen-dynarray.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/sgen-mono-ilgen.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/sgen-mono.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/sgen-toggleref.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/sre-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/string-icalls.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/sysmath.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/tabledefs.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/threadpool-io.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/threadpool-worker.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/threadpool.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/threads-types.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/threads.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/tokentype.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/verify-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/verify.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32error.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32event.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32file-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32file-unix-glob.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32file-win32-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32file.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32handle-namespace.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32handle.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32mutex.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32process-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32process-unix-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32process-win32-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32process.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32semaphore.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32socket-internals.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32socket.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/w32subset.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/metadata/wrapper-types.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/utils/mono-counters.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/utils/mono-dl-fallback.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/utils/mono-error.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/utils/mono-forward.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/utils/mono-logger.h delete mode 100644 Source/ThirdParty/mono-2.0/mono/utils/mono-publib.h diff --git a/Development/Documentation/mono.md b/Development/Documentation/mono.md deleted file mode 100644 index 4a880b7a0..000000000 --- a/Development/Documentation/mono.md +++ /dev/null @@ -1,17 +0,0 @@ -## Mono - -Custom fork: [https://github.com/FlaxEngine/mono](https://github.com/FlaxEngine/mono) with custom features for C# assemblies hot-reloading at runtime without domain unload (more: [https://flaxengine.com/blog/flax-facts-16-scripts-hot-reload/](https://flaxengine.com/blog/flax-facts-16-scripts-hot-reload/)). - -Startup docs about building mono: [https://www.mono-project.com/docs/compiling-mono/](https://www.mono-project.com/docs/compiling-mono/) - -### Notes - -Some useful notes and tips for devs: -* Use `-monolog` to print Mono logs to Flax logs -* When working with mono fork set `localRepoPath` to local repo location in `Source\Tools\Flax.Build\Deps\Dependencies\mono.cs` -* To update mono deps when developing/updating use `.\Development\Scripts\Windows\CallBuildTool.bat -log -ReBuildDeps -verbose -depsToBuild=mono -platform=Windows`, then build engine and run it -* `MONO_GC_DEBUG=check-remset-consistency` - it will do additional checks at each collection to see if there are any missing write barriers -* `MONO_GC_DEBUG=nursery-canaries` - it might catch some buffer overflows in case of problems in code. -* `MONO_GC_DEBUG=:` - will print GC debug to the log file (eg. `4:sgen-gc`). -* Methods `mono_custom_attrs_from_property` and `mono_custom_attrs_get_attr` are internally cached -* If C++ mono call a method in c# that will throw an error, error will be handled but, not completly. Calling relase domain will return random `Access memory violation`. First search for error in c# code. No workaround yet. diff --git a/Flax.flaxproj b/Flax.flaxproj index b93e14df4..23e771811 100644 --- a/Flax.flaxproj +++ b/Flax.flaxproj @@ -4,7 +4,7 @@ "Major": 1, "Minor": 13, "Revision": 0, - "Build": 7003 + "Build": 7004 }, "Company": "Flax", "Copyright": "Copyright (c) 2012-2026 Wojciech Figat. All rights reserved.", @@ -14,7 +14,6 @@ "UseCSharp": true, "UseLargeWorlds": false, "UseReverseZ": true, - "UseDotNet": true, "Windows": { "UseSDL": false, }, diff --git a/Source/Editor/Content/Items/VisualScriptItem.cs b/Source/Editor/Content/Items/VisualScriptItem.cs index 5b2f505d7..5bb29947f 100644 --- a/Source/Editor/Content/Items/VisualScriptItem.cs +++ b/Source/Editor/Content/Items/VisualScriptItem.cs @@ -160,7 +160,7 @@ namespace FlaxEditor.Content } else { - _parameters = Utils.GetEmptyArray(); + _parameters = Array.Empty(); } } @@ -283,9 +283,9 @@ namespace FlaxEditor.Content { if (!_asset) { - _parameters = Utils.GetEmptyArray(); - _methods = Utils.GetEmptyArray(); - _attributes = Utils.GetEmptyArray(); + _parameters = Array.Empty(); + _methods = Array.Empty(); + _attributes = Array.Empty(); return; } if (_parameters != null) @@ -303,7 +303,7 @@ namespace FlaxEditor.Content _parameters[i] = new ScriptMemberInfo(new VisualScriptParameterInfo(this, parameters[i])); } else - _parameters = Utils.GetEmptyArray(); + _parameters = Array.Empty(); // Cache Visual Script methods info var methodsCount = _asset.GetMethodsCount(); @@ -314,7 +314,7 @@ namespace FlaxEditor.Content _methods[i] = new ScriptMemberInfo(new VisualScriptMethodInfo(this, i)); } else - _methods = Utils.GetEmptyArray(); + _methods = Array.Empty(); // Cache Visual Script attributes { @@ -525,7 +525,7 @@ namespace FlaxEditor.Content var baseType = BaseType; if (baseType) return baseType.GetProperties(bindingAttr); - return Utils.GetEmptyArray(); + return Array.Empty(); } /// diff --git a/Source/Editor/Cooker/Steps/DeployDataStep.cpp b/Source/Editor/Cooker/Steps/DeployDataStep.cpp index c0cf2e809..049ae3e36 100644 --- a/Source/Editor/Cooker/Steps/DeployDataStep.cpp +++ b/Source/Editor/Cooker/Steps/DeployDataStep.cpp @@ -30,13 +30,6 @@ bool DeployDataStep::Perform(CookingData& data) Platform::Sleep(10); } FileSystem::CreateDirectory(contentDir); - const String dstMono = data.DataOutputPath / TEXT("Mono"); -#if USE_NETCORE - { - // Remove old Mono files - FileSystem::DeleteDirectory(dstMono); - FileSystem::DeleteFile(data.DataOutputPath / TEXT("MonoPosixHelper.dll")); - } String dstDotnet = data.DataOutputPath / TEXT("Dotnet"); const DotNetAOTModes aotMode = data.Tools->UseAOT(); const bool usAOT = aotMode != DotNetAOTModes::None && aotMode != DotNetAOTModes::NoDotnet; @@ -386,23 +379,6 @@ bool DeployDataStep::Perform(CookingData& data) } } } -#else - if (!FileSystem::DirectoryExists(dstMono)) - { - // Deploy Mono files (from platform data folder) - const String srcMono = depsRoot / TEXT("Mono"); - if (!FileSystem::DirectoryExists(srcMono)) - { - data.Error(TEXT("Missing Mono runtime data files.")); - return true; - } - if (FileSystem::CopyDirectory(dstMono, srcMono)) - { - data.Error(TEXT("Failed to copy Mono runtime data files.")); - return true; - } - } -#endif // Deploy engine data for the target platform if (data.Tools->OnDeployBinaries(data)) diff --git a/Source/Editor/CustomEditors/CustomEditorsUtil.cpp b/Source/Editor/CustomEditors/CustomEditorsUtil.cpp index 3549cb866..03b9269e1 100644 --- a/Source/Editor/CustomEditors/CustomEditorsUtil.cpp +++ b/Source/Editor/CustomEditors/CustomEditorsUtil.cpp @@ -52,16 +52,15 @@ void OnAssemblyLoaded(MAssembly* assembly); void OnAssemblyUnloading(MAssembly* assembly); void OnBinaryModuleLoaded(BinaryModule* module); -MTypeObject* CustomEditorsUtil::GetCustomEditor(MTypeObject* refType) +MType* CustomEditorsUtil::GetCustomEditor(MType* type) { - if (!refType) + if (!type) return nullptr; - MType* type = INTERNAL_TYPE_OBJECT_GET(refType); Entry result; if (Cache.TryGet(type, result)) { if (result.CustomEditorType) - return INTERNAL_TYPE_GET_OBJECT(result.CustomEditorType); + return result.CustomEditorType; MClass* editor = result.CustomEditor ? result.CustomEditor : result.DefaultEditor; if (editor) return MUtils::GetType(editor); @@ -127,12 +126,8 @@ void OnAssemblyLoaded(MAssembly* assembly) continue; // Check if attribute references a valid class - MTypeObject* refType = nullptr; - customEditorTypeField->GetValue(attribute, &refType); - if (refType == nullptr) - continue; - - MType* type = INTERNAL_TYPE_OBJECT_GET(refType); + MType* type = nullptr; + customEditorTypeField->GetValue(attribute, &type); if (type == nullptr) continue; MClass* typeClass = MCore::Type::GetClass(type); diff --git a/Source/Editor/CustomEditors/CustomEditorsUtil.h b/Source/Editor/CustomEditors/CustomEditorsUtil.h index 4ac7b1fe3..4be5c2b96 100644 --- a/Source/Editor/CustomEditors/CustomEditorsUtil.h +++ b/Source/Editor/CustomEditors/CustomEditorsUtil.h @@ -12,6 +12,6 @@ class CustomEditorsUtil public: #if USE_CSHARP - static MTypeObject* GetCustomEditor(MTypeObject* refType); + static MType* GetCustomEditor(MType* type); #endif }; diff --git a/Source/Editor/CustomEditors/Editors/TagEditor.cs b/Source/Editor/CustomEditors/Editors/TagEditor.cs index 60639a8cb..c797b7409 100644 --- a/Source/Editor/CustomEditors/Editors/TagEditor.cs +++ b/Source/Editor/CustomEditors/Editors/TagEditor.cs @@ -679,7 +679,7 @@ namespace FlaxEditor.CustomEditors.Editors return asArray; if (Values[0] is List asList) return asList.ToArray(); - return Utils.GetEmptyArray(); + return Array.Empty(); } set { diff --git a/Source/Editor/GUI/Drag/DragActorType.cs b/Source/Editor/GUI/Drag/DragActorType.cs index ff8c58ddc..4aae19bd1 100644 --- a/Source/Editor/GUI/Drag/DragActorType.cs +++ b/Source/Editor/GUI/Drag/DragActorType.cs @@ -103,7 +103,7 @@ namespace FlaxEditor.GUI.Drag return results; } } - return Utils.GetEmptyArray(); + return Array.Empty(); } } } diff --git a/Source/Editor/GUI/Drag/DragControlType.cs b/Source/Editor/GUI/Drag/DragControlType.cs index d1286053c..76786978a 100644 --- a/Source/Editor/GUI/Drag/DragControlType.cs +++ b/Source/Editor/GUI/Drag/DragControlType.cs @@ -101,7 +101,7 @@ public class DragControlType : DragHelper where U : DragEventA return results; } } - return Utils.GetEmptyArray(); + return Array.Empty(); } } diff --git a/Source/Editor/GUI/Drag/DragScripts.cs b/Source/Editor/GUI/Drag/DragScripts.cs index 3e9024b1e..dfc7ebb2c 100644 --- a/Source/Editor/GUI/Drag/DragScripts.cs +++ b/Source/Editor/GUI/Drag/DragScripts.cs @@ -103,7 +103,7 @@ namespace FlaxEditor.GUI.Drag return results.ToArray(); } } - return Utils.GetEmptyArray