UnityCsReference
.NET Runtime
Our great sponsors
UnityCsReference | .NET Runtime | |
---|---|---|
58 | 607 | |
11,389 | 14,091 | |
1.5% | 2.5% | |
7.4 | 10.0 | |
3 days ago | 2 days ago | |
C# | C# | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
UnityCsReference
-
Anyone know what Unity's Matrix4x4 looks like internally?
I've checked their CS reference code on their Github, both here and here, but I want to dive a little deeper - specifically, I want to know what they're actually doing when determining validity of the Matrix4x4.
-
Torn between chossing Unity & C# or going UE5 and C++. What made you choose unity?
Yep, but beyond just decompiling it, the c# layer of code is on GitHub: https://github.com/Unity-Technologies/UnityCsReference
- 2 minutes of silence for those who bought RTX 3070 and RTX 3070Ti
-
Do you use System.Object.ReferenceEquals() ?
https://github.com/Unity-Technologies/UnityCsReference/blob/master/Runtime/Export/Scripting/UnityEngineObject.bindings.cs (after 2019.1)
-
Custom method attribute for Animation Event Functions
The code where the method filtering for the Animation Event Inspector is done, is here (line 190). Is it possible to do something like this? That repository explicitly says:
- Can’t find operation
-
Bounds.Encapsulate precision loss?
No reason, you can look at the source of encapsulate
-
Modify Project Setting's "Default Quality Level" by script
There isn't really a straight forward way to do this, even the QualitySettings editor uses Serialised Properties to get at the data. (Line 343 in QualitySettingsEditor)
-
Has any indie dev got (read-only) access to Unity source? How much did it cost?
This is awesome, thank you! I'm most curious about their Runtime
-
Is C++ still the language when entering 3D programming in 2023?
I think if you want to get into graphics programming you do want to work with OpenGL and similar things, because at the very least you need to understand it all (and decide what parts of engines to use and what to ignore when you get to whole games). It's also worth saying that while you can only publicly get the references in Unity you do get source access at the higher subscription tiers you'd use at a game studio.
.NET Runtime
-
The software industry rapidly convergng on 3 languages: Go, Rust, and JavaScript
These can also be passed as arguments to `dotnet publish` if necessary.
Reference:
- https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...
- https://github.com/dotnet/runtime/blob/main/src/coreclr/nati...
- https://github.com/dotnet/runtime/blob/5b4e770daa190ce69f402... (full list of recognized keys for IlcInstructionSet)
-
The Performance Impact of C++'s `final` Keyword
Yes, that is true. I'm not sure about JVM implementation details but the reason the comment says "virtual and interface" calls is to outline the difference. Virtual calls in .NET are sufficiently close[0] to virtual calls in C++. Interface calls, however, are coded differently[1].
Also you are correct - virtual calls are not terribly expensive, but they encroach on ever limited* CPU resources like indirect jump and load predictors and, as noted in parent comments, block inlining, which is highly undesirable for small and frequently called methods, particularly when they are in a loop.
* through great effort of our industry to take back whatever performance wins each generation brings with even more abstractions that fail to improve our productivity
[0] https://github.com/dotnet/coreclr/blob/4895a06c/src/vm/amd64...
[1] https://github.com/dotnet/runtime/blob/main/docs/design/core... (mind you, the text was initially written 18 ago, wow)
-
Java 23: The New Features Are Officially Announced
If you care about portable SIMD and performance, you may want to save yourself trouble and skip to C# instead, it also has an extensive guide to using it: https://github.com/dotnet/runtime/blob/69110bfdcf5590db1d32c...
CoreLib and many new libraries are using it heavily to match performance of manually intensified C++ code.
-
Locally test and validate your Renovate configuration files
DEBUG: packageFiles with updates (repository=local) "config": { "nuget": [ { "deps": [ { "datasource": "nuget", "depType": "nuget", "depName": "Microsoft.Extensions.Hosting", "currentValue": "7.0.0", "updates": [ { "bucket": "non-major", "newVersion": "7.0.1", "newValue": "7.0.1", "releaseTimestamp": "2023-02-14T13:21:52.713Z", "newMajor": 7, "newMinor": 0, "updateType": "patch", "branchName": "renovate/dotnet-monorepo" }, { "bucket": "major", "newVersion": "8.0.0", "newValue": "8.0.0", "releaseTimestamp": "2023-11-14T13:23:17.653Z", "newMajor": 8, "newMinor": 0, "updateType": "major", "branchName": "renovate/major-dotnet-monorepo" } ], "packageName": "Microsoft.Extensions.Hosting", "versioning": "nuget", "warnings": [], "sourceUrl": "https://github.com/dotnet/runtime", "registryUrl": "https://api.nuget.org/v3/index.json", "homepage": "https://dot.net/", "currentVersion": "7.0.0", "isSingleVersion": true, "fixedVersion": "7.0.0" } ], "packageFile": "RenovateDemo.csproj" } ] }
-
Chrome Feature: ZSTD Content-Encoding
https://github.com/dotnet/runtime/issues/59591
Support zstd Content-Encoding:
- Writing x86 SIMD using x86inc.asm (2017)
-
Why choose async/await over threads?
We might not be that far away already. There is this issue[1] on Github, where Microsoft and the community discuss some significant changes.
There is still a lot of questions unanswered, but initial tests look promising.
Ref: https://github.com/dotnet/runtime/issues/94620
-
Redis License Changed
https://github.com/dotnet/dotnet exists for source build that stitches together SDK, Roslyn, runtime and other dependencies. A lot of them can be built and used individually, which is what contributors usually do. For example, you can clone and build https://github.com/dotnet/runtime and use the produced artifacts to execute .NET assemblies or build .NET binaries.
-
Garnet – A new remote cache-store from Microsoft Research
Yeah, it kind of is. There are quite a few of experiments that are conducted to see if they show promise in the prototype form and then are taken further for proper integration if they do.
Unfortunately, object stack allocation was not one of them even though DOTNET_JitObjectStackAllocation configuration knob exists today, enabling it makes zero impact as it almost never kicks in. By the end of the experiment[0], it was concluded that before investing effort in this kind of feature becomes profitable given how a lot of C# code is written, there are many other lower hanging fruits.
To contrast this, in continuation to green threads experiment, a runtime handled tasks experiment[1] which moves async state machine handling from IL emitted by Roslyn to special-cased methods and then handling purely in runtime code has been a massive success and is now being worked on to be integrated in one of the future version of .NET (hopefully 10?)
[0] https://github.com/dotnet/runtime/issues/11192
[1] https://github.com/dotnet/runtimelab/blob/feature/async2-exp...
-
Common Sorting Algorithms in C# - From My Experience
Orderby Linq Code Reference
What are some alternatives?
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
Ryujinx - Experimental Nintendo Switch Emulator written in C#
ILSpy - .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Raylib-CsLo - autogen bindings to Raylib 4.x and convenience wrappers on top. Requires use of `unsafe`
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
tinyraycaster - 486 lines of C++: old-school FPS in a weekend
WASI - WebAssembly System Interface
astc-encoder - The Arm ASTC Encoder, a compressor for the Adaptive Scalable Texture Compression data format.
CoreCLR - CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.
oqtane.framework - CMS & Application Framework for Blazor & .NET MAUI
vgpu_unlock - Unlock vGPU functionality for consumer grade GPUs.