# Doesi Studio 0.4.4

Viewer actions can now be enabled automatically on Studio startup for each Studio profile. Use Games → Viewer Control → Module status. The switch defaults to off and takes effect on the next launch. Device, game profile and emergency-stop checks still apply.

New in 0.4.3: seven workspace sections, separate connection setup, a coordinated dark theme and automatic catch-equipment bonuses. See [the 0.4.3 guide](docs/Studio-0.4.3-EN.md).

New in 0.4.3: Viewer portal with Twitch login and separate game state for every streamer. Browser inventory, shop, recipes, equipment, trading, XP and current commands; Studio validates every action. Pair in the catch game’s Viewer website tab. Includes a separate Linux server service and timestamped offline views. [Setup guide (German)](docs/Viewer-Portal-DE.md).

New in 0.4.0: Catch offers with multiple commands and Channel Points rewards, 1–50 catches per use and a total price in Studio currency. Viewer Control starts automatically; the Studio “Chatbot” entry is now “Update”. Search and filter loyalty viewers, add or remove points, set balances with conflict protection, find named transfer recipients, inspect the journal and export CSV files. Currency reward settings now have dedicated fields. Includes the existing Stream Deck pairing and viewer-card fixes. [Guide](docs/UPDATE-0.4.0.md).

New in 0.2.7: buy parts and equipment by item name with `!kauf item name [count]`; recycle owned ships with `!verschrotte ship name [count]`. Multiword names need no quotes. Saved prices, prerequisites and permissions still apply. Both commands appear in the live Commands catalog.

New in 0.2.6: searchable ships, materials, packs and recipes; a visible Equipment & upgrades tab with rods, jammers, scanners and crates; complete ready-to-use recipes and material exchanges. Human-readable chat commands such as `!schiffli jammer2` replace generated codes while legacy aliases remain valid. [Quick start](docs/Fishing-Quickstart-EN.md).

New in 0.2.5: catch game commands now appear directly in the Commands list, including trading, shops, recipes and custom uses. Renaming the root command automatically updates names, syntax, examples and aliases. Availability and settings stay linked to the game. Uses and recipes now guide you through four steps with live requirements, costs and rewards. Optional equipment presets for quantum jammers, fishing rods, scanners, dream catchers and custom devices include supply purchases, Mk II/Mk III upgrades and an editable device use.

New in 0.2.4: editable redemptions, recipes, shops, missions and unlocks; viewer gifting and escrow trades/sales; per-pack original catch sounds. The visual editor controls requirements, reusable tools, costs, rewards, cooldowns, limits and optional Studio actions. Six disabled templates per pack help you start. [Uses, recipes and trading](docs/Collection-Gameplay-EN.md).

New in 0.2.3: catch commands work with separate bot and broadcaster logins. Collections and XP stay with the Twitch channel; replies use its linked bot. Custom commands such as !schiffli are preserved. Test catch opens a preview when no browser source is connected; active cooldowns produce chat feedback.

Includes 255 Star Citizen catches, 32 fish and 32 Sandmaa collectibles with images and balanced editable tiers. New Canvas catch effects and four transparent 60 FPS WebMs with catch sounds are included. Unmodified legacy starter packs are expanded while preserving existing catch IDs and progress. Custom packs stay editable; use the three image-pack buttons to add fresh templates.

New in 0.2.2: fixed the complete Studio updater when the application directory ends in a path separator. Update staging and installer hand-off now use the same normalized directory. Startup failures are shown clearly and logged.

Versions 0.2.0 and 0.2.1 need a one-time manual installation of this complete release. Close Studio, extract to a new folder and launch the new executable; the selected profile is reused automatically.

New in 0.2.1: **Community → Catch & collection games**. Custom packs, per-pack animations, collection, XP conversion and editable ranks. [Guide](docs/Collection-Games-EN.md).

New navigation: seven top-level tabs with a sidebar scoped to the selected section. [Instructions](docs/Navigation-EN.md).

New: hide viewer names under **Viewer Control → Overlay & OBS**. [Instructions](docs/Studio-Tools-EN.md).

New: local Studio OBS browser sources reload without cache automatically after startup and each new OBS connection. [Setup](docs/Studio-Tools-EN.md).

New: optional WebM raid alert with sound before the shoutout clip, editable alert/overlay text and a local OBS browser source. [Shoutout setup](docs/Shoutout-EN.md).

New: automatic alert/OBS recovery, stream-label request timeouts and reload without cache for a selected OBS browser source. [Guide](docs/Studio-Tools-EN.md).

