

OdinOnDemand introduces various multimedia elements to the game, enabling players to natively view YouTube videos and direct video files on in-game screens. The mod also offers a boombox/gramophone that can play audio files and SoundCloud links -- additionally, this mod is multiplayer-compatible and appears to have a low performance impact.
ValMedia recommends playing without bloom while watching for the best viewing experience.
0.9.75 includes a large UI redesign with new buttons and sliders, ward locking, and more vanilla-like piece behavior. Check the changelog for more info! Destroy with hammer to refund materials.
This mod is in beta and has not been extensively tested. Please report any issues on the Nexus or GitHub tracker.
Installation of the plugin is fairly straightforward, just install into Bepinex/plugins or use r2modman. It must be installed on both server and client.
Recipes can now be tweaked through a json file located at BepInEx\config\com.ood.valmedia.recipes.json, the mod will automatically make this. However the default recipe file can be found here if needed.
Some helpful links to help you edit this file are here
Beautify JSON to made it readable, and validate it here
Unless you know what you're doing, please only change the requirements section. If you have any issues keep in mind you can delete your .json file and the mod will re-create it with default values.
The remote control recipe can't be tweaked yet, you can always use a mod like WackysDB for the time being.
In game, place down a cinema screen or boombox. Media-players can be destroyed with the hammer or with damage to get materials back.
Interact with it to open the GUI.
For cinema screens, you must have either a direct link to a remote or local video file of a compatible codec or use a youtube/youtu.be link. YouTube should work natively. There is an optional self-hosted backup API, if interested check GitHub.
For boomboxes, you must have a direct link to a remote or local audio file of a compatible codec, a soundcloud.com link, or a youtube/youtu.be link. Through testing I've noticed some SoundCloud songs are unavailable. I think it depends on the artist and how they upload/license their art.
Local files are not synced over multiplayer.
Put the link into the input field and click set to set a file. Control playback with play, pause, and stop. Control individual player's volume with the slider and mute button. ">>" to track forward. There are also loop and shuffle toggles.
You can play YouTube playlists - when a playlist is set, new info will appear. You can choose to shuffle or loop the playlist. If you turn on looping while a playlist is active, the whole playlist will loop - not individual videos. The Viking who sets the playlist handles playlist logic, so if they leave the area or disconnect playlist playback will stop, but it is multiplayer synced. Try not to skip through tracks too fast.
Media-players can be controlled from a distance with a remote control. A remote control can be crafted with 1 bronze. Simply equip, point at a media-player and click. Config options include max controller distance, and an option to make remote control access private.
Media-players can be locked in the top right corner of the menu. When a media-player is locked, Vikings can only access it if they have access to the private area created by a Ward. This may have to be toggled again for Vikings who load in after unlocking.
In the mod settings you can control master volume. This will affect every screen/boombox.
All set file/play/pause/stop/looping commands should be synced for multiplayer through RPC events. Volume and tracking are client sided. Tracking will de-sync. Screens do not currently check for sync or update to currently playing videos when connecting/loading new media-players.
If you have V-Sync force enabled in your GPU driver control panel, the mod may not function.

If the mod fails to play any sort of video file, not just YouTube, check your Player.log. If there are errors about Direct3D and refresh rate / v-sync you may have to do this. Please check your GPU driver's control panel and make sure the vertical sync setting is either identical your in-game settings or set to "match application setting"
Build by DanAugust Last picture is with back-light setting turned off.
For any tech-savvy Vikings out there, there is a backup YouTube api that can be self hosted using Node and youtube-dl. This is completely optional and not required as long as the built in library is maintained (YouTubeExplode)