Documentation In Progress
main@81c5a21
Hytale Modding
Established Information

The Hytale Client

Information regarding the Hytale client.

Info

The client is written in C#, compiled to machine code before distribution, and not moddable. Single-player runs on a local server. All mods must go through the server API.

No Client-Side Mods

There is no client-side modding.

We don't intend to support any client mods - Slikey

Why?

  1. No need to download externally.

    • Hytale wants to "avoid a fragmented ecosystem where every server requires a different modded client".
  2. Client security.

    • Running .jar files from third-party sites on the client can easily introduce malware.

    [We don't want to expose players] to the security and safety risks that exist on some other modding platform.

  3. Client stability.

    • Hytale may move to other platforms on which client modding is impossible, so they're locking it down early to set the right direction early.

    We believe that the results that people get in other block games using client mods can be easily achieved using our server-sided modding. In other block games you have to install a client mod in order to get new blocks, NPCs, UI, etc.Hytale does all of that just by listening to the server. The server will basically "mod" the client temporarily in a really safe way to add and modify your gameplay experience. You could make your very own version of Orbis, using none of our models, music, world generation, combat or anything. You have control and you can rip it all out without ever touching the client. Think about how Roblox works.. You never change your App. You just click on an experience you want and you get all you need without modding your installation itself. - Slikey

Client Mods are Not Needed

The typical use cases for client mods are:

  • Cosmetic changes (resource packs, shaders, capes, etc.): servers own visuals, not the client.
  • Performance: the base game will offer necessary performance controls.
  • Accessibility: the base game will be accessible on its own.
  • User Interface: servers own UI, not the client.

Client-Side Prediction

Hytale uses data-driven client-side prediction to mitigate lag, as all interactions take place on the server and are relayed back to the client. This is already present for some systems but currently limited, though further integration is planned for the future. It's also planned to work with the visual scripting system in the future for further optimization.

Client-Side Execution

The team is exploring allowing execution of code by the client (which is distinct from modding the client; this is code sent from the server), though this is not guaranteed.

Models

The client and assets pipeline accepts .blockymodel, a custom format for Hytale. The official Blockbench plugin will allow you to export to this format.

Client Technical Details

There will only ever be one current, supported version of the client.

Java version will be kept updated by us and right now we are on the latest version (Java 25) The game version will not be selectable to avoid the version jungle we experienced on our hypixel server network. We simply want to make sure that multiplayer networks can rely on players having the latest version of the game to not have to support 15+ versions of the client. - Slikey

The client is multithreaded.

GUI

The GUI is built from C# bindings using Noesis.

Build System

Hytale uses NativeAOT ("Ahead of Time") to build the client, which compiles C# to machine code for distribution. This means that, without reverse-engineering the machine code, mods will have to go through the server API.

Other Information

The client has its own versioning and protocol to interact with servers.