Mimesis Clone is an experimental Unity game that replicates the core concept of the horror game Mimesis. This is a first-person cooperative horror experience built around paranoia and distrust between players. During a session, one of the characters is a hostile entity — an NPC capable of imitating human behavior: movement, pauses, direction changes, reactions, and attempts to appear natural.
The danger lies not in direct confrontation, but in the uncertainty of who you are facing: a human or an imitation. The game provides no explicit hints or UI indicators. Tension is created through observation of behavior, doubt, misinterpretation of other characters' actions, and sudden moments of revelation.
This project explores whether AI can fully generate a complete video game. It was created using Codex 5.3, with 3D models generated using Hunyuan. The Unity ↔ Codex integration was done via unity-mcp-server.
Watch the creation process on YouTube: Watch the Creation Process
- Go to the Releases page of this repository.
- Download the latest release archive (MimesisClone.zip).
- Extract the archive to a folder on your computer.
- Run the executable file (MimesisClone.exe) to start the game.
- Clone the repository:
git clone https://github.com/breineng/mimesis-ai-clone-unity.git - Open the project in Unity Editor (version 6000.0 or later).
- Note: The tree asset has been removed from the repository due to licensing restrictions. Download it for free from the Unity Asset Store: URP Tree Models and import it into the project.
- Set up Photon App IDs — the project requires two Photon application IDs (not included in the repo):
- Create a free account at dashboard.photonengine.com.
- Create a new Fusion application and copy its App ID.
- Create a new Voice application and copy its App ID.
- In the Unity Editor, open
Assets/Photon/Fusion/Resources/PhotonAppSettings.assetand paste the IDs into theApp Id FusionandApp Id Voicefields respectively.
- In the Unity Editor, open the scene located at
Assets/Scenes/Preloader.unity. - Press Play in the Editor to run the game, or build it for your target platform.
- Up to 4 players can connect via a room code system (host shares the code).
- One or more Mimesis NPCs infiltrate the session, mimicking real player behavior.
- Players find and collect loot scattered around the map and deliver it to the designated zone.
- Players can attack suspected entities using melee combat.
- Eliminated players enter spectator mode and observe the remaining participants.
- Voice chat is spatial and always-on — voices come from character positions in the world.
This project uses Unity with C# scripting, Photon Fusion 2 for networking, and Photon Voice 2 for spatial voice chat.
Follows a three-tier Dependency Injection context hierarchy powered by BehaviourInject:
- ApplicationContext — global application context, persists across scenes. Contains core services:
SceneLoader,FusionSession,GameSettingsService,PlayerProfileService. - GameContextRoot — gameplay context, active during gameplay. Contains:
MimesisBehaviorTracker,MimesisNpcDirector,LootDeliverySystem. - MenuContextRoot — menu context, active only in menu scenes.
| Pattern | Implementation |
|---|---|
| Dependency Injection | BehaviourInject with hierarchical contexts |
| MVC | UI Controllers + Views + ScreenManager |
| Strategy | LootItemActionBehaviour for item behaviors (melee, flashlight) |
| Observer | Events in settings and UI systems |
| Registry | SpawnPointRegistry, LootItemCatalog |
| Data-driven config | LootItemData (ScriptableObject), MimesisBehaviorProfile |
| Scene | Purpose |
|---|---|
Preloader |
Technical startup, initializes ApplicationContext, transitions to Menu |
Menu |
Main menu — host game, join by code, exit |
Game |
Core gameplay scene with system objects; Map1 is loaded additively on top |
Map1 |
Playable environment with spawn points, loot points, and nav mesh |
NPCs use the same character architecture as players: unified movement controller, inventory, pickup/drop, and world representation. The only difference is the control source.
MimesisBehaviorTracker— samples real player position, rotation, speed, and interaction patterns every 0.5s. Builds a behavioral profile in real time.MimesisNpcBrain— drives NPC input using NavMesh pathfinding, wander behavior, pausing, strafing, and backpedaling. Adjusts dynamically to match observed player patterns.MimesisNpcDirector— manages NPC lifecycle. NPCs spawn only after players collect loot (gated spawn), appear out of sight, and are capped at 3 per session.
- Photon Fusion 2 (shared/host mode) for state synchronization.
NetworkPlayersynchronizes: position, yaw/pitch, active inventory slot, running state, and NPC flag.- All loot, pickups, drops, and damage are authority-validated and replicated.
All UI is built with UI Toolkit (UI Elements). Architecture follows MVC:
- Controllers:
PauseMenuController,SettingsScreenController,InventoryHudController,MenuScreenController,JoinRoomController - Views: corresponding View classes per controller
ScreenManagerhandles screen show/hide lifecycle
- BehaviourInject: Lightweight DI framework for Unity (MIT license).
- Photon Fusion 2: Multiplayer networking SDK.
- Photon Voice 2: Spatial voice chat SDK.
- unity-mcp-server: MCP server for Unity ↔ AI integration.
- URP Tree Models: Free tree assets for URP (not included in repo, download separately).
- Hunyuan 3D: AI-generated 3D models.
- Unity Universal Render Pipeline (URP).
- Unity 6000.0 or later for development.
- Windows OS for running builds (other platforms via source build).
- Standard PC hardware capable of running Unity games.