Skip to content

About

Reconstruction Toolkit for Unreal Engine

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

413 stars

Watchers

10 watching

Forks

Repository files navigation


Reflection takes assets from FModel, and puts them straight in your project: materials, data tables, physics assets, and more.

Tutorial

GitHub Repo stars GitHub Downloads Total Count (all assets, all releases) Discord MIT License

image

Uses · Asset Types · Installation · Cloud · Workflow · Contributors

Uses 🧩

Materials
Materials, functions and instances, with data assets and data tables. See every type
Meshes and physics
Skeletal and static meshes, with the physics assets behind them.
Sound
Sound cues and most other sound classes, ready to play.
Whole workflows
Name one asset and everything it references comes with it.

This project aims to streamline the porting and modding experience, making it easier to bring game assets into Unreal Engine.

Asset Types 📦

Anything not listed here isn't supported yet.

Category Types
🟠 Material Material, MaterialFunction, MaterialInstanceConstant, MaterialParameterCollection, SubsurfaceProfile
🟧 Texture Texture2D, TextureCube, Texture2DArray, VolumeTexture, TextureRenderTarget2D, TextureLightProfile, RuntimeVirtualTexture, PaperSprite, PaperSpriteAtlas
🟦 Mesh SkeletalMesh, StaticMesh
⚪ Physics PhysicsAsset, PhysicalMaterial
🔴 Animation AnimSequence, AnimMontage, PoseAsset, Skeleton, SkeletalMeshLODSettings, BlendSpace, BlendSpace1D, AimOffsetBlendSpace, AimOffsetBlendSpace1D, ControlRigBlueprintGeneratedClass
🟡 Sound SoundCue and most other sound classes
🟢 Curve CurveFloat, CurveVector, CurveLinearColor, CurveLinearColorAtlas
🔵 Table CurveTable, DataTable, MirrorDataTable, StringTable
🟣 Data DataAsset, CurveExpressionsDataAsset, SlateBrushAsset, SlateWidgetStyleAsset, LandscapeLayerInfoObject, HLODProxy, AnimBoneCompressionSettings, AnimCurveCompressionSettings, FortBakedPropertyMetadataCache, UserDefinedEnum, UserDefinedStruct
✨ Effects ParticleSystem, VectorFieldStatic
💫 Niagara NiagaraParameterCollection, NiagaraParameterCollectionInstance, NiagaraParameterDefinitions, NiagaraEffectType, NiagaraDataChannelAsset, NiagaraAssetTagDefinitions, NiagaraValidationRuleSet, NiagaraSimCache, NiagaraSystemReadinessSettings
🟩 Landscape LandscapeGrassType, FoliageType_InstancedStaticMesh, FoliageType_Actor
🟤 Sequencer CameraAnim, ForceFeedbackEffect
🧠 AI BehaviorTree, BlackboardData
🔤 UI Font, FontFace

Blueprints and Levels

Warning

Experimental. Both need Enable Experiments in Plugin Settings.

Blueprints, Widget Blueprints and Animation Blueprints rebuild their components, variables and defaults, and their graphs are rebuilt from the bytecode where the parent class exists. Levels place the actors they hold, with settings for what to place and what to skip.

Note

Material data. Unreal Engine games made below 4.12 (a guess) will have material data. Games made above that version will most definitely not have any material data, and therefore the actual data will be stripped and cannot be imported. Unless you are using a User Generated Content editor, then it's possible material data will be there.

Tip

C++ classes. If your game uses custom C++ classes or structures, you need to define them. See Unreal Engine Modding Projects for game-specific template projects.

Installation ⚙️

Important

Install FModel and set it up before going any further.

  1. Add the plugin to your project. From your project root, where the .uproject is:

    git submodule add https://github.com/JsonAsAsset/Reflection.git Plugins/Reflection
    git submodule update --init --recursive

    This tracks every commit, so fixes for new Unreal versions reach you first, though it may occasionally need a manual fix. For a stable release instead, download Source code (zip) from the Releases page and extract it to Project/Plugins/Reflection/.

  2. Build it for your engine version, following Epic's guide.

  3. Open your project. The Reflection button appears on the content browser toolbar.

Build failing on Unreal Engine 4 with UnrealBuildTool.exe not found?

Some UE4 builds are missing a platform path. Add this to the bottom of UE_[VERSION]/Engine/Config/BaseEngine.ini and save:

[PlatformPaths]
UnrealBuildTool=Engine/Binaries/DotNet/UnrealBuildTool.exe

Cloud ☁️

The Cloud app is Mirror. It reads the game's files and hands Reflection each asset as it's asked for, over localhost:1500. Set up an instance and start it.

Mirror running and ready

With Mirror running, Reflection:

  • Fetches references automatically instead of asking you for each one.
  • Pulls data a json export doesn't carry, like mesh geometry, skin weights and morph targets.
  • Reads from the profile you pick, one per game build, from the Profile tab of the Reflection dialog.

Tip

No Cloud? Turn on Use Local Json instead of Cloud in Plugin Settings, and the Reflection button imports a json you exported from FModel yourself. References aren't fetched for you that way.

Workflow 🔁

Reflection works off asset paths. With Cloud running, nothing has to be saved out of FModel first.

  1. Copy an asset's path in FModel, like /Game/Asset.uasset. A reference copied straight out of FModel works too.

  2. Press the Reflection button on the content browser toolbar. Paths already on your clipboard are queued for you.

    The Reflection button on the content browser toolbar

  3. Queue as many as you want. Type or paste a path and press Enter. Several pasted at once queue one per line, and X takes one back out.

    The Reflection dialog

  4. Press Reflect. Every reference each asset needs is fetched as it goes, so you only ever name the one you want.

Anything that couldn't be rebuilt is listed in the Errors window at the end.

Caution

Please note that this plugin is intended solely for personal and educational use.

Do not use it to create or distribute commercial products without obtaining the necessary licenses and permissions. It is important to respect intellectual property rights and only use assets that you are authorized to use.

We do not assume any responsibility for the way the created content is used.

Contributors ❤️

Thanks go to these wonderful people:


Tector

Creator

GMatrixGames

Co-Founder

Special thanks to:

Thanks to the people who contributed to UEAssetToolkit!

About

Reconstruction Toolkit for Unreal Engine

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

413 stars

Watchers

10 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages