The Hytale Client
Information regarding the Hytale client.
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?
-
No need to download externally.
- Hytale wants to "avoid a fragmented ecosystem where every server requires a different modded client".
-
Client security.
- Running
.jarfiles 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.
- Running
-
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.