Other works

WindowSystem for Unity3D

WindowStstem for Unity3D

window-based system

The window-based system makes screen transitions, etc. easier. Also, windows can be stacked on top of each other, making it easy to return to the state before the window was opened.

A system that doesn’t break the bank when multiple people divide the workload.

When developing with multiple people, we often use version control software (git or svn). At this time, problems are likely to occur with traditional GUI systems that are difficult to merge. Our windowing system has its own GUI construction scripting language, which makes it possible to describe windows in a simple way. This provides an environment that is easy to merge.

Complete separation of window data and programs

Powerful and easy/simple window description language

The syntax of the script for describing a window is simple. The features of this scripting language are limited to setting simple properties. However, even though it is simple, it is powerful enough to describe exclusive control of radio buttons, tab control, etc. Also, animation when the window is opened/closed can be described in the script. It is also possible to write animations for window open/close in the script.

Flexible layout

To ensure that the layout does not collapse when the screen size changes, the coordinates can be specified flexibly. Most positions, offsets, and sizes can be specified as a percentage of the parent’s size.

A texture atlas for efficient development

The texture atlas supported by this windowing system is a step up from Unity’s existing texture atlas. When creating a texture atlas, the patch method can be specified individually. By specifying the patching method, it is possible to render the sprite in a scaled up or down manner, with the ends fixed and the middle stretched. It is also possible to automatically dither the texture from 32 bits to 16 bits when atlasing.

Fast rendering

Multiple controls are now rendered together in a single mesh. Drawcall optimization is done automatically, making it possible to provide a GUI that is comfortable enough for even complex screens.

Multilingual captions

It is possible to pass character resources from outside, making the system capable of supporting multiple languages.

The windowing system makes it possible to separate (in separate projects) the environment for editing windows from the environment for actually using the windows to build applications.This allows you to freely build your application while you are still modifying the window layout. Naturally, it is also possible to develop in a single environment.