
描述
Keystone Prefabs is an editor plugin that adds a prefab workflow to Unreal Engine 5.7 and 5.8.
Select actors, create a prefab, place it as many times as you need, and change one instance or all of them.
What you can do
- Create a prefab from selected actors, with a choice of pivot (bounds bottom center, bounds center, first selected actor, world origin).
- Nest prefabs inside prefabs. Cycles are detected and refused.
- Edit a prefab in place with Edit, Commit and Discard. Commit updates every loaded instance in one undoable transaction.
- Override properties on a single instance. The Details panel shows Revert to Prefab and Apply to Prefab buttons on overridden rows. Apply to the prefab, to a variant parent or to a nested prefab; Revert, Revert All and Apply All are available.
- Hide or delete a node on one instance with Remove Child.
- Create variants: a prefab based on another prefab that stores only the differences. Variants of variants are allowed.
- Put ISM and HISM components inside prefabs, with their instances overridable.
- Pack identical static meshes in a prefab into ISM/HISM components, with an estimate of draw calls before and after. Unpack restores the original nodes.
- Bake an instance to plain actors, a Level Instance or a Packed Level Actor, so you are never locked in. Baking is one-way and permanently free.
- Spawn prefabs and variants at runtime from cooked data (Blueprint or C++).
- Run a Prefab Health report: missing prefabs, broken references, stale overrides, out-of-date loaded and unloaded instances, orphaned node actors, resolve errors.
World Partition
A prefab instance is one actor. Component nodes (static meshes, ISM/HISM, lights, decals, audio) are components on that actor, so one instance is one external actor file. Blueprint and gameplay actors become attached node actors. Loaded instances re-sync on Commit. Instances in unloaded cells are found through actor descriptors without loading them, re-sync when their cell loads in the editor, or in bulk with the `UpdatePrefabInstances` commandlet, which prints the file list before changing anything and supports `-DryRun`, `-Verify` (for CI) and `-CheckOut`.
Automation
A Python API (`unreal.KPrefabEditorLibrary`, `unreal.KPrefabLibrary`) and the commandlet cover batch work and CI. The plugin ships a regression test suite and a packaged-build smoke test.
Tested
Built and tested on UE 5.8.4, Win64 editor: 21 Python editor tests, a commandlet stage on a World Partition map (3 stale unloaded instances detected via actor descriptors, re-saved, verified clean), 6 editor UI automation tests, and a packaged Win64 build that loads placed instances and spawns a variant from cooked data. In the author's measurements placing 200 instances took 1.2-1.6 s and committing an edit to 200 instances took 0.3-0.4s (Running on a 9950X3D). Pack of 1,000 identical cube meshes: estimated 1,000 to 1 draw calls (one HISM with 1,000 instances); Unpack restores all 1,000 nodes.
Limits (1.0)
No Landscape inside prefabs. Components created by construction scripts cannot be overridden. Static arrays and instanced-subobject properties are not overridable. Object references from prefab nodes to level actors outside the prefab are not stored. "Add child" overrides, randomized collections, PCG spawn nodes, per-prefab Data Layers, foliage capture, and Prefabricator and Level Instance importers are not in 1.0. Runtime prefab editing and replication of prefab structure are not supported. Unloaded World Partition instances are not updated by a commit.
Full list: Limitations page of the documentation.
Documentation and support
Documentation site (quick start, Coming from Unity, Coming from Prefabricator and Level Instances, source-control behaviour, Python and CI, Limitations, FAQ), changelog and public roadmap.
Support: public GitHub issues, reply within 3 business days.
Credits
Workflow inspired by Unity prefabs and prefab variants. Unity is a trademark of Unity Technologies; Keystone Prefabs is not affiliated with or endorsed by Unity.
Feature list
- Prefab assets created from selected actors, with pivot choice
- Component nodes and actor nodes (hybrid layout)
- Nested prefabs with cycle detection
- Edit in place: Edit / Commit / Discard, including nested prefabs
- Per-property and node-transform overrides, tracked automatically
- Apply to Prefab (with target choice across variant parents and nested prefabs), Revert, Revert All, Apply All
- Details-panel Revert/Apply buttons, row context menu, Outliner state column
- Remove Child: hide or delete per instance
- Variants (variant of variant), deltas only
- ISM/HISM components in prefabs, overridable instances
- Pack / Unpack with draw-call estimate
- Bake to Actors, Level Instance, Packed Level Actor
- Runtime spawn from cooked data: `SpawnPrefab`, `GetPrefabNodeByName`, `GetOwningPrefabActor`, `IsPrefabVariant`, `GetVariantParent`, `GetCookedNodeCount`
- Prefab Health report
- `UpdatePrefabInstances` commandlet for World Partition batch re-sync and CI
- Console commands `Keystone.SpawnPrefab`, `Keystone.ListPrefabs` (non-shipping builds)
- Asset thumbnails and Content Browser menus
- Diagnostics report for support requests (`Tools > Keystone Prefabs > Write Diagnostics Report`, console `Keystone.Diagnostics`)
- Asset thumbnails and Content Browser menus
Documentation








