-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
150 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
--- | ||
slug: october-2024 | ||
title: "Oct: Unreal Engine 5.4 & Loadings!" | ||
authors: gtnardy | ||
tags: [updates] | ||
image: /img/blog/2022-october/october-news.webp | ||
--- | ||
|
||
import { Classes, UtilityClasses, MediaLegend, ReferenceLink } from '@site/src/components/_nanos'; | ||
|
||
|
||
**Unreal Engine 5.4 & Loadings!** | ||
|
||
![](/img/blog/2022-october/october-news.webp) | ||
|
||
Welcome to our roundup of the latest updates from the last months! | ||
|
||
<!--truncate--> | ||
|
||
|
||
## Unreal Engine 5.4 | ||
|
||
![](/img/blog/2024-october/ue54.webp) | ||
|
||
We're excited to announce an upgrade to Unreal Engine 5.4! This update brings numerous quality-of-life improvements that enhance our development experience. For a detailed look, check out the complete Unreal Engine 5.4 changelog [here](https://www.unrealengine.com/en-US/blog/unreal-engine-5-4-is-now-available). | ||
|
||
|
||
## Loading Improvements | ||
|
||
![](/img/blog/2024-october/loading-screen.webp) | ||
|
||
We've made significant enhancements to our loading screen subsystem: | ||
|
||
|
||
### Faster Maps Loading | ||
|
||
Entering servers with large levels is now much quicker! We've optimized the loading stage which was doing some work twice and also introduced pre-loading for commonly used assets, which reduces stuttering during gameplay. | ||
|
||
|
||
### Reconnect Logic | ||
|
||
A new system has been implemented to reattempt connecting if a file fails to download. Additionally, the client will also reconnect if the server reloads packages during the loading screen, resolving scripting desynchronization issues. | ||
|
||
|
||
## Assets Validation Async | ||
|
||
![](/img/blog/2024-october/validating-assets.webp) | ||
|
||
Our local Assets Validator has received a major overhaul getting advantage of multi-core processors. Now all asset files are split between all core threads and processed in parallel, greatly improving the Asset Packs loading times. | ||
|
||
In our internal tests, an Asset Pack with ±130.000 files (±50 GB), on an i9 14th gen processor, we saw incredible improvements: | ||
|
||
:::info Note | ||
|
||
The following times are meant to be used as comparison with the other times in the same processor/Asset pack, giving a sense of magnitude of improvement and not absolute times. | ||
|
||
::: | ||
|
||
Before, loading this asset pack for the first time in a *cold read¹* was taking almost 4 minutes and 15 seconds to complete. Now it takes just ±35 seconds. | ||
|
||
In a *warm read²*, it took ±75 seconds, and not takes just ±7 seconds. | ||
|
||
And putting together with our internal cache system, reading this Asset Pack (after it was cached by us), it was taking ±10 seconds, and now it takes less than ±4 seconds. | ||
|
||
We got almost 10x speed boost in a multi-core processor reading Assets Packs for the first time, and almost 2x when reading it after it was cached. | ||
|
||
| Load | Before | After | Speed Change | | ||
| :--- | :--- | :--- | :--- | | ||
| **Full Cold** | `4m 15s` | `35s` | 7x faster | | ||
| **Full Warm** | `1m 15s` | `7s` | 10x faster | | ||
| **Cached** | `10s` | `4s` | 2.5x faster | | ||
|
||
*¹ **Cold Read**: the files were not read before by the processor during since the OS was started.*<br/> | ||
*² **Warm Read**: the files were already read by the processor during this OS startup, and are now cached by the OS, increasing the next read times.* | ||
|
||
:::info Note | ||
|
||
Results vary based on processor specifications and thread counts. | ||
|
||
::: | ||
|
||
|
||
## Testing Map Water | ||
|
||
![](/img/blog/2024-october/water.webp) | ||
|
||
The Testing Map Ocean is back! | ||
|
||
We've resolved the issue that prevented water from appearing, allowing you to dive in once again. 🌊 | ||
|
||
|
||
## Network Authority Debug | ||
|
||
![](/img/blog/2024-october/debug-name.webp) | ||
|
||
We've enhanced the World Network Debug by adding the ID and Class Name of nearby entities, making debugging much easier. | ||
|
||
|
||
## Events.UnsubscribeRemote | ||
|
||
We've introduced a new method [Events.UnsubscribeRemote()](https://docs.nanos.world/docs/next/scripting-reference/static-classes/events#static-function-unsubscriberemote) to unsubscribe from remote events. | ||
|
||
This way the use of [Events.Unsubscribe()](https://docs.nanos.world/docs/next/scripting-reference/static-classes/events#static-function-unsubscribe) is now limited to local events only, getting in accordance with the `Events.Subscribe()` and `Events.SubscribRemote()` methods names. | ||
|
||
Make sure to update your package's `compatibility_version` to [1.65.0](https://docs.nanos.world/docs/next/core-concepts/packages/compatibility-versions#version-165) to use this new functionality. | ||
|
||
|
||
## 64bit Hash | ||
|
||
All internal hashing operations have been upgraded to 64 bits, significantly reducing the likelihood of hash collisions when dealing with hundreds of thousands assets from huge asset packs. | ||
|
||
|
||
## Console.Error & Warn Stack | ||
|
||
Now when using `Console.Warn()` or `Console.Error()`, the console will output the stack trace of the scripting call, making it easier to identify the source of warnings and errors: | ||
|
||
![](/img/blog/2024-october/consolewarn.jpg) | ||
|
||
```lua title="testing/Server/Index.lua" | ||
function MyError() | ||
Console.Error("error from scripting") | ||
end | ||
|
||
MyError() | ||
``` | ||
|
||
|
||
## New Anti-Aliasing Settings | ||
|
||
We've added new anti-aliasing options in the settings. You can now choose between disabling it or using Unreal's native Temporal AA (**TAA**), **FXAA**, or Temporal Super Resolution (**TSR**): | ||
|
||
![](/img/blog/2024-october/aa.webp) | ||
|
||
|
||
## Updated Dependencies | ||
|
||
We continue updating our internal dependencies to always be up-to-date with the latest bug fixes and security patches: | ||
|
||
- **CEF**: Version 130. | ||
- **DLSS**: Latest version 3.7.20. | ||
- **Lua**: Latest version 5.4.7. | ||
- **Ultra Dynamic Sky**: Latest version 8.4 (if you use it on your map, make sure to update yours too so your map won't crash). | ||
- Various other internal libraries (e.g. zip, toml, openssl and more). | ||
|
||
|
||
## Conclusion | ||
|
||
Hey everyone! We've got some important and needed updates since last news blog, but I know things have been a bit slower recently. Some personal factors have contributed to this, but I want to reassure you that the development is still moving forward and far from being halted. I'm always on the lookout for new ideas and have some exciting plans to bring more updates and improvements to nanos world! | ||
|
||
I really really appreciate your patience and support during this time. I'm excited about what's ahead and can't wait to share more updates with you soon! Thanks for being such an awesome part of our community! |
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.