# Example router for a game on the guest SDK: a made-up Unity Mono game ("Lantern Bay") whose # BepInEx plugin speaks Fusion through FusionGuest.cs. The plugin sends Fusion's space itself; # one-click setup checks for BepInEx and copies the plugin (built into this router's plugin/ # folder, with fusion_guest_c.dll) into the game. [router] id = "lanternbay" name = "Lantern Bay" version = "0.1.0" license = "CC-BY-4.0" game_exe = "LanternBay.exe" units = { length = "m", up_axis = "y", health_max = 100 } [router.link] protocol = "fusion" game_id = "lanternbay" # what the plugin passes to Fusion.Guest.TryConnect [router.launch] steam_app = 4000003 [[block]] id = "lanternbay.world" name = "Lantern Bay" kind = "world" description = "The bay and its village, drawn by the game from Fusion's camera; its ground and piers go into Fusion's Collision Hub." gives = ["layer:color+depth", "collision"] cost = { ram_gb = 3.0, gpu = "medium", must_stay_awake = true } [[block]] id = "lanternbay.villagers" name = "Lantern Bay's Villagers" kind = "npc_group" description = "The villagers near Fusion's camera, in Fusion's entity registry." gives = ["entities"] actions = ["remove", "set_health"] cost = { ram_gb = 0.0, gpu = "none" } [router.setup] installed_when = "{game}/BepInEx/plugins/LanternBayFusion/LanternBayFusion.dll" [[router.setup.require]] name = "BepInEx 5" check = "{game}/BepInEx/core/BepInEx.dll" guide = "Install BepInEx 5 (x64) into the game's folder and start the game once." url = "https://github.com/BepInEx/BepInEx/releases" [[router.setup.step]] copy = "{router}/plugin" to = "{game}/BepInEx/plugins/LanternBayFusion"