One of the new features coming in Daggerfall Tools for Unity Release 2 is support for standalone builds where the Arena2 folder is not generally available. For example, the web builds I showed earlier would be considered standalone.
The toolset makes this possible using two complementary approaches. The first is just normal serialization of scene data. This is automatic and doesn’t require any work on your part. All of the materials and 3D models in your scene are just saved as you would expect, along with additional metadata about those resources. For example, every 3D mesh saves a list of default texture keys used to rebuild textures for climate swaps. You generally don’t need to think about this, it just works.
The second method is new to Release 2. When loading a file from Arena2 with FileUsage.UseMemory enabled (now the default), DaggerfallUnity will first try to use Resources.Load() to find that file from your Resources folder. This means you can add, for example, ARCH3D.BSA, BLOCKS.BSA, MAPS.BSA, and TEXTURE files to your Resources folder and load content in at runtime without the end user requiring a Daggerfall installation for your build. All you need to do is append “.bytes” to the end of any Arena2 files added to your Resources folder so Unity can load them as proper binary files. This works for every Arena2 file loaded through the API with FileUsage.UseMemory specified.
As an example of this, check out the new web player demo below. This loads a Wayrest city scene using normal serialized data for all of the models and materials. The sky however is created at runtime from SKY13.DAT in Resources. The entire build is 3.7MB (not counting the web player itself).
Wayrest Snow Scene (Point Filtering)
Controls: WSAD to move, SPACE to jump, SHIFT to toggle run, and ESC to uncapture mouse.
This freedom creates exciting opportunities for building Daggerfall projects directly for web or mobile platforms. You’re no longer limited by where Daggerfall can be installed. It’s all just binary data that Unity can use anywhere. I hope this freedom will inspire others to create amazing Daggerfall projects in the future.