LypyL’s Daggerfall Tools for Unity Multiplayer Test

If you’ve been around the DFTFU Subreddit, you may have noticed that community member LypyL has been working on a set of multiplayer extensions for the Daggerfall tools. He has now progressed to the point where he’s ready to show off some progress.

I played a bit of this with LypyL a few hours ago and had great fun exchanging blows and flying (literally flying) around the map taking swipes at each other. He’s done an amazing job so far, and I’m excited to host his achievement here on Daggerfall Workshop.


Daggerfall Tools for Unity – Streaming World Multiplayer Test by LypyL

Note: Requires the Unity Web Player.


  • Click to capture mouse (webplayer).
  • ESC to uncapture mouse (webplayer).
  • Mouse move to look.
  • W, S, A, D to move.
  • SHIFT (hold) to run.
  • SPACE to jump.
  • LEFT-CLICK mouse to open doors, operate switches, etc.
  • Q no clip/fly.
  • E climb mode.
  • Z toggle weapon.
  • Right-click and drag mouse to swing weapon.

Author Notes

  1. On running, players will try and connect to active games on server if there are any, and if not will start a new one.
  2. Games are capped at 4 players (and currently max concurrent user limit of 20 – so up to full games)
  3. On joining/starting game, player has to set their name (either accept the random name or put in a new one in the input box).
  4. They will spawn outside of Daggerfall. I pretty much left all of the streaming world settings at default.
  5. Added scaled down location markers to make other players easier to find. Player names will also be displayed above their skins w/ 3d text meshes.
  6. Players get randomly chosen skins on joining (which aren’t synced among clients – they’re different for everyone). Attacking & moving is animated (the hurt animations should be working, but I can never get them to play for some reason).
  7. Basically nothing else is synced up – audio, doors etc. are not implemented yet.
  8. I switched to one of the standard asset skyboxes due to the sky rig breaking in the web build for some reason.
  9. There is basic combat implemented for messing around. On being hit, a player will lose health until they reach 0 or less, then their position will be set randomly (to somewhere nearby to where they are), and if they are inside, they will transition outside.

Streaming World Test 1

This is my first week back from holidays and work is kicking my butt right now. I’m not finding the time I need to really sit down and polish the streaming world demo as much as I’d like. Rather than delay it longer, I’ve decided to release a web demo for everyone to play with. That buys me time for things to settle down at work while I chip away at the final demo. Please consider this a pre-release test and forgive the rough edges.


Streaming World Pre-Release Test 1

Note: Requires the Unity Web Player.


  • Explore the entire Illiac Bay. Any region, any climate, anywhere.
  • Run smoothly between cities over actual Daggerfall terrain read from game data.
  • Full day/night cycle with animated skies and city lights.
  • Enter any building in any town or city.
  • Control an athletic player who can jump onto small buildings and sprint at high speeds through the wilderness.
  • Location beacon helps you find cities in the wilderness.
  • Entire world is built procedurally right inside your web browser.

Known Issues/Limitations

  • Not optimized. Uses a lot of memory over time.
  • May encounter a brief hitch when updating sky animation or streaming in a large location.
  • No bounds checking. Possible to run off extreme edge of world or crash.
  • Running very distant from starting point will cause precision issues. A fix is in progress to resolve this.
  • No compass or map to help you navigate.
  • Cannot enter dungeons at this time.

If you encounter problems with precision or fall through ground, please use R to travel to random location or 1-4 for preset locations. See controls below.


  • Click to capture mouse (webplayer).
  • ESC to uncapture mouse (webplayer).
  • Mouse move to look.
  • W, S, A, D to move.
  • SHIFT (hold) to run very fast.
  • SPACE to jump.
  • LEFT-CLICK mouse to open doors, operate switches, etc.
  • R to travel to a random location.
  • 1-4 to travel to a preset location.

I hope you have fun with this pre-release demo. Thank you for your patience while I take care of real-life stuff.

Developer Preview Now Available

The DFTFU Developer Preview 1.2.11 is now available. This includes all the terrain code shown recently.

I have decided to make a Developer Preview build available after major milestones, but before code is quite ready for general release. Please keep in mind that preview features may change substantially before release.

I am also preparing a playable world demo for everyone else. This should be available today or tomorrow.

First Terrain Video

Below is the first video of the open world system in action. There are still a few bugs to fix, such as tree alignment with ground, LOD cracking, and the occasional skip. But overall it’s coming together quite nicely.

Featured Posts From 2014

For anyone new to Daggerfall Tools for Unity, here are some featured posts from 2014. If you are introducing the project to a new community, feel free to link these articles (or just link back to this one).

Time & Space and More

Looks at world time and day/night cycles, along with player GPS and beginnings of world streaming.

Direnni Tower – Full Demo

Fully playable demo inside your web browser, or standalone for Windows. Introduces sound system, ambient sound effects player, sky effects, combat, dual wielding, enemy AI, building interiors, and a lot more.

Streaming World – Part 3

Shows off the early streaming world system, along with some details about setting terrain tiles with marching squares.

First Android Build

Community member Eric creates a native build of Daggerfall city on Android (i.e. not using emulation).

Release 1.1 and City Basics Part Two

The current release at end of 2014. Also provides updated tutorials showing just how easy it is to create basic gameplay.