Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
PlayAsMob
Spawn and control Valheim creatures with their native stats and attacks. Choose their level, leave your Viking behind, and return on death or by command. I tested multiplayer successfully.
| Last updated | a day ago |
| Total downloads | 173 |
| Total rating | 0 |
| Categories | Mods Enemies Server-side Client-side AI Generated |
| Dependency string | TenZly-PlayAsMob-1.0.3 |
| Dependants | 1 other package depends on this package |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2350README
PlayAsMob 1.0.3
Hi, I'm Ten Zly.
A lightweight BepInEx mod for Valheim. Version 1.0.2 keeps the public multiplayer map marker at your character's body when the mod is also installed on the host/server. Spawn a creature at the camera's position and take control of it while your original character stays behind.
Version 1.0.3 updates my descriptions and documentation only; gameplay is unchanged from 1.0.2.
Commands
Open the console with F5 (add -console to the game's launch options):
playasmob troll 2
playasmob Wolf
playasmob Hatchling 3
playasmob exit
playasmob attacks
playasmob help
- The default level is 1. Level 2 means one star; level 3 means two stars. The game handles health and damage scaling exactly as it does for a normally spawned creature. World difficulty settings still apply.
- Prefab names are case-insensitive. Press Tab to autocomplete available creature names, including creatures from other mods that use the standard
CharacterandBaseAIcomponents. playasmob exitreturns control to your character and leaves the creature alive, with its normal AI, current health, and level. If the creature dies, control returns to your character automatically.- Running
playasmob <prefab>again releases the previous creature and spawns a new one at the current camera position. An invalid name or level does not end the current possession. playasmob attacksshows the exact attack assignments for the creature you are controlling.- The command works without enabling
devcommands. This mod does not provide a server permission system.
Controls
| In-game binding | Action |
|---|---|
| Movement / left stick | Move the creature relative to the camera |
| Mouse / right stick | Turn the camera and change the direction the creature faces |
| Run | Use the creature's own running speed |
| Primary attack | Use the first group of creature attacks |
| Secondary attack | Use the second group of creature attacks |
| Block | Use the third group of creature attacks |
| Jump | Jump; for flying creatures, take off and ascend |
| Crouch | Descend while flying |
| Mouse wheel | Adjust camera distance |
The mod uses your existing game bindings. Attacks retain their native animations, damage, and cooldowns. Holding a button repeats the attack when its animation and cooldown allow it. Creature input is suspended while the console, a menu, or the inventory is open.
Attacks come from the creature's own randomly selected equipment. A troll carrying a log has different attacks from an unarmed troll. If a creature has more than three attacks, they are distributed across the buttons and cycled through on repeated use. If it has only one or two attacks, the remaining buttons repeat an available attack. Peaceful creatures with no attacks remain unable to attack. The mod does not give creatures your character's weapons.
Behavior
- Your character keeps their own stats, inventory, and model. These are not copied to the creature. A panel at the bottom of the screen displays the controlled creature's health and attack assignments.
- Your character's body can still take damage. If it dies, possession ends. Food and other effects on your character continue to expire normally.
- The creature retains its species, faction, resistances, and normal rules for damaging other creatures. It does not automatically become your ally or an enemy of its own species.
- The camera, audio listener, and world streaming follow the creature. The area around your character's body also stays loaded.
- Creatures spawn at the exact camera position. Ground creatures may fall from that position; aquatic creatures should be spawned in a suitable environment.
- Possession also ends when you log out, your character teleports, the creature is removed, or your client loses network ownership of it.
- Automatic detection covers creatures based on
CharacterandBaseAI. Decorative birds, fish, and other entities with separate movement systems are not supported. Creatures with custom scripts from other mods may need additional integration.
Multiplayer and compatibility
I manually tested multiplayer successfully on 20 September 2026. Install the mod on the client that will control creatures. It uses standard networked creatures and does not include a server permission system. Use it on servers where the host allows it; it does not bypass server mod restrictions.
Multiplayer map marker fix: install version 1.0.2 on both the controlling client and the host/dedicated server. The server sends the body position to all players, including those without this mod. Other players do not need to install it. On a server without the mod, possession still works, but the public marker continues to follow the creature. Camera and creature streaming are unchanged. Marker changes use Valheim's normal periodic player-list updates.
Version 1.0.0 was verified in-game on Valheim 1.0.12. Version 1.0.2 was built against 1.0.15 and passed 92 parser, input compatibility and map-position checks. The 14 map checks use game boundary doubles, not a live server; this update has not yet been retested in-game or in multiplayer. The earlier multiplayer result does not establish compatibility with every server setup or other mod.
Version 1.0.3 has English documentation and Polish in-game messages/HUD labels.
Installation
Requires BepInEx 5 with Harmony. Jotunn, CreatureQuests, and ShapeShiftManager are not required.
For Thunderstore, install through your mod manager with the listed BepInExPack dependency. For the Nexus/manual archive, extract its BepInEx folder into the game folder. The DLL should end up at:
BepInEx/plugins/PlayAsMob/PlayAsMob.dll
Close the game before installing or replacing the DLL. To remove the mod, move its DLL out of the plugins directory.
Building from source
The source code is in src/. Run the following commands from the repository root, replacing the example path with your Valheim installation directory:
dotnet build .\src\PlayAsMob.csproj -c Release -p:ValheimPath="D:\SteamLibrary\steamapps\common\Valheim"
dotnet run --project .\tests\PlayAsMob.Tests.csproj -c Release
dotnet run --project .\tests\map\PlayAsMob.MapTests.csproj -c Release
The compiled mod is written to src/bin/Release/net472/PlayAsMob.dll. Copy it to the installation path above.
The existing build.ps1 -Install helper assumes the project is located at BepInEx/mods/PlayAsMob. For a standalone checkout, use the explicit ValheimPath build command and install the DLL manually.
Inspiration and implementation
RustyMods' CreatureQuests, its Source/Transformation.cs, and its bundled Libs/ShapeShiftManager.dll were studied as references. That library replaces the player object with a creature form. PlayAsMob preserves the original player and takes control of a separate, standard creature, allowing normal AI to take over when possession ends.
PlayAsMob is an independent implementation for the current game API. The older library is neither bundled nor loaded.
See the verification report for results and scope. I used AI assistance to prepare the promotional artwork and release descriptions.
License
Released under the MIT License. A copy is included in each package.
Copyright (c) 2026 Ten Zly.