Full notes
Full BROKE PROTOCOL update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Performance
- Server
- Gameplay
- UI and audio
- Fixes
The Optimization Update Release
The Optimization update releases today and it’s more than just a code cleanup. There are very powerful new features for map and mod authors, server customization, new effects, and support for virtually unlimited map sizes. Let’s cover how these new features will affect the future of Broke Protocol and modding.
Client Level Streaming
Client level streaming has finally been added to Broke Protocol. This is the feature in most open-world games that loads and unload parts of the level based on distance. This is all done automatically to save memory on lower end devices but as a bonus it means that map authors can create absolutely gargantuan maps without concern for memory or rendering limitations even on mobile.
Full UI and HUD Modding
HUD and full UI modding is now here. Previously missing UI assets are now in the BPResources modding package so modders can create, style, and customize any part of the UI and even the HUD now. You can even add your own elements for scripting with the server Interface API. There’s been API updates and fixes for Element lookups and Cursor handling too if you check the API changes below.
Destructible Effects
Some new Effects have been added that can be modded as well. Destructible objects can now spawn any kind of gameobject or particle system when they break. There are some built in effects for selection but these can be fully modded with custom assets and particle systems. Another step in making the world feel more reactive.
Other Updates
Tons of other fixes and improvements made it in for this release. You’ll find AI improvements, World Builder fixes, Thai Language rendering corrected, and a lot more.
Here’s the full Optimization Update changelog:
v1.42 Optimization Update Changelog
Game Changes:
Client-side level streaming added (based on Render Distance)
New Destroy Effects added for modding
Destroy effects added to light poles and fire hydrants
Fully moddable HUD added to BPResources
Thai language rendering fix
Sync permissions to clients when groups file changes
Optimized game memory usage
Improved logging for failure to find UI Elements
Fixed some Input limitations when Cursor is active, etc.
Laser behavior changed (WIP)
Attempt to fix a UI element loading error with Android AssetBundles
Fix for broken Action Menus requiring Disconnect/Rejoin
All NPCs can be knocked out and will recover after a while
Fixed broken AI when chasing airborne targets
Improved player ground detection and physics on some surfaces
Catch a client error related to Deformable components
Cloud positions now randomized
Added static camera limits due to culling
More unified Asset snapshot preview lighting for built-in and custom assets
World Builder fix for events and other string data getting lost
World Builder fix when adding prefabs with ‘Select Object’ active
World Builder fixes for item selection and spawning
Fix for strange item bounds in asset snapshots (thumbnails)
Fix RegisterMenu sometimes showing stale data
Fixed UI QuerySelector to work on paths with mixed types
Voice Chat library updated and rebuilt with better settings
Updated game engine and packages
Fixed missing face on stair mesh
More UI modding capabilities (see API changes)
API Changes
Default menus will try to clone Custom UIs with the same UXML name if available
svPlayer.VisualElementCursorVisibility(string elementName)
Binds cursor visibility to a VisualElement
Disables Cursor automatically when element destroyed
SvPlayer.randomSpawn moved to GameSourceEntity type
EntityCollections.RandomNPC returns any NPC now, not just randomSpawns
Added SvPlayer.ResetPath() to clear pathing data
Added SvPlayer.LookTarget() for aiming/shooting at target separate from movement
SvManager.Instance.AddNewEntityExisting(..)
respawnable parameter no longer optional
SvPlayer.PlayerData removed
Use SvPlayer.CustomData directly
Sector -> NetSector
sectorRange -> netSectorRange
visibleRange -> netVisibleRange
visibleRangeSqr -> netVisibleRangeSqr
manhattanRange -> netPerpendicularRange
Some Sector methods removed
Reimplemented in GameSource where needed
API Changes See you!
-Benz
Source
Changelog.gg summarizes and formats this update. How we read updates.
