SDG Blog

"Remember to put a witty tagline here!" – 2020 winter edition.

Unturned II Devlog #025

Mostly boring changes. Planning to work on fun stuff for #026!

This post also coincided with:

Multi-world Rendering

In 3.0 the item thumbnails are captured far away in the skybox, and are unfortunately affected by the global lighting conditions. Up until this update, 4.0 worked the same way, and in fact you could see the captures occurring at the origin point in the CQC map.

3D item previews (item > inspect) as well as the thumbnails are now rendered in their own separate pocket universes with their own lighting! I'm happy and excited to have gotten this working, though it's a bit hacked-together because Unreal does not officially support using multiple worlds at runtime.

Server Browser

A rudimentary version of the Steam server browser is now in-game. Unreal makes this fairly easy to do, but having worked with the Steam APIs so much in the past I really wanted to wrap my head around what's going on under the hood of the online subsystems.

One nice improvement compared to 3.0 is that the server list is virtualized, so the performance impact is minimal. Interestingly Unreal's implementation queries the server rules as results arrive, so theoretically in the future we can have even more listing customization than before.

More notes about some of the quirks hosting at the moment can be found here:

Dev-wise, there's a variety of conflicting information on where to implement session functionality e.g. ShooterGame does it mostly in GameInstance and GameSession, but for now I've done the client-side in OnlineSessionClient and server-side in GameSession.


Network and travel (map loading) failures now have a notification on the main menu describing the issue, and this notification has been designed for future cases like major update details. Related to this, the connection timeout has been reduced and red timeout information now shows in the HUD similar to 3.0.

Weapon Changes

Several miscellaneous changes and cleanup to weapons and the ballistics components were made, but nothing that should be noticeable. Trails should now properly start from the muzzle, whereas previously there were a few bugs. One major change is to how shots are replicated which should keep predictions more consistent between clients.

Animation Performance

In the previous devlog I mentioned using the significance manager for animation performance on the Firing Range map. Since then it's come to my attention that Unreal has a replacement recommended for animations, the anim budgeting system. I switched the targets over to that, but ran into some crashes in the shipping version, so temporarily the animation optimizations are disabled.