0%
Loading...
NolimitHost

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 ManualCurve and FunctionForY nodes: 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 /beam command.
  • 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 WeatherIds list on BeaconNPCSpawn keeps 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 new WeatherResource.getEffectiveWeatherIndex(environmentId) resolves. Per-player weather such as a trigger volume override does not count.
  • Removed the deprecated Spawn_Void role along with its Spawn_Void and Spawn_Void_Manual spawn markers. Void_Spawn_Entombed takes 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_Entry reload moved onto it in Template_Weapon_Crossbow.
  • Portal keys can cap how many times each player enters. PortalKey carries the per-player limit, and portal device pages show the limit and entries left.
  • Removed the debug-only Debug_Movement_Boots armor.
  • Extra jumps can play a separate local sound to the wearer. A new ExtraJumpLocalSoundEvent on ItemMovementSettings takes 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 AttachBeam interaction 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 Lifetime value on the Projectile interaction despawns the projectile once that duration runs out.

Asset Schemas & Formats

  • Instance worlds no longer take DocumentDisplayOnRemoval. A new EventTitleOnRemoval shows 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. TimeLimitSeconds and AllowedEntryCount on PortalType apply to every key of that type, and a PortalKey only needs the fields when it wants to differ.
  • Interface sound volume from SoundStyle and SoundEffect is now bounded to +10 dB, matching every other authored gain field. AudioState volume 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 SoundEventId on EventTitleConfig fires once the title is sent.
  • World events can now show themselves on the player world map. WorldEventAsset gained name and icon fields for the map entry, and IntervalCondition gained 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 point commands and /block row now work at any height in a cubic world, so get, set, getstate, setstate and setticking reach above Y 320 and below Y 0. An unloaded section answers with the new server.commands.block.noSection message.
  • /block bulk find-here and /block bulk replace now take their radius in chunk sections and sweep a sphere around you, including sections above and below the old height range.
  • /block bulk find gained --chunkY and --radius options, 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.blockymodel and Hookshot_Goblin_Projectile.blockymodel became Scrap.blockymodel and Scrap_Projectile.blockymodel, and Tool_Hookshot.json and Hookshot_Hook.json point at the new paths.
  • The Void tentacle animations moved and were renamed. Bite2 and Bite3 are now Bite_Left and Bite_Right, and Idle and Idle2 sit in the Default folder 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.
  • ItemMovementSettings gained a trailing ExtraJumpLocalSoundEventIndex, 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. ChunkPreLoadProcessEvent now carries the world and exposes getWorld(), matching ChunkSectionPreLoadProcessEvent.
  • Block tick callbacks can now get world coordinates without capturing them. A new BlockSection.forEachTicking overload takes the section coordinates and a TriObjectPositionBlockFunction, so the callback receives world positions and a third context value.
  • Volume modifiers passed to SoundUtil.playSoundEvent2d and playSoundEvent3d are 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.executeWithBlock no longer receives a WorldChunk. It now gets the CommandContext, the ChunkStore, a Ref<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. BlockHealthChunk is decode only, so read and change health through BlockHealthSection on the section entity, keyed by ChunkUtil.indexBlock. WorldNotificationHandler.updateBlockDamage and getBlockDamagePacket are gone, because damage replicates on its own once written to the section.
  • PortalWorld.overrideRemainingSeconds is now setRemainingSeconds(world, seconds, force), and it leaves the timer alone when the portal world is already scheduled for removal.
  • The deprecation note on WorldChunk.getBlock now names the right replacement: resolve the section with ChunkStore.getChunkSectionReferenceAtBlock and read through BlockSection.get, since the old BlockChunk.getBlock route is still capped to the legacy column range.
  • The fluid and material helpers in WorldUtil now take the ChunkStore and resolve the block's section themselves, so they read correctly at any height. getWaterLevel, findFarthestEmptySpaceBelow and findFarthestEmptySpaceAbove take a caller bound rather than stopping at the column top, and PositionProbeBase.updateWaterLevel takes the ChunkStore too.
  • BlockChunk.getSectionAtIndex is 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 Element base is now nullable-annotated, so HitTest and Find<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 ConcurrentFastUtil moved off sun.misc.Unsafe and onto VarHandle, 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 Range and MaxHeight at 256, well above the 30 and 10 shipped roles use.
  • Fixed the Void Spectre pointing its MemoriesNameOverride at Spectre_Void, which does not exist — the template, variant and static variant all use Void_Spectre now.

Server & Permissions

  • Fixed /block bulk replace counting blocks it never changed, and /block setstate throwing 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 /block command 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, PatrolPathMarkerEntity and SpawnBeacon now mark their World constructor parameter @Nullable, matching the null world Entity.clone already 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!

Discount Code HYTALE 20% off your first payment
Get Hytale Hosting Visit Help Center