日本語 | English | 中文 | Español | Français
Note: The above languages (English, 中文, Español, Français) have been generated by automatic translation using GPT-4o-mini. For accuracy and nuances, please refer to the original text (Japanese).
"uDesktopMascot" is an open-source project for a desktop mascot application themed on liberation of creativity. One of the features includes the ability to load and display models in VRM or GLB/FBX format on the desktop. You can also freely configure the colors and background images of the GUI, such as the menu screen and application window. For a detailed feature list, please refer to Feature List.
Supported Platforms
- Windows 10/11
- macOS
The application has the following features implemented. Please refer to the list below for details.
External assets can be added by placing them in the StreamingAssets folder.
Model and Animation
- Loads and displays any model file placed in the StreamingAssets folder.
- Supports VRM (1.x, 0.x) model formats.
- Supports GLB/GLTF model formats (animations not supported).
- Supports FBX model formats (note that some models may not be able to load textures, and animations are not supported).
- Textures can be loaded by placing them in StreamingAssets/textures/.
- Add VRM models from the model selection/addition screen.
- Add by specifying a path.
- Add from a file selection dialog.
Voice and BGM
- Loads and plays audio files placed under SteamingAssets/Voice/. If multiple files are present, they are played randomly.
- Audio played on click is loaded from audio files placed under StreamingAssets/Voice/Click/.
- Loads and plays music files placed under SteamingAssets/BGM/. If multiple files are present, they are played randomly.
- Adds a default character voice.
- The default voice uses audio from COEIROINK: Tsukuyomi-chan.
- Played at app startup, app exit, and on click.
Speech Recognition and AI Chat
- Integrates the offline speech recognition engine Vosk to convert microphone input into text in real-time.
- Intermediate results
[STT][partial]and final results[STT][final]are displayed in the Unity Console. - If silence continues for
VadSilenceSeconds(default 1.0 seconds), the text is confirmed and sent to the LLM ([STT][send]log).
- Intermediate results
- Once the text is confirmed, it passes the voice message to the AI chat function, allowing the character to read the response aloud.
- The microphone is automatically paused during response generation to prevent misrecognition.
- Recording can be toggled using the microphone button on the ChatDialog screen.
- Required native DLLs (
libvosk.dll,libstdc++-6.dll,libgcc_s_seh-1.dll,libwinpthread-1.dll, etc.) are placed inAssets/Plugins/x86_64/and are packaged automatically during the build. - By placing acoustic models (e.g.,
vosk-model-small-ja-0.22) or quantized GGUF models underStreamingAssets, multiple languages, including Japanese and English, can be handled without a network connection.
Application Settings via Text File
You can change the application settings using the application_settings.txt file.
The structure of the settings file is as follows:
[Character]
ModelPath=default.vrm
TexturePaths=test.png
Scale=3
PositionX=0
PositionY=0
PositionZ=0
RotationX=0
RotationY=0
RotationZ=0
[Sound]
VoiceVolume=1
BGMVolume=0.5
SEVolume=1
[Display]
Opacity=1
AlwaysOnTop=True
[Performance]
TargetFrameRate=60
QualityLevel=2Menu Screen
- You can set the background image and color of the menu screen.
- The background image can be loaded from image files placed in StreamingAssets/Menu/. Supported image formats are:
- PNG
- JPG (JPEG)
- BMP
- GIF (static images)
- TGA
- TIFF
- The background color can be specified using color codes.
- The background image can be loaded from image files placed in StreamingAssets/Menu/. Supported image formats are:
- The menu screen provides access to the following features:
- Model selection and addition screen
- AI chat function
- LocalWeb function
- Application settings
- Application exit
- By pressing the minimize button on the menu screen, the application can be minimized to the notification area on Windows.
- Minimized applications can be displayed again by clicking the icon in the notification area.
When running the application on macOS, it may be blocked by GateKeeper. In that case, please run the following command from the terminal.
xattr -r -c uDesktopMascot.app- Unity 6000.1.1f1 (IL2CPP)
- The code is licensed under the Apache License 2.0.
- The following assets are licensed under CC BY-NC 4.0.
- BGM
- Models
- The default character animations were created using the VRM Doll Play Animation Data Set. It has been confirmed that this can be distributed along with the repository.
- The font used is Noto Sans Japanese and is redistributed under SIL OPEN FONT LICENSE Version 1.1. The copyright for the font lies with the original author (Google).
- The default voice uses audio from COEIROINK: Tsukuyomi-chan. Usage has been confirmed in advance with COEIROINK.
- The button icons use MingCute.
- Build with the name
uDesktopMascotin thebuildfolder in Unity.
uDesktopMascot
└── build
└── uDesktopMascot
├── uDesktopMascot.exe
└── README.txt
...
-
Install Inno Setup.
-
Once opened, click
More filesand selectsetup.isswithin the project folder.
- After selection, click the play button.
- Once the build is complete, the installer will be generated in the project root.
The installer can only be created on a macOS PC.
- Build with the name
uDesktopMascotin thebuild/uDesktopMascotfolder in Unity.
uDesktopMascot
└── build
└── uDesktopMascot
├── uDesktopMascot.app
└── README.txt
- Run the following command.
cd build
productbuild --component uDesktopMascot/uDesktopMascot.app /Applications ./uDesktopMascot_mac_installer.pkg- Once the build is complete,
uDesktopMascot_mac_installer.pkgwill be generated in thebuildfolder.
- Models: "Aozoora" (青空)
- BGM: MidraLab (eisuke)
- Software Icon: Yamucha (やむちゃ)
See NOTICE.
- Luna
- uezo