[New: profiles, audio tests, media previews, visual editor and stream labels](docs/Studio-Tools-EN.md).

Commands update: active/inactive filters and editable INI responses. [Guide](docs/Commands-EN.md).

Chatbot, StreamOps and Viewer Control in one native desktop application for Windows x64 and Linux x64.

## Start

Extract the complete ZIP into its own folder. Windows: start `DoesiStudio.exe`. Linux: run `DoesiStudio`. The .NET runtime is included; the SDK is only needed for source builds. Linux requires X11/XWayland, Fontconfig, libICE/libSM and standard desktop libraries. PipeWire and mpv/ffmpeg are recommended for local audio/video effects.

The setup assistant covers profiles, chatbot sign-in, OBS, StreamOps and Viewer Control. German system locales select German; other locales select English. A persistent German/English override is available.

## Import existing data

Close the old applications first. Open **Import**, select the old data folders, review the preview and enter a new profile name. Source data and existing Studio profiles are preserved. Credentials are excluded; sign in to each module again.

Personal profiles are separate from the application:
- Linux: `~/.local/share/DoesiStudio/profiles/<profile>/`
- Windows: `%LOCALAPPDATA%\DoesiStudio\profiles\<profile>\`
- Module folders: `chatbot`, `streamops`, `viewer-control`.

## Satisfactory

Open **StreamOps → Set up Satisfactory**, select the game root or detect Steam. Close the game. Install SML with [Satisfactory Mod Manager](https://smm.ficsit.app/), then select **Install bundled bridge**. The package contains the user-supplied compiled **StreamOpsBridge 0.2.5 VehicleContext** for Steam/Epic on Windows/Proton; it requires SML `^3.12.0`.

An existing bridge is only replaced after selecting **Replace an existing bridge after making a full backup**. Newer versions are protected. Backups are outside the mod scan directory at `FactoryGame/StreamOps-Backups`. Other mods are preserved. You may also choose your own compiled bridge ZIP.

Load a singleplayer save once, close the game, detect `bridge.json`, enable the bridge, restart the game and check the connection. Enabling preserves token, port and other fields and backs up the original file. Choose `bridge.json` manually when several Proton configurations exist. Local singleplayer/listen-host is supported. The mod rejects clients, additional players and dedicated servers; including server binaries does not change this game-side rule.

## Viewer Control and OBS

Start the module, select a game profile or create one with **New game profile**. Add an OBS browser source at `http://127.0.0.1:17565/overlay`, set its dimensions to the base canvas and place it above the game capture. Enable **Control audio via OBS**. An imported configuration may use another port; use the URL displayed in Studio. Select the local overlay monitor or enable all monitors. Use borderless fullscreen and test an action before live use.

Linux: run the displayed uinput setup helper, then sign out and back in. Windows: keyboard/mouse, hotkeys, WASAPI audio and overlays have been added; the virtual Viewer wheel/controller and physical controller/flightstick/wheel blocking require Linux. StreamOps flightstick actions can use optional vJoy on Windows; Windows keyboard/mouse blocking affects both together. Run Studio and the game at the same privilege level. Validate execution on an actual Windows PC before going live.

Chatbot and StreamOps include their public Twitch application IDs. Viewer Control uses an imported client ID or requires a public Twitch app ID with device-code authentication; no Viewer app ID was included in the source files. Module sign-ins remain separate.

## Updates and preview status

Use the Dashboard to check for, download and install complete Studio updates. Personal profiles stay in the user data directory. From Preview2, install the complete Preview4 ZIP once in a separate folder. Studio has its own download channel, so the old standalone chatbot updater cannot replace the Studio host. Avoid simultaneous instances sharing a profile or local API port.

This is a preview. In-game Satisfactory verification and interactive Windows desktop/audio/input verification are pending for this integrated package. DRG requires an additional game mod which is not bundled. Input actions have a guided editor; advanced game-mod actions retain their JSON editor. The engines retain separate Twitch sessions and currencies.

## Build from source

Install the .NET 10 SDK and Python 3.11+. `bash build.sh` runs all tests and creates both x64 packages. Use `bash build.sh linux-x64` or `bash build.sh win-x64` for one platform. Windows: `powershell -ExecutionPolicy Bypass -File build.ps1`. Outputs are in `artifacts/`. Tests and analyzers remain enabled.

Preview4: keyboard/mouse/flightstick actions, complete Studio updates and profile backups. [Guide](docs/Studio-Preview4-EN.md).


Shoutouts and server games are built in. The separate Doesi Core DLL is no longer required. Setup: [Preview4 guide](docs/Studio-Preview4-EN.md).
