Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
FREEDOM251

Freedom251 › Blog › game development

How to troubleshoot crashes, stuttering, or missing settings after a game engine change

By Freedom251 Team · · 13 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start by writing down the engine, exact old and new versions, operating system, GPU and driver, renderer or graphics API, target platform, and the point at which the problem appears: editor startup, project import, compilation, packaging, export, or runtime. Those details determine which compatibility notes and diagnostic path apply. Then protect the original project, reproduce the issue on a copy, and change one variable at a time.

A crash after an upgrade may be a script, package, plugin, or migration problem. A hitch may be first-use shader compilation rather than inadequate hardware. A setting that vanished from the editor may still exist in a configuration file, be hidden by an Advanced view, or be represented only by a runtime property. The sections below separate those cases and give recovery steps for Unity, Unreal Engine, and Godot.

As an Amazon Associate I earn from qualifying purchases.

1. Record the change and create a rollback point

Before opening the project again in the new editor, capture a small incident record. Include:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Engine name and the complete source and target version numbers.
  • Operating system, CPU, GPU, graphics-driver version, and window mode.
  • Renderer or graphics API, such as Forward+, Mobile, Compatibility, DirectX, or Vulkan.
  • Build target, including desktop, console, mobile, or web.
  • Third-party packages, plugins, native extensions, custom shaders, and custom build scripts.
  • The exact stage that fails: project-manager launch, editor startup, asset import, script compilation, build, export, packaged launch, or a particular level or scene.
  • Whether the symptom happens every time, only after a clean import, only on first use of an effect, or only on one machine.

Save the current state before conversion. Version control is the safest rollback method. If it is unavailable, copy the entire project to another location or an external drive. Unity’s upgrade guidance recommends version control and notes that generated Library data can often be omitted from a manual backup because the editor can regenerate it: Unity’s project-upgrade guide.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Unity: make a separate upgrade copy

Do not convert the only working checkout. Commit or tag the project at the old version, duplicate it, and open the duplicate in the target editor. Keep the old editor installed until the new copy has imported, compiled, and produced a representative build.

Unreal Engine: use “Open a Copy”

When Unreal offers the project-conversion choice, select Open a Copy. Epic states that a project updated to a newer Unreal version cannot be opened in an older version, and that an in-place conversion can cause irreversible data corruption or loss if conversion fails. The conversion dialog’s error log identifies causes that require manual resolution. See Updating Projects to Newer Versions of Unreal Engine. Epic’s documentation puts the compatibility boundary plainly: “After you update a project to a newer version of Unreal Engine, you will not be able to open it in an older Unreal Engine version.”

Godot: duplicate before importing

Keep the original project folder untouched and open a duplicate in the new Godot release. This is particularly important when an editor plugin, GDExtension, or project setting is involved, because the failure may occur before a scene can be opened.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Identify the failure stage before changing anything

The same symptom has different causes depending on where it appears. Use this first-pass map:

Where it fails Likely area to inspect first Useful evidence
Project manager or editor launches, then crashes Editor plugins, native extensions, graphics driver, corrupted import data, or an incompatible project feature Crash report, editor log, recovery or safe-mode result
Project opens but scripts do not compile Removed or deprecated APIs, package versions, compiler errors, and custom editor code Complete first error in the Console or build log
Import or shader compilation takes much longer Regenerated derived data, changed shader permutations, or an invalidated cache Import log, cache log, and whether the delay is one-time
Editor is usable but gameplay hitches First-use shader or pipeline compilation, synchronous loading, streaming, spawning, scene capture, or a frame-time bottleneck Repeatable frame-time capture in the same scene
Editor looks correct but the exported build lacks files Export filters, path spelling, filename case, or platform-specific packaging rules Export log and the packaged file list
A setting is missing from the UI Hidden Advanced settings, a moved or renamed option, a disabled plugin, implicit defaults, or platform-specific configuration Saved configuration and the runtime value

Record the first actionable error rather than the final cascade. Hundreds of secondary messages can follow one missing package or API, so fixing the earliest cause is usually more effective than editing every later line.

3. If the editor crashes or the project will not compile

Unity: use Safe Mode and resolve the first compiler error

If Unity detects compilation errors while opening the project, choose Safe Mode. It lets you correct scripts and package problems before the rest of the project finishes importing. In Safe Mode:

  1. Open the Console and copy the first compiler error, including the file and line number.
  2. Fix syntax errors, removed APIs, assembly-definition references, and namespace changes before addressing warnings.
  3. Open Package Manager and check whether packages used by the project support the target editor. Update or replace incompatible packages deliberately rather than upgrading every package at once.
  4. Review deprecation messages and the target version’s upgrade notes for changed workflows, rendering features, and build requirements.
  5. After the editor is clean, test a small scene, then a full build for each supported target platform.

Custom scripts, shaders, native plugins, and third-party assets deserve separate checks because an editor upgrade can expose an assumption that the old compiler or package version tolerated. Compare the upgraded copy with the backed-up project in the old editor under the same scene and quality settings. Unity’s detailed workflow is documented at https://docs.unity.com/en-us/engine/6000.7/manual/upgrade-guides/upgrade-project.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

Godot: try recovery mode when Project Manager startup fails

If Godot crashes as soon as the project is selected, open it in recovery mode. Recovery mode is intended to help isolate project-level causes such as editor plugins, GDExtensions, and other startup code. Disable the suspected plugin or extension in the copy, reopen normally, and re-enable items one at a time until the failure returns. The official troubleshooting page covers this path: Godot troubleshooting.

If the editor opens but a scene crashes, test an empty scene and then add the project’s autoloads, plugins, and native extensions incrementally. A crash that follows one extension is more useful evidence than a crash in the complete project.

Unreal Engine: preserve and read the conversion log

When conversion fails, save the error log before retrying. Use the named asset, module, or feature in that log to choose the next test; do not repeatedly convert the original project hoping the result will change. Check whether the project depends on systems that need manual migration. Epic’s UE4-to-UE5 migration guidance identifies areas such as Nanite, Lumen, and Chaos that can require project-specific updates: Unreal Engine 5 Migration Guide.

For a native-code project, rebuild the project files and compile the target in the new toolchain before diagnosing runtime behavior. For a Blueprint-only project, test a blank map, then load the affected map and disable recently changed plugins or systems. Keep the old checkout available because a converted project is not a reversible file-format operation.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

4. Diagnose stuttering without guessing at the hardware

First determine the pattern. Walk through the same route several times and note whether a hitch occurs only the first time a material, effect, or mesh appears, after a graphics-driver update, at a streaming boundary, or on every repetition. A one-time hitch and a persistent frame-time spike are different problems.

First-use shader and pipeline compilation

Godot documents stutter during first-playthrough shader compilation and after a driver update invalidates the shader cache. In Godot 4.4 and later, the Forward+ and Mobile renderers use an ubershader approach. Projects using the Compatibility renderer may need to render meshes and effects during level loading so compilation happens before interactive play. The guidance is at Godot’s stutter and jitter documentation.

For Unreal, Epic recommends PSO precaching and profiling PSO misses or late PSOs. A hitch that disappears after the relevant materials and effects have been encountered may be compilation work rather than a sustained GPU limit. Read Epic’s shader-stuttering article for the PSO workflow and the distinction between compilation and other traversal costs.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Persistent frame-time spikes

If the same hitch returns on every pass, capture frame times in a repeatable scene and compare the old and new engine versions with identical resolution, quality settings, renderer, driver, and scene state. Investigate the largest CPU or GPU event rather than relying on the average frame rate.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • CPU-side causes can include synchronous loading, excessive actor or object spawning, script work, garbage collection, and editor-only overhead.
  • GPU-side causes can include a changed rendering path, expensive materials, scene captures, shadows, post-processing, or a higher internal resolution.
  • Streaming problems can appear as traversal hitches when textures, meshes, or levels are loaded at the moment they are needed.
  • Driver, compositor, background-process, and window-mode differences can explain a problem that appears only on one operating-system setup.

Epic specifically lists synchronous loading, excessive spawning, streaming, scene captures, and other expensive operations as possible sources of traversal stutter, so profile those events instead of treating every hitch as a shader issue.

Unity comparison procedure

  1. Build a development version of the same scene with the old and new editor.
  2. Run a fixed route or input sequence at the same resolution and quality level.
  3. Capture CPU and GPU frame data, noting whether the spike occurs during rendering, scripts, loading, or asset work.
  4. Repeat after the first encounter with each effect. A spike that vanishes on repetition points toward first-use work; a recurring spike needs a performance investigation.
  5. Change one variable—renderer, quality option, package, driver, or scene system—then repeat the capture.

Do not use V-Sync as a universal fix

Godot notes that disabling V-Sync can make some stutter less noticeable, but it can introduce tearing and does not remove large shader-compilation hitches. Treat V-Sync and window mode as controlled test variables, not permanent cures. If changing them alters the symptom, continue testing the compositor, driver, frame-pacing mode, and workload that produced the spike.

5. Find settings that appear to have disappeared

Before re-entering a value, determine where the engine stores the authoritative state. A UI can hide an option without deleting it, and a saved default can differ from the value used after startup.

Unreal Engine: inspect project and platform configuration

Unreal Project Settings are written to configuration files. The editor normally updates Config/DefaultEngine.ini; platform-specific .ini files apply only to their platform and may need manual editing. Plugins can add their own settings categories, so confirm that the plugin is installed and enabled before concluding that an option was removed. Unreal’s Project Settings documentation is at https://dev.epicgames.com/documentation/unreal-engine/project-settings-in-unreal-engine?lang=en-US.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use the Project Settings window’s export and import functions to compare the old and new copies. Search the configuration files for the setting’s key, then check platform overrides that may supersede the default. A value visible in the editor may not be the value used by a packaged target if a platform file overrides it.

Godot: distinguish implicit defaults from saved values

Godot does not write every default into project.godot. An absent key can therefore mean “use the engine default,” not “the upgrade erased this setting.” Enable Advanced Settings in the Project Settings window to reveal options hidden from the standard view.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Many Godot settings are read only at startup. If runtime code changes a setting, inspect the corresponding runtime property or method when diagnosing behavior; the saved editor value may not describe the live state. The Project Settings reference explains these distinctions at Godot Project Settings.

Unity: check version-specific changes and packages

Unity can deprecate APIs, move workflows, or shift a setting into a package. Read the upgrade guide and release notes for the exact target version, then verify package versions and project assets. Unity 6.3 documentation, for example, says the UPM_NPM_CACHE_PATH environment variable is no longer supported and describes Android build-tool changes that can affect projects using custom Gradle templates or older plugins: Unity 6.3 upgrade guide.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When comparing settings, record both the serialized project value and the value reported at runtime. A setting can be present in a file but overridden by a platform profile, command-line argument, script, or package initialization.

6. When the editor works but exported files or assets are missing

Godot export filters and non-resource files

Godot projects can run correctly in the editor while omitting files from an exported build. Check the Export dialog’s file filters, especially for non-resource files such as JSON. Add an explicit filter when the file is not referenced as a recognized engine resource.

Then compare the exact capitalization of every filename and folder in code and on disk. The exported PCK filesystem is case-sensitive even when the default Windows filesystem is not. A path that works on Windows with Data/config.json may fail in the exported package if the actual path is data/Config.json. Godot’s troubleshooting documentation covers both export filters and path-case behavior: https://docs.godotengine.org/en/4.7/tutorials/troubleshooting.html.

General export checks

  • Delete only the old output directory, export again, and inspect the new export log.
  • Verify that the active export preset targets the intended platform and architecture.
  • Check whether a plugin or package supplies files through a separate build step.
  • Test the packaged build from a clean directory so it cannot accidentally read files left beside an earlier build.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

7. Handle caches without making diagnosis harder

Cache deletion is not a universal repair. A cache rebuild can explain a temporary increase in import or load time, but deleting data can also remove useful evidence and make the next run much slower.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Unreal Derived Data Cache

Unreal’s Derived Data Cache (DDC) stores regenerable data derived from source assets. Epic warns that absent cached files can dramatically increase load times. If Unreal appears not to be reading cached data, search the logs for LogDerivedDataCache before deleting directories. The official guide is Using Derived Data Cache in Unreal Engine.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Use a cache reset only after recording the current behavior and confirming that the cache is stale, corrupt, or incompatible with the target version. After the reset, allow the rebuild to finish and compare subsequent runs; a one-time rebuild delay is not the same as a persistent regression.

Other engines and import data

For Unity or Godot, preserve the project copy and logs before removing generated import or editor data. If a clean import fixes the issue, record which generated directory was rebuilt and whether the fix survives a second launch. That distinction tells you whether the problem was stale derived data or a repeatable incompatibility in source assets, packages, or project code.

8. Use a controlled comparison instead of changing everything at once

Once the project opens, create a small test matrix. Keep the scene, input sequence, build configuration, renderer, resolution, and driver constant while changing only the engine version.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Test Old version New version What it tells you
Editor opens an empty project Record result Record result Separates installation or driver problems from project migration.
Project opens with plugins disabled Record result Record result Points toward an extension or package when only the upgraded copy fails.
Representative scene, first run Capture frame times Capture frame times Shows import, shader, and first-use work.
Same scene, repeated run Capture frame times Capture frame times Shows whether the regression persists after caches are warm.
Packaged build from a clean folder Check assets and settings Check assets and settings Separates editor-only behavior from export and runtime behavior.

Change one item per iteration: a plugin, package version, renderer, driver, quality setting, export filter, or configuration override. Keep a short log of the change and result. This prevents a simultaneous cache purge, package upgrade, driver change, and renderer switch from producing an answer that cannot be reproduced.

9. Recovery decisions by symptom

The project crashes before the editor becomes usable

  1. Open the untouched backup in the old engine to verify that the project itself still works.
  2. Open the duplicate in the new engine’s recovery or safe mode where available.
  3. Disable editor plugins, native extensions, and recently upgraded packages in the duplicate.
  4. Read the first crash or conversion log entry and resolve the named dependency or feature.
  5. Re-enable components one at a time and keep the working checkpoint.

The project opens but frame pacing is worse

  1. Repeat the same route twice and classify the hitch as first-use or recurring.
  2. Capture CPU and GPU frame times in both engine versions.
  3. Check shader or PSO compilation, streaming, synchronous loading, spawning, scene captures, and driver changes.
  4. Test V-Sync and window mode separately, without treating either as a final fix.
  5. Only after evidence identifies a bottleneck should you change quality settings or hardware assumptions.

A setting is absent or seems reset

  1. Turn on Advanced settings or verify that the relevant plugin is enabled.
  2. Search saved configuration files, including platform-specific overrides.
  3. Check the exact target-version upgrade notes for renamed, deprecated, or package-owned settings.
  4. Read the live runtime property after startup; do not rely solely on the editor’s serialized value.

The editor is fine but the build is incomplete

  1. Inspect export filters and package logs.
  2. Check filename and directory capitalization.
  3. Export to a clean directory using the intended platform preset.
  4. Run the packaged build without neighboring files from an earlier export.

10. What a useful bug report should contain

If the issue remains, provide maintainers with a minimal reproduction and precise environment details. Include the engine’s exact old and new versions, operating system, GPU and driver, renderer or API, target platform, project reproduction steps, the first error in the log, and whether the problem occurs in the editor, import pipeline, build, export, or runtime. For stutter, include a repeatable route and whether the hitch disappears after first use. For missing settings, include the saved configuration key and the runtime value, if available.

Attach the smallest project or scene that still fails, not the entire production repository. A minimal reproduction makes it possible to distinguish a version incompatibility from a project-specific interaction and avoids exposing unrelated assets or credentials.

11. Version-specific references

Use the documentation for the exact engine release rather than a generic search result. These official references cover the workflows described here:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

game developmentgame enginesGodotperformanceshader compilationTroubleshootingUnityUnreal Engine

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.