Hytale Update 7 Part 2 Pre-Release: Node Editor Overhaul, Goblin vs Void Hostility & Portal Entry Limits
Update 7 Part 2 of the Hytale pre-release has arrived, and for world builders and modders it's one of the biggest updates yet: the Node Editor gets a full overhaul, Goblins and Void creatures are now at war, portals can be limited to a number of entries per player, and a long tail of multiplayer, performance and stability fixes lands alongside deep plugin-facing API changes.
Below is a condensed but complete walkthrough of what changed — from the Node Editor's new start screen and minimap to the block-health refactor that plugin developers will need to migrate.
🧩 Node Editor Overhaul
The headline feature of Part 2. The Node Editor — the tool behind Hytale's world generation and logic graphs — has been reworked top to bottom:
- A start screen. The editor now opens with a hub where you pick what to create or jump straight back into a recent file.
- It remembers your workspace type and reopens on the one you used last.
- Drag and drop files onto the Node Editor to open them directly, on both Windows and macOS.
- Light and dark themes — choose one under File > Preferences.
- A graph minimap, toggled from the View menu, that frames your viewport, highlights your selection, and jumps you to wherever you click.
- Snapping and alignment guides. Dragging nodes snaps them into line with neighbors and to a grid, with guide lines showing what they're lining up against. Multi-node selections keep their internal alignments while dragged.
- Interactive curve graphs for the
ManualCurveandFunctionForYnodes: right-click the plot to add a point, press Delete or Backspace to remove one, and points can cross each other or move outside the visible range without the plot locking up. Panning and zooming no longer interfere with editing, and curve values snap to whole numbers as they're dragged — hold Alt for a fractional value. - A searchable material asset picker with a rendered texture thumbnail for every material.
- A new Trig Density node in the WorldGen workspace.
- Hold-to-undo — an option (off by default) to keep undoing for as long as Ctrl+Z is held down.
- Clearer error messages when a file can't be read, plus Brown and Bright Red as new node colors.
Node Editor stability also improved dramatically: large graphs no longer freeze the editor when opened or closed, files load in the background so the editor stays responsive, a memory leak that kept every opened graph in memory for the rest of the session is fixed, switching workspace types no longer crashes or leaves inconsistent state, copy/paste keeps node connections, Shift-click selection works reliably, and unrecognized node types no longer lose information when a graph is saved.
👹 NPCs & Entities: Goblins vs the Void
- Creatures aligned with the Void are now hostile toward Goblins.
- Most Goblins will now run away from any Void creature they encounter — unless they have enough allies nearby, in which case they'll try to hold their ground.
- Goblin Burners, Feastmasters, Guardians, Lobbers, Miners and Scrappers will no longer chase their targets indefinitely.
- The Goblin Burner's attacks now cause considerably less knockback, and the Goblin Flamethrower's knockback has been reduced.
🗡️ Items & Interactions
- Portals may now be given a per-player entry limit. Limits are displayed in the Ancient Gateway UI, so players know how many entries they have left.
- The hookshot and its firing animation have been reworked visually.
- The Scrap Glider's model and texture are updated, and its wings now flap.
🎮 Controls & Input
- Ability controls on a controller have been reworked — hold the right bumper and press a different button for each ability.
- When rebinding a keybind, the game now shows which keys and controller buttons can be held as part of a combo binding.
🖥️ UI & Quality of Life
- Creative Inventory search has been reworked to better match player intent. It now tolerates "one-step" typos (so 'swrd' and 'swodr' both return 'sword') and matches without diacritical marks — typing 'e' finds items containing 'é'.
- A visual pass on the Runebinder's Effigy 'Ability Workbench' UI.
- Runes now display their ability tags in their tooltips.
- Portal world UI now makes it clearer when additional time is gained.
🔊 Audio
- Added an impact sound for striking a block with a tool too weak to break it.
- Fewer breaking sounds when mining with the Scrap Drill.
- The Feastmaster has new sound effects and improvements to existing ones — and nearby Goblins quiet down temporarily while it's yelling at them.
- The Signature Ability charge sound has been updated and lowered in volume.
- Rocket Boots now have their own sound effect when you trigger the rocket burst double jump.
🌐 Multiplayer & Networking
- Fixed automatic port forwarding failing to find the router when other devices on the home network answered first.
- Fixed multiple devices on the same network causing disconnections when a world was joined.
- Fixed being unable to rejoin a friend's world after a disconnect — previously both players had to restart the game.
⚡ Performance
- Improved server performance while ticking blocks, fluids and farmland, so busy areas cost the world less work every tick. For anyone running a large or heavily populated Hytale world, this is the most impactful change in the update.
🛠️ Player-Facing Bug Fixes
Movement & Combat
- Explosions now deal damage to entities in worlds where block breaking is disabled.
NPCs & Entities
- Entities with block models saved in Update 5 worlds keep the correct position and scale when the world is upgraded. Note this does not repair entities that were already upgraded with the wrong position and scale.
- Rotating a block selection with the builder tools now rotates entities with block models correctly for multi-axis rotations.
- The Goblin Burner no longer damages its neck when refueling, and no longer taunts every time it needs to reload the flamethrower.
Items & Interactions
- Explosive Barrels now show a tooltip indicating they may be picked up.
- Hatchets may now be used as an unconventional way to set off explosive blocks.
- The Snapjaw Trap now stuns for two seconds instead of indefinitely.
- Hookshot projectiles no longer hang around in the world long after they've stopped moving.
Creative Tools
- The map now refreshes across the whole pasted area when you paste a prefab or clipboard instead of only the chunk under your cursor, and undo/redo refreshes the affected area too.
UI, Graphics & Audio
- Player portrait backgrounds in the Social Sidebar are blue again.
- Improved the help text for the
/beamcommand. - Fixed held items that had their appearance changed re-applying movement animations instantly.
- Reduced the volume of distant sounds that were louder than intended, adjusted sounds to respond correctly to audio settings, and increased the flamethrower's volume.
Stability
- Fixed a crash when a server sent a fluid update before some blocks had finished loading.
- Fixed a crash when returning to the main menu with a machinima scene loaded.
- Fixed server errors when an explosion with no blast radius was set off, when a player left at the same moment they confirmed respawning, and when an objective started with tasks that spawn creatures.
⚙️ Modder-Facing Changes
NPCs & Entities
- Local spawn beacons can now be limited by weather. An optional
WeatherIdslist onBeaconNPCSpawnkeeps a beacon spawning only while the current weather matches, and a placed beacon removes itself and despawns its NPCs when the weather stops matching. The weather checked is the world's forced weather, otherwise the environment's weather at the beacon, which the newWeatherResource.getEffectiveWeatherIndex(environmentId)resolves. Per-player weather such as a trigger volume override does not count. - Removed the deprecated
Spawn_Voidrole along with itsSpawn_VoidandSpawn_Void_Manualspawn markers.Void_Spawn_Entombedtakes over, and its name now points at the correct lang key.
Items & Interactions
- Items can now hang an interaction off a fourth ability slot instead of only three; the crossbow's
Root_Common_StatAmmoReload_Entryreload moved onto it inTemplate_Weapon_Crossbow. - Portal keys can cap how many times each player enters.
PortalKeycarries the per-player limit, and portal device pages show the limit and entries left. - Removed the debug-only
Debug_Movement_Bootsarmor. - Extra jumps can play a separate local sound to the wearer. A new
ExtraJumpLocalSoundEventonItemMovementSettingstakes a one-shot event and accepts stereo files; rocket boots use it alongside the world sound. - Textured beams can now be rendered between entities. A new
AttachBeaminteraction hangs a beam between the interaction context owner and the named entity — this is how the hookshot draws its rope. - Projectiles can now be given a lifespan. A
Lifetimevalue on theProjectileinteraction despawns the projectile once that duration runs out.
Asset Schemas & Formats
- Instance worlds no longer take
DocumentDisplayOnRemoval. A newEventTitleOnRemovalshows an event title while the instance closes, with the close delay following the title timing. Leave it out and the world closes right away. - Portal types now carry the default time limit and entry count.
TimeLimitSecondsandAllowedEntryCountonPortalTypeapply to every key of that type, and aPortalKeyonly needs the fields when it wants to differ. - Interface sound volume from
SoundStyleandSoundEffectis now bounded to +10 dB, matching every other authored gain field.AudioStatevolume deltas are bounded to +10 dB per axis on the per-voice path too — a pack leaning on a bigger per-voice delta gets clamped. - Event titles can now play a sound alongside the text. An optional
SoundEventIdonEventTitleConfigfires once the title is sent. - World events can now show themselves on the player world map.
WorldEventAssetgained name and icon fields for the map entry, andIntervalConditiongained fields deciding when the event appears and what text it shows.
Server & Permissions
- Added a
fragment timer add <seconds>command that adds time to the fragment timer instead of replacing it — this is what triggers the gained-time tag on the HUD. /block pointcommands and/block rownow work at any height in a cubic world, soget,set,getstate,setstateandsettickingreach above Y 320 and below Y 0. An unloaded section answers with the newserver.commands.block.noSectionmessage./block bulk find-hereand/block bulk replacenow take their radius in chunk sections and sweep a sphere around you, including sections above and below the old height range./block bulk findgained--chunkYand--radiusoptions, searching a sphere around that chunk position up to the server's maximum view radius instead of spiraling outward across the world until it times out.
Renames & Deprecations
- The Goblin hookshot models are now named after scrap.
Hookshot_Goblin.blockymodelandHookshot_Goblin_Projectile.blockymodelbecameScrap.blockymodelandScrap_Projectile.blockymodel, andTool_Hookshot.jsonandHookshot_Hook.jsonpoint at the new paths. - The Void tentacle animations moved and were renamed.
Bite2andBite3are nowBite_LeftandBite_Right, andIdleandIdle2sit in theDefaultfolder next to the new spawn animations.
Protocol & Networking
- The portal state now carries
BonusSeconds, the time just added to the fragment timer. The server clears it after the broadcast so later ticks don't replay the animation. ItemMovementSettingsgained a trailingExtraJumpLocalSoundEventIndex, which changes its wire layout. The client and server have to be built from the same protocol build.
🔌 For Plugin Developers
- Removed
WorldChunk.getWorld()— a chunk no longer points back at its own world.ChunkPreLoadProcessEventnow carries the world and exposesgetWorld(), matchingChunkSectionPreLoadProcessEvent. - Block tick callbacks can now get world coordinates without capturing them. A new
BlockSection.forEachTickingoverload takes the section coordinates and aTriObjectPositionBlockFunction, so the callback receives world positions and a third context value. - Volume modifiers passed to
SoundUtil.playSoundEvent2dandplaySoundEvent3dare linear multipliers, not decibels — and they used to be discarded above 1.0. They now take effect, so a plugin passing 3.0 goes from roughly unity to about +7.5 dB. Nothing validates them, so check any modifier above 1.0. SimpleBlockCommand.executeWithBlockno longer receives aWorldChunk. It now gets theCommandContext, theChunkStore, aRef<ChunkStore>section reference and the block coordinates, so a custom block command can reach any height.- Block health now lives on the chunk section rather than the column.
BlockHealthChunkis decode only, so read and change health throughBlockHealthSectionon the section entity, keyed byChunkUtil.indexBlock.WorldNotificationHandler.updateBlockDamageandgetBlockDamagePacketare gone, because damage replicates on its own once written to the section. PortalWorld.overrideRemainingSecondsis nowsetRemainingSeconds(world, seconds, force), and it leaves the timer alone when the portal world is already scheduled for removal.- The deprecation note on
WorldChunk.getBlocknow names the right replacement: resolve the section withChunkStore.getChunkSectionReferenceAtBlockand read throughBlockSection.get, since the oldBlockChunk.getBlockroute is still capped to the legacy column range. - The fluid and material helpers in
WorldUtilnow take theChunkStoreand resolve the block's section themselves, so they read correctly at any height.getWaterLevel,findFarthestEmptySpaceBelowandfindFarthestEmptySpaceAbovetake a caller bound rather than stopping at the column top, andPositionProbeBase.updateWaterLeveltakes theChunkStoretoo. BlockChunk.getSectionAtIndexis gone — it indexed the legacy 0-to-9 section array and threw outside it.- Selections can report where they'll write before placement.
BlockSelection.computePlacementBounds(Vector3ic, Vector3i, Vector3i)reports those bounds and returns false for a selection with no cells. - The legacy UI
Elementbase is now nullable-annotated, soHitTestandFind<T>return a nullable element and the constructor takes a nullable parent. Runtime behavior is the same, but an override declaring a non-nullable return needs a?to match. - The generated concurrent maps in
ConcurrentFastUtilmoved offsun.misc.Unsafeand ontoVarHandle, keeping volatile ordering on every field and table access and removing one of the three sources of the deprecation warning at server launch.
🐞 Modder-Facing Bug Fixes
World Generation
- Props placed with an Anchor PropDistribution no longer come out with random parts missing in an 8x8 grid pattern.
- Fixed gradient Density nodes producing grid-aligned artifacts in generated terrain.
NPCs & Entities
- NPC block sensors and resource reservations now work at any height instead of being clamped to the 0-to-320 band, so a role can find and reserve blocks in a cubic world above or below that range. The Block sensor also caps
RangeandMaxHeightat 256, well above the 30 and 10 shipped roles use. - Fixed the Void Spectre pointing its
MemoriesNameOverrideatSpectre_Void, which does not exist — the template, variant and static variant all useVoid_Spectrenow.
Server & Permissions
- Fixed
/block bulk replacecounting blocks it never changed, and/block setstatethrowing on an unknown block id instead of reporting one. A block command that fails partway now tells the sender rather than going quiet. - Fixed a block placed by a
/blockcommand into a freshly loaded section staying inert — the command now loads the section as ticking, so the block ticks and its block entity spawns.
For Plugin Developers
LivingEntity,NPCEntity,PatrolPathMarkerEntityandSpawnBeaconnow mark their World constructor parameter@Nullable, matching the null worldEntity.clonealready passes when rebuilding an entity.
Conclusion
Update 7 Part 2 is the update where the Node Editor finally grows up — a start screen, themes, a minimap, snapping with alignment guides, interactive curve editing and a searchable material picker turn it from a power tool into a comfortable one. On the gameplay side, Goblins and Void creatures are now enemies, portals can be rationed per player, and the hookshot and Scrap Glider got their visual passes.
For server owners the two changes to note are the improved server tick performance for blocks, fluids and farmland and the multiplayer networking fixes — port forwarding, same-network disconnects, and rejoining a friend's world after a drop-out. Plugin developers should plan for the block-health move to chunk sections, the removal of WorldChunk.getWorld(), the SimpleBlockCommand signature change and the sound volume modifier behavior fix.
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!