TenZly-PlayAsMob icon

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-5.4.2350 icon
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.2350

README

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 Character and BaseAI components.
  • playasmob exit returns 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 attacks shows 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 Character and BaseAI. 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.