Hytale Update 7 Part 3 Pre-Release: Debug Overlay Rebuild, Unlimited Portal Worlds & Leaner Server Saves
The Update 7 Part 3 pre-release has landed in Hytale. Following Part 1's Chapter 1 content wave, this one is a polish, modding and server-health update: portal worlds that never close, dramatically leaner world saves, a fully rebuilt debug overlay, and a long list of player-facing fixes across combat, audio, graphics, localization and stability.
A huge thank you to community members tssan1ty, NoctuaAstrum and Fullavatar for the fixes, features, and polish they've brought to this update. Community contributions make Hytale better for everyone.
Below is a condensed but thorough walkthrough of what changed. The full official changelog is worth reading for every last detail, especially the modder-facing schema and protocol changes.
🌀 World & Blocks
- Portal worlds can now remain open without a time limit. Until now a portal world was always racing a countdown — now it can simply persist, which changes how you build hub worlds, quest areas and long-session adventure maps.
- Saved worlds take up less disk space than before. Existing worlds upgrade themselves automatically the first time they load, so you don't need to do anything.
- Improved how servers compress world data as it's saved, which lowers memory use on busy servers.
🧠 NPCs & Entities
- Some creatures must now be defeated in combat before you gain their Memories. Memories are no longer purely a proximity reward — for these mobs you have to earn them.
- Feastmasters now animate climbing, swimming, diving, flying, spawning and sleeping.
- The Skeleton Elite's Flowing Slashes attack now moves faster, and the Skeleton Elite has been given a new set of sounds.
🗡️ Items & Interactions
- Explosive Barrels are now thrown with the primary input — left click by default.
- Runes have been renamed so it's immediately clear whether a rune is an Ability Rune or a Modifier Rune.
- The Scrap Glider model has been reworked and its idle animation updated.
- Windwillow Fruits have had their particles reworked.
- The Scrap Drill's description has been updated.
💬 Commands
/kit ironand/kit adamantitenow include food and health potions matching their tier. Neither kit grants longswords, one-handed axes, clubs, spears or staves — useful to know if you hand out kits on a server.
🖥️ UI & Quality of Life
- The debug overlay (F7, pressed twice) has been rebuilt. Panels can now be individually moved, resized or hidden, and you can build custom layouts and switch between them. For anyone debugging worlds or chasing performance problems, this is the standout quality-of-life change of the update.
- The 'Return to Crossroads' button in Creative Worlds has been moved.
🔊 Audio
- The Goblin Burner's flamethrower now plays overheating and reloading sounds.
- Skeleton Elite attacks now have appropriate sounds and footstep playback.
⚡ Performance
- Saved worlds take up less disk space, with automatic upgrade on first load.
- World data compression on save has been improved, lowering memory use on busy servers — a direct win for anyone running populated Hytale worlds.
🏷️ Naming & Categorization
- 'Web Rope' is now 'Spiderweb Rope'.
- 'Spider Web - Diagonal' is now 'Spiderweb Rope - Diagonal'.
- 'Large Kenolite Stalactite' is now 'Kenolite Stalactite - Large'.
🛠️ Player-Facing Bug Fixes
Movement & Combat
- Updated the Ground Slam ability so it can now be used with Battleaxes.
- Additional height can no longer be gained by repeatedly jumping with the Scrap Glider.
World & Blocks
- Environmental damaging effects have decided pacifism isn't for them and will once again deal damage.
- Other worlds accessed through Portal Devices now adhere to the world settings chosen when the original world was created — including fall damage and PvP rules. A big correctness fix for portal hubs and connected-world setups.
Items & Interactions
- The Stamina Potion cooldown no longer appears as a debuff.
- The Root Wand and Stoneskin Wand now fire beams from the correct position.
NPCs & Entities
- NPCs now successfully find solid ground in worlds where terrain sits outside the old fixed height range.
- Inter-species relations have broken down: large predators now attack spiders on sight.
- Goblins have gotten better at running from Void-aligned creatures.
UI & Quality of Life
- Play Sound settings on Trigger Volumes now show proper Volume and Pitch labels rather than raw text ids.
- Choosing a layout, layout hotkey or a panel to show in the debug overlay now takes effect right away.
- Fixed a number of typographical errors.
Graphics & Rendering
- Beam effects no longer cause blocks and items to briefly display the wrong texture.
- Particle effects and trails now appear in the correct positions on entities with block models.
- Fixed an issue where missing or wrong textures could occur on worlds with a lot of custom content due to the texture atlas being full.
Audio
- Sounds played by Trigger Volumes no longer play far louder than intended.
- Looping music and ambience fades no longer stall just before the loop point.
Performance, Localization & Stability
- Fixed a freeze that could occur when someone joined a brand new world.
- Hytale no longer falls back to English when your system language includes a regional variant, such as French (Canada).
- Longer words in other languages no longer cause rendering issues for the 'Installed Mods' button in the Mod Browser.
- Fixed sign-in failing on macOS when Hytale was launched from Finder, Spotlight or Apple Games.
- Fixed a crash on Windows when antivirus software interrupted a world being saved.
- Fixed a crash that could occur with an incorrect or oversized invite code.
- Fixed a client memory leak when joining a world, and a memory leak after a world map had been drawn.
- Fixed a temporary freeze of up to two seconds when leaving or cancelling a peer-to-peer session.
- Fixed a retried join failing to use a router that another connection attempt had already found.
- Fixed a random crash on the main menu or inventory screens on computers with integrated Intel graphics.
⚙️ Modder-Facing Changes
NPCs & Entities
- Roles can now hand out their Memory on death rather than on approach.
MemoriesUnlockedBytakesProximity(the default) orKill, andMemoriesKillRangesets how far a player can be and still be recorded. A Variant role needs its referenced template to declare both, the same asIsMemory.
Items & Interactions
- The
blockymodelfiles for most food items were rebuilt to drive the new eating animations. Custom animations that reference the old node names may break. - Explosions can now define the damage cause. A new
EntityDamageCausefield onExplosionConfigsets the damage cause applied to entities in range, falling back toEnvironmentwhen left out.
Blocks & Prefabs
- Blocks can now show their own name and item description in game without being broken first. Put the following under the block's
Useinteraction to read both from the block item'sTranslationProperties:
"Page": { "Id": "BlockLore" }
- The
BlockLorepage takes an optionalTextAlignmentkey ofLeft,CenterorRight. It defaults toCenter. A block with no description opens nothing.
Asset Schemas & Formats
- Trigger volume PlaySound effects now use decibels and semitones.
VolumeDbruns from -100 to 0 andPitchSemitonesfrom -60 to 12, replacing the old linearVolumeandPitch. The old keys still load from existing JSON but no longer appear as rows in the trigger volume editor. Volume is capped at 0 dB, so a trigger can only quiet a sound, never boost it — to make something louder, raise the volume on the sound event itself. - Audio timing now speaks one vocabulary, and the old spellings no longer decode.
StateTransition.DurationMs: 2000becomesDuration: { "Ms": 2000 },AudioState.DefaultSyncTo: "NextBar"becomesDefaultSyncTo: { "Point": "NextBar" }, andMusicTransition.FadeOutDuration,FadeOutDelayandFadeInDurationeach take an object instead of a number of seconds. - World map markers can be drawn larger. A new
IconSizeon block and objective marker configs takesDefaultorMajor;Majorrenders at 64 pixels with a matching hitbox and text offset. Markers that leave it out keep the standard size. - Encounter asset files must now declare the top-level
Classkey. Role files can still leave it out and fall back toRole. - Removed
BreachAtSecondsfrom the portalVoidEventconfig inGameplayConfigs/Portal.json. TheStageslist now drives the whole escalation on its own. - ModelVFX assets now inherit every field from their parent.
ModelVFX.CODECusesappendInheritedthroughout, so pointing an asset at a parent no longer leaves most of its values unset. - The particle asset documentation reads properly on the docs site now:
Particle,ParticleSpawner,ParticleAttractor,ParticleCollision,ParticleSystemandParticleAnimationFramehad their doc text reflowed for Fumadocs, and the spawner shape wording is clearer. - Custom UI pages can now reuse the runic console chrome.
Common.uigained a@RunicPanelgroup plus the@RunicTitleStyle,@RunicHeadlineStyleand@RunicBodyStyletext styles, and the title style shrinks to fit down to 12px. - Portal worlds can now be authored with no time limit at all —
PortalTypeandPortalKeyaccept a portal without a duration. - Custom content that overflows a texture atlas now falls back to the missing texture and logs a warning instead of vanishing without a word. Atlases also pack across several pages, up to 16 for the block atlas and 4 for the others.
- Spawn points placed below Y 0 now stay where you put them, because
FitToHeightMaponly fits a point whose Y isInteger.MIN_VALUErather than any negative Y.
Server & Permissions
- Added a
/chunk heightcommand that dumps a column's heightmap for debugging./chunk fixheightalso rebuilds the column into a fresh backend now, so a stored height that sat too high can finally be corrected instead of only ever being raised. - Command coordinates written with the
_height flag now answer with a chunk-not-loaded message when the column is not in memory, rather than force loading it on the world thread.
Renames & Deprecations
- Renamed the portal curse surface to ephemeral items:
AdventureMetadatanow carries the ephemeral flag,CursedItemsbecameEphemeralItems, and/cursethisis now/ephemeral. - The Void Spectre's attack interactions were renamed to match what they do:
Void_Spectre_Attackis nowVoid_Spectre_Charge,Void_Spectre_Attack_Damageis nowVoid_Spectre_Charge_Damage, and the root interaction is nowRoot_NPC_Void_Spectre_Charge.
Protocol & Networking
- Environments now stream one chunk section at a time.
SetChunkEnvironmentsis keyed to section coordinates and carries a single section payload, andSetColumnno longer carries environments at all. Clients and servers have to be on matching protocol versions. - Replaced the two-way
AssetEditorUpdateAssetPackpacket withAssetEditorAssetPackUpdatedfrom the server andAssetEditorUpdateAssetPackManifestfrom the client.AssetEditorAssetPackSetupnow maps pack ids to anAssetPackcarrying the manifest along withIsReadOnlyandCanBeDeleted, rather than to anAssetPackManifest.
🔌 For Plugin Developers
- Cubic worlds now use a new tree heightmap, and BlockSection blobs moved to version 7. Older servers cannot read those blobs — a world loaded on this version cannot be opened on an older one. Back up before you upgrade.
- Plugins can now build entity hierarchies in the ECS store — creating parent and child entities, reparenting them, and iterating a parent's children. Systems process root entities by default, and overriding
getHierarchyScope()lets a system take in children or handle only parents. - Plugins can block players from opening Debug Screens. Adding
PreventDebugScreens.INSTANCEto a player entity blocks the ToggleDebugScreens keybind (F7 by default) and closes any debug screen already open; removing it gives the screens back. The component is runtime only and does not persist across a reload. - Noesis pages can now shrink text that would otherwise be cut off. The new
hy:ShrinkTextToFitdecorator scales its child down toMinFontSize, 10 by default. It never writesFontSize, so styles and triggers keep working. The wrapper needs a finite width, so it does not shrink inside a horizontal StackPanel, and wrapping children are not supported.
🐞 Modder-Facing Bug Fixes
World Generation
- Fixed SmoothClamp Density not reading its input.
- Fixed the Offset Pattern node editor schema to use the proper node type for the Offset vector.
NPCs & Entities
- NPC charge motions use distance based ramps now. Four shipped templates moved off the obsolete
ChargeAccelerationontoChargeAccelerationDistanceandChargeDecelerationDistance, which also clears the obsolete key warnings they were logging. - Reworked
Component_Instruction_Goblin_Flee_Voidso fleeing runs off attitudes instead of an NPC group query. It now swaps to a new threat mid-flee and has a.Waitstate that turns the Goblin back with animations.
Items & Interactions
- Fixed a crash when adding an entry to
OnHitEffectson anItemAbility. An empty entry used to throw aNullPointerExceptionin the asset editor and on the server, and validation now rejects it instead.
Asset Schema & Formats
- Instances can now take the world settings a player chose for the parent world. Set
InheritWorldSettingstotrueunderPlugin.Instancein the instance config, which the Portals instances now do.
Server & Permissions
- Bans and kicks now close every connection an account has open, including Asset Editor connections that previously remained connected.
For Plugin Developers
- Fixed an out-of-bounds read in
RawJsonReader, where a one-char wide read near the end of the buffer could run up to three chars past it. The reader now goes throughMemorySegment, and the protectedreadStringPartAsLongUnsafeis calledreadStringPartAsLongWide. - Chunk saves now borrow their scratch buffers from a bounded direct buffer pool instead of allocating a fresh one per save, which is what stops busy servers from running past the direct memory limit.
readSegmentskeeps its signature, but the buffer it returns is pooled, so a caller must not hold on to it after the read finishes. - A boss bar name set through
SetEncounterBossBarnow renders text markup such as<s>and<color>instead of printing the tags. Markup applies to translated names only, so a raw display name from the tracked entity stays literal. - Kill feed entries now honor
Message.strikethrough,.color,.bold,.italicand.underlinedonKillFeedEvent.KillerMessageandKillFeedEvent.DecedentMessage, with markup tags working whenMarkupEnabledis set. - Renamed
InstancesPlugin.inheritWorldConfigSettingstoinheritDefaultWorldConfigSettingsand dropped its origin world parameter. It now always copies fall damage and PvP settings from the universe default world, which is what fixes instances and portal worlds inheriting from the wrong world. - Your other listeners now keep running when one of them throws, and the failure is logged instead of stopping the dispatch.
Conclusion
Update 7 Part 3 is a maintenance-and-foundations release, and a very valuable one if you run a Hytale server: leaner world saves, better compression with lower memory use on busy servers, unlimited portal worlds, and a rebuilt debug overlay to make diagnosing all of it far easier. The player-facing fix list is long and touches real pain points — environmental damage, portal world settings, wand beams, textures on custom-content-heavy worlds, and a pile of stability fixes including a join freeze and multiple memory leaks.
Modders and plugin developers should treat this one carefully: BlockSection blobs moved to version 7, so worlds loaded on this version cannot be opened on older ones, and several asset schemas changed incompatibly (audio timing spellings no longer decode, PlaySound now uses decibels and semitones, encounters must declare Class, food blockymodel node names changed). Client and server protocol versions must match too.
Running a Hytale world for a community? NolimitHost Hytale server hosting gives you the fast modern cores, NVMe storage, DDoS protection and automated backups that keep a busy world online — with 20% off your first payment using code HYTALE.
Get reliable Hytale server hosting today!