204 lines
14 KiB
Markdown
204 lines
14 KiB
Markdown
# LifePlay Revival — Unreal Engine 5.5 port
|
||
|
||
Community continuation of [LifePlay](https://github.com/vinfamy/LifePlay) by Vinfamy, a free, open-source and moddable
|
||
life simulation RPG (**adult content**), ported from Unreal Engine 4.27 to **Unreal Engine 5.5**.
|
||
|
||
## Download the full project
|
||
|
||
This Git repository does not contain the heavy assets (see [Repository contents](#repository-contents)). To build or
|
||
play, download the full source archive.
|
||
|
||
**[LifePlay_Revival_V1.5_UE5.5_Full_Source_Code.7z](https://mega.nz/file/n0BCwQSI#BZxJphBJNEmsZ6_WrVEbYMbfgwiL1srVXQmhz-3_3es)** (Mega, 6.20 GB) — developer archive (full project)
|
||
|
||
- SHA-256: `a71e77ca98c9a86399e4e8685f2b7ea74d6e9358694094968648f98acf7bc9d3`
|
||
- Larger than V1.4 because it includes the reference version `Releases/2026.10.1.5` (1.25 GB, already compressed
|
||
game packages), needed to cook asset mods.
|
||
- Previous versions:
|
||
- [LifePlay_Revival_V1.4_UE5.5_Full_Source_Code.7z](https://mega.nz/file/OooWxJSD#NXYzXcAUayOgQASAb-S-b2IWLd0nvGCT7ONsuJ1NOJM)
|
||
(4.94 GB, SHA-256 `bda44e52e8f45775e09fdea51b613bb64fc5e0c7fd0ec76108804e0bb39b3426`);
|
||
- [LifePlay_Revival_V1.3_UE5.5_Full_Source_Code.7z](https://mega.nz/file/etRHxBgL#HahjZwDV9SFlZ9sZvOc6hz_6JBgg-YjO14UUe0C73Fs)
|
||
(4.95 GB, SHA-256 `24e7d58f759ca8998fe0d7ddc8c6a4c30262978806903e6d3deb68b37c46512a`);
|
||
- [LifePlay_Revival_V1.2_UE5.5_Full_Source_Code.7z](https://mega.nz/file/jsxiGBzC#p7ATVcKz-7f_9CIqwXkhv3nILTIQ8txy5K_RZNxpF_c)
|
||
(4.94 GB, SHA-256 `fb298583743497799dd274cc62b8cf80fbef3445766be5898201924c64674f1a`);
|
||
- [LifePlay_Revival_V1.1_UE5.5_Full_Source_Code.7z](https://mega.nz/file/rwpRTbjA#P6sKfJM8xfGeLXcIylUsUvRSGezLi36FWtXgwxFxvvo)
|
||
(4.94 GB, SHA-256 `6dbfb18e55e51558708239856b54f757b6044307d2d1cf261e88c94baaf617ae`);
|
||
- the V1 archive is no longer hosted (storage space); its Git state remains available with the `v1.0` tag.
|
||
- Same layout as the original author's full source archives: the project folder at the archive root, 7z LZMA2.
|
||
- Contains the complete `Content` folder (including `Content/Heavy` converted to UE5 format), the compiled editor
|
||
modules in `Binaries` (the project opens without compiling), the `StreetMap` and `ModdingExtra` plugins, and a
|
||
`.git` folder matching this repository. From V1.5: the mod sources (`ModSources/`, with their assets) and the
|
||
reference version `Releases/<version>` needed to cook asset mods.
|
||
- Not included: `Saved`, `Intermediate` (regenerated on first build), local development tools.
|
||
|
||
Check the file after downloading (PowerShell):
|
||
|
||
```powershell
|
||
Get-FileHash .\LifePlay_Revival_V1.5_UE5.5_Full_Source_Code.7z -Algorithm SHA256
|
||
```
|
||
|
||
## Status: V1.5 (tag `v1.5`, 2026-10-03) — LifePlay 2026.10.1.5
|
||
|
||
Mods can now bring their own 3D assets, and the Mod Manager is available from the title screen. Verified in game.
|
||
|
||
- **Version number.** New format `year.month.major.minor`: V1.5 is `LifePlay 2026.10.1.5` (V1.4 stays `2026.10.4`).
|
||
- **Asset mods.** A mod can ship cooked 3D assets (meshes, textures, materials) in `LifePlay/Mods/<mod>/` next to its
|
||
text module in `LifePlay/Content/Modules/<mod>/`, without rebuilding the game. Mods are cooked against the
|
||
**reference version** of the release (`Releases/2026.10.1.5`, included in the full source archive). Tools:
|
||
`Tools/NewMod.ps1`, `Tools/EditMod.ps1`, `Tools/HairPipeline.ps1`, `Tools/BuildMod.ps1`. Guide (English):
|
||
[`Docs/Modding/FullGuides/Creating_Asset_Mods.md`](Docs/Modding/FullGuides/Creating_Asset_Mods.md).
|
||
- **Mod Manager on the title screen.** Choose your mods before starting or loading a game; the choice is saved. A mod
|
||
that the game does not know yet starts disabled (as in the original game), unless its `.lpmod` declares
|
||
`MODULE_DEFAULT_ENABLED: true`.
|
||
- **Mod metadata and version warning.** New optional `.lpmod` keys (version, dates, license, author link, price, game
|
||
version), shown in the Mod Manager; the game warns when an enabled mod was built for another game version.
|
||
- **Pocolov hairstyles as a mod.** The Pocolov hairstyles left the base game: they are now the asset mod
|
||
`lpr_hair_pocolov` (12 hairstyles, CC BY 4.0; sources in `ModSources/lpr_hair_pocolov`, credits in its
|
||
`CREDITS.txt`).
|
||
- **Game build.** The packaged game only contains the base modules `vin_Base` and `vin_VanillaRealistic`. The source
|
||
archive and this repository keep all modules.
|
||
|
||
## Status: V1.4 (tag `v1.4`, 2026-10-02) — LifePlay 2026.10.4
|
||
|
||
Moddable hairstyles, first new content, and a lighter game build. Verified in game.
|
||
|
||
- **Version number.** The main menu shows `LifePlay 2026.10.4`: year, month, release number (V1.4 = 4), read from
|
||
`ProjectVersion` in `Config/DefaultGame.ini`.
|
||
- **Hairstyles open to mods.** The hairstyle, beard and body-hair lists are no longer locked inside the `GI`
|
||
Blueprint: they are text files (`Content/Modules/**/*.lphair`). The base list is
|
||
`Content/Modules/vin_Base/Hairstyles/vin_Base.lphair` (verified identical to the original Blueprint table); any
|
||
module can add hairstyles with a three-line file, and disabling the module removes them.
|
||
- **6 new hairstyles** (Pocolov Hair 03, 06, 11, 15, 16, 17 — CC BY 4.0, credits in
|
||
`Licenses/Free_3D_Models_Credits.txt`), in the new `lp_Revival` module. They follow the head, neck and chest
|
||
(weights transferred from the body) and do not cut through the skin.
|
||
- **Hairstyle import pipeline** for developers: `Tools/HairPipeline.ps1` converts a static FBX hairstyle (Fab or
|
||
elsewhere) in two commands; protocol in
|
||
[`Docs/Migration/13_Protocole_Coiffure.md`](Docs/Migration/13_Protocole_Coiffure.md) (French).
|
||
- **Main menu.** Original author credited (Vinfamy); Donate links to the LifePlay Revival Patreon; new Discord link;
|
||
the "Commission Game Content" button is hidden.
|
||
- **Lighter game build.** The packaged game only contains the essential modules (`vin_Base`, `lp_Revival`,
|
||
`vin_VanillaRealistic`); the game handles missing modules. The source archive and this repository keep all modules.
|
||
- **Editor.** Thematic collections (`LifePlay_*`, regenerated by `Tools/BuildCollections.py`).
|
||
|
||
## Status: V1.3 (tag `v1.3`, 2026-10-02)
|
||
|
||
Data-loading release. Measured with Unreal Insights and verified in game.
|
||
|
||
| | V1.2 | V1.3 |
|
||
|---|---:|---:|
|
||
| Game data loading when starting or loading a game | ≈ 12.6 s | **≈ 1.3 s** |
|
||
| Scene header parsing (`PopulateScenes`) | 3.6 s | 0.15 s |
|
||
|
||
- **Data layer.** The ≈ 2,000 text files of `Content/Modules` are loaded once, in the background while the main menu
|
||
is shown, into a compiled cache (one JSON file per data type, `Saved/LPDataCache`, in `%LOCALAPPDATA%\LifePlay\Saved`
|
||
for the Shipping build). Only new or changed files are read again. The text files stay the source for the base game
|
||
and for mods: modding is unchanged.
|
||
- **Scene headers in C++.** The `WHAT:`/`WHERE:` expansion of scene headers, 94 % of scene loading, now runs in C++
|
||
with exactly the same results (verified against the original Blueprint on every call: 0 difference).
|
||
- **Fixes.** No more HairStrands errors at startup. ERR-038 (characters from the previous room briefly visible) is
|
||
still open: an experimental fix was withdrawn after testing.
|
||
## Status: V1.2 (tag `v1.2`, 2026-10-02)
|
||
|
||
Optimisation release. Every change was measured with the engine profilers (CSV profiler, memory tracker, Unreal
|
||
Insights) and validated in game. Details: [`Docs/Migration/11_Audit_Optimisation.md`](Docs/Migration/11_Audit_Optimisation.md).
|
||
|
||
| Shipping build | V1.1 | V1.2 |
|
||
|---|---:|---:|
|
||
| Size | 3,246 MB | **1,494 MB (−54 %)** |
|
||
| Files | 24,249 | **2,084** |
|
||
| Loading a saved game ("Continue") | ≈ 71 s | **≈ 15 s** |
|
||
| Physics memory | 463 MB | **83 MB** |
|
||
| Total memory | ≈ 3.5 GB | **≈ 3.1 GB** |
|
||
|
||
- **Faster loading.** The city map gave a physics body to each of its ≈ 160,000 decorative trees, cars and building
|
||
markers (the same in UE 4.27). Their collision is now disabled; clicks on map icons are unaffected.
|
||
- **Compressed content.** Game content now ships in UE5 IoStore containers compressed with Oodle (the engine
|
||
defaults). `Content/Modules` (all mods, text files) and the intro movie stay as plain files, so modding works as
|
||
before. The `ModdingExtra` plugin finds cooked assets through the asset registry when they are not plain files
|
||
(city list).
|
||
- **Smaller build.** 20 engine plugins the game never uses (neural network denoiser, Interchange, Fab…) are limited to
|
||
the editor, and debug symbols are no longer shipped.
|
||
- **Textures.** 29 clothing, road and pavement textures now have mipmaps (less shimmering at a distance).
|
||
- **Fixes and improvements carried over from the post-V1.1 work**: the phone call box now frames the contact's face
|
||
(was empty in UE 4.27); characters' feet are no longer hidden in outdoor locations (a ceiling 18 cm above the floor,
|
||
also in UE 4.27); explicit rendering settings and `SkyAtmosphere` instead of the deprecated `AtmosphericFog`.
|
||
- **Documentation** (French) for developers: architecture after the migration, developer guide, useful commands,
|
||
operating protocol — start at [`Docs/Migration/README.md`](Docs/Migration/README.md).
|
||
## Status: V1.1 (tag `v1.1`, 2026-10-01)
|
||
|
||
Changes since V1, each validated in game against UE 4.27 on an identical play path:
|
||
|
||
- **Text search fix (CX-B12).** In UE 5.5, searching for an *empty* substring reports a match at position 0, whereas
|
||
UE 4.27 reported no match. Blueprint `Contains`, `Split` and `Find Substring` nodes therefore behaved differently
|
||
(for example, face morph filtering let every morph through). 385 nodes in 28 Blueprints now call
|
||
`LPStringCompat` functions that keep the UE 4.27 behaviour. Runtime errors per character went back to UE 4.27
|
||
levels (session errors 30 → 7, out-of-bounds reads −22 %).
|
||
- **Deprecated nodes replaced.** 56 `Get SkeletalMesh` and 6 `GetRandomPointInNavigableRadius` nodes (same
|
||
behaviour, non-deprecated calls): Blueprint compilation and cooking now report **0 warnings**.
|
||
- **StreetMap verified.** All 280 cities (roads, buildings, amenities) and their 280 static meshes are identical to
|
||
UE 4.27; the smaller files come from the UE5 asset format, not from data loss.
|
||
- **Shipping build.** The Shipping configuration builds and was played without issue, with the same layout as the
|
||
original releases (loose files, no `.pak`, so the game stays moddable).
|
||
- Issues found during testing that also exist in UE 4.27 are documented in the error register and left unchanged.
|
||
|
||
## Status: V1 (tag `v1.0`, 2026-09-30)
|
||
|
||
- The `LifePlayEditor` target compiles with no errors; every Blueprint loads and compiles.
|
||
- All 8,563 project packages are saved in UE5 format.
|
||
- A packaged Development build was played for about two hours with no crash: distinct, visible and dressed characters,
|
||
scenes, saving and reloading.
|
||
- Known issues and planned work: [`Docs/Migration/Registre_Erreurs.md`](Docs/Migration/Registre_Erreurs.md) (error
|
||
register) and the L7 work packages in [`Docs/Migration/04_Cahier_Des_Charges.md`](Docs/Migration/04_Cahier_Des_Charges.md).
|
||
|
||
## Branches
|
||
|
||
| Branch | Contents |
|
||
|---|---|
|
||
| `main` | **reference**: the latest validated UE 5.5 version, base for further development |
|
||
| `ue5.5-v1.5` | the V1.5 as validated |
|
||
| `ue5.5-v1.4` | the V1.4 as validated |
|
||
| `ue5.5-v1.3` | the V1.3 as validated |
|
||
| `ue5.5-v1.2` | the V1.2 as validated |
|
||
| `ue5.5-v1.1` | the V1.1 as validated |
|
||
| `ue5.5-v1` | the V1 as validated |
|
||
| `archive/ue4.27` | the project as it ran on UE 4.27, before the migration (archive) |
|
||
| `archive/original` | Vinfamy's original repository, V3.6 (archive) |
|
||
|
||
## Developer documentation (French)
|
||
|
||
Start with [`Docs/Migration/README.md`](Docs/Migration/README.md). Main documents:
|
||
[architecture after the migration](Docs/Migration/07_Architecture_5.5.md),
|
||
[developer guide](Docs/Migration/08_Guide_Developpeur.md) (build, packaging, commandlets, writing a fix),
|
||
[useful commands](Docs/Migration/09_Commandes_Utiles.md) (including in-game diagnostic options) and the
|
||
[operating protocol](Docs/Migration/10_Protocole_Operations.md) followed for every change.
|
||
|
||
Each migration step has `<step>-avant` / `<step>-apres` (before / after) tags. The change log
|
||
[`Docs/Migration/Journal_Modifications.md`](Docs/Migration/Journal_Modifications.md) records every change with its
|
||
rollback procedure.
|
||
|
||
## Repository contents
|
||
|
||
Same rules as the original repository (see `.gitignore`): C++ code, configuration, the `ModdingExtra` and `StreetMap`
|
||
plugins, gameplay content (`BPs`, `UI`, `Structs`, `Render`, `Scenes`), the text data in `Content/Modules`, and
|
||
documentation.
|
||
|
||
**Not in Git**: `Content/Heavy` (3D models, textures, animations: about 6 GB), `Content/Saves`, `*.png`, `*.7z` and
|
||
`*.mp4` files, binaries and caches. **The repository alone is not enough to build or play**: use the archive above.
|
||
|
||
## Requirements
|
||
|
||
- Unreal Engine **5.5** (validated with 5.5.4), Windows 64-bit.
|
||
- Visual Studio 2022 with the "Desktop development with C++" workload, to rebuild the C++ modules.
|
||
- The `.uproject` references `McpAutomationBridge`, an optional AI editor-automation plugin used during the port
|
||
([ChiR24/Unreal_mcp](https://github.com/ChiR24/Unreal_mcp), MIT). It is not distributed here: when the editor asks,
|
||
let it disable the plugin.
|
||
|
||
## Migration documentation
|
||
|
||
The migration documentation is written in French. Entry point: [`Docs/Migration/README.md`](Docs/Migration/README.md)
|
||
(LifePlay architecture, software audit, test plan, specifications, change log, error register). The checking scripts
|
||
(`Tools/*.ps1`) and the diagnostic and fix commandlets (`Source/LifePlayEditorTools`) are described there.
|
||
|
||
## Licenses
|
||
|
||
Code and content are licensed under **AGPL-3.0** (`LICENSE`), like the original project. Third-party licenses and
|
||
credits (StreetMap, OpenStreetMap, ManuelLab, MakeHuman, 3D models, modding): see [`Licenses/`](Licenses/).
|