CinewareForUnreal enables seamless import of .C4D projects via Datasmith. It supports importing geometry as StaticMeshes, materials, textures, cameras, and lights. Render visibility and PSR animations are imported as LevelSequences, while point level animations and topology animations can be imported as GeometryCaches. However, SkeletalMeshes are not supported by Datasmith. To use it, click on the + icon at the top bar, click Datasmith > File Import.
CinewareForUnreal - "Cineware by Maxon"
This Unreal Engine plugin allows you to import C4D files through Datasmith. The importer generates assets and actors directly from any C4D project, eliminating the need for Cineware caches. There is an option to modify Cinema 4D attributes directly within Unreal by exposing them trough the Take System. Please make sure to read the guide carefully. If you encounter errors, bugs or any problems, please contact our support at https://support.maxon.net.
Datasmith is an import API in Unreal that enables the import and re-import of a broad range of proprietary file formats, including .c4d. Since UE 5.1.0 the pre-installed Datasmith C4D importer of the Engine is using the older Melange API. CinewareForUnreal, the new and improved Datasmith importer can be used, if it is added to the Plugins folder of the Engine or the Unreal project and if Cinema 4D 2023.x.x installed in its default path.
The plugin can store exposed properties via the Cinema's Take System into a CinewareAsset, allowing to edit these values via UI or Blueprints. Reimports in the CinewareAsset will apply these changes to the scene.
The plugin is supported on both Mac and Windows.
If you do not have Unreal Engine installed, head over to https://www.Unrealengine.com/get-now. Select your appropriate license, create an Epic Games Account, and download the Epic Games Launcher. Run the installer and open the launcher. Enter your credentials and select Unreal Engine in the left, navigation menu. Select the register Library. You should see a content area labeled Engine Versions. Click the plus sign to install the version needed.
The shipped plugin is now independent from the Unreal version and should work out of the box with all installations of UE 5.X.
On OSX its also required to download the latest version of Xcode so that Unreal Engine can compile. (https://apps.apple.com/us/app/xcode/id497799835?mt=12)
You can download the plugin at https://www.maxon.net/cinema-4d/features/Unreal-integration.
For the latest version of the plugin to work it is required to have Cinema 4D 2023.x.x installed on your system in its default path.
Installation Using the New Installer
The installation is now much simpler with the provided installer. After the installer has started, it will allow you to select for which engine version to install the plugins. If it can't detect an Unreal version, it will deselect the corresponding plugin, but you can still install it.
After selecting the versions and clicking 'Next' you can edit the destination paths. If the installer has detected the Unreal engine location, it will suggest the correct path (Engine/Plugins/Marketplace). In case the path does not match your Unreal installation, you should correct it. If you do not want to install into the Engine/Plugins/Marketplace folder, you can install it directly into the Plugins folder of your Unreal project.
Creating a new Unreal Project
To create a new project by launch the Unreal Engine and wait for a project hub window to appear. Create a new project with the templates of your liking. Select a location, click create and wait until the Editor has launched. Close the Unreal Editor and navigate to your project directory, from now on referred to as $PROJ_DIR.
$PROJ_DIR/ should contain a bunch of directories which depend on the template you selected and a .uproject file. Create a directory, name it Plugins and copy the provided CinewareForUnreal directory into it. The path $PROJ_DIR/Plugins/CinewareAsset/ should now contain the directories Binaries, Content and a .uplugin file.
Making sure the Plugin is enabled
Once your Unreal project is open, navigate in the menu bar to Edit/Plugins. This opens a window with a list of all installed plugins. Search for "cineware" and make sure Cineware by Maxon is there and activated. If you can't find it, make sure that it was installed correctly.
The plugin is not listed
Make sure you have installed the correct version to the correct engine. There is a a plugin for each Unreal 5.X version.
Should you encounter any issues please visit the following website: " https://support.maxon.net ".
Failed to import 'file://.....c4d' / Failed to load cineware
Make sure you have Cinema 4D 2023.x.x. installed in its default path.
How to use it
In the Unreal Editor, click on the icon at the top bar, Datasmith, File Import. Select your C4D project and click Open.
The import process will open two pop-up windows. In the first one, select the import location within the game project browser. The second window enables you to set your import settings.
The very first import will load up the Cineware engine. This process shows a progress bar and typically takes about 5 seconds (or as long as your usual Cinema 4D launch). Should this process take too long and stall, please contact our support. If this is your first Cineware Engine startup on the machine you will be prompted to enter your Maxon account credentials. A Maxon account is free to create and mandatory for using the engine. After successfully signing in, the actual file import begins.
With the 0.2023.8 update it is possible to import only selected elements and their children. This provides a more granular control of the parts of a scene you intend to import.
Enable the Selection Only check box in the Datasmith Import Options dialog. CinewareForUnreal will import the selected objects and their children of your saved Cinema 4D scene.
Custom Frame Range
With the 0.2023.8 update it is possible to import animations with a custom start and end frame. This can be done by enabling the Custom Frame Range option in the Datasmith Import Options dialog and then specifying the Start Frame and End Frame (inclusive).
It is possible to import GeometryCache assets. Any animation that is not just a set of position-scale-rotation (PSR) keyframes (i.e. morphing topology or an animated Cloner count), should be imported as a GeometryCache. To do this, enable Import Geometry Caches in the Datasmith Import Options popup.
After that you can select the objects to be imported as a GeometryCache.
When the import is done, there will be a folder named GeometryCaches in the Contents of the import. This folder will contain the GeometryCache assets and their respective LevelSequences.
It is possible to import keyframes of the Render Visibility attribute.
Change or add keyframes to the Render Visibility attribute inside Cinema. This can be done in the Attributes, in the Basic tab of the object.
Or inside the object manager using the stoplight dots for setting the viewport visibility and the render visibility. Only the render visibility (lower dot) will be imported into Unreal.
It is possible to import Redshift materials.
To create a Redshift material change the renderer from Standard to Redshift if you have not done so already. To do that open Render Settings and in the Renderer dropdown select Redshift.
Now you can create Redshift materials by opening the Material Manager on the right side, by clicking on the icon or by going to Window > Material Manager. To create a new material click on the plus icon in the Material Manager or go to Create > New Default Material. You should see that a new Redshift material was added to your list. If you double click the material, it will open the node graph, where you can edit the material. Add the material to an object by drag and dropping and save the project. The C4D file can be imported into Unreal by following the steps explained above.
In the latest version of this plugin (0.2024.9) we added the support for subsurface scattering (SSS) to the Redshift material import. To import SSS to Unreal, you will need a Redshift material with a Subsurface Weight greater than 0. For these the Unreal plugin has a separate reference material. Its material instances have additional SSS parameters that allow adjusting the SSS strength after the import.
Another new addition (version 0.2024.9) includes the option to manage the resizing of node material textures.
Don't enlarge - Node material textures keep their original size, if they are not larger than the size set in Texture Resolution (e.g. 128x128px would remain 128x128px, 4096x4096px would be resized to 2048x2048px).
Always - Node material textures will be resized to the specified resolution (e.g. both 128x128px and 4096x4096px would be resized to 2048x2048px).
Off - Node material textures keep their original size.
In the import window of Unreal you will now see also an additional import option which will allow you to choose your desired size of your texture maps.
With the 0.2023.8 update it is possible to import Redshift lights.
Currently supported light types are:
- Point Light
- Spot Light
- Area Light
- Infinite Light
It is important to keep in mind that Unreal has lumen and lux as light units and they behave differently when other properties change (e.g. spot light angle, area light size). To achieve a similar brightness, CinewareForUnreal uses these conversions:
|Intensity (lm) = Intensity / pi||Image|
|Intensity (lm) = Intensity||Luminous Power|
|Intensity (lm) = Intensity / (pi * 1000)||Luminance|
|Intensity (lm) = Intensity * LuminousEfficacy||Radiant Power|
|Intensity (lm) = Intensity * LuminousEfficacy / (pi * 1000)||Radiance|
Same conversions as for point lights is applied, except that the intensity is then adjusted by the Cone Angle:
Intensity (lm) = Intensity * (1 - cos(ConeAngle) * 0.5)
|Intensity (lm) = Intensity * Area / 2pi||Image|
|Intensity (lm) = Intensity * Area||Luminous Power|
|Intensity (lm) = Intensity / (pi * 1000)||Luminance|
|Intensity (lm) = Intensity * LuminousEfficacy * Area||Radiant Power|
|Intensity (lm) = Intensity * LuminousEfficacy / (pi * 1000)||Radiance|
|Intensity (lux) = Intensity * 500||Image|
|Intensity (lux) = Intensity * 200||Luminous Power|
|Intensity (lux) = Intensity / 10||Luminance|
|Intensity (lux) = Intensity * LuminousEfficacy / 17||Radiant Power|
|Intensity (lux) = Intensity * LuminousEfficacy / 17||Radiance|
With the 0.2023.8 update it is possible to import Redshift cameras. Only these properties can be imported into Unreal:
- Focal Length
- Sensor Width
- Focus Distance
- Sensor Aspect Ratio (= Render Settings)
- Shutter Speed
- ISO (or Exposure)
- Look-At Actor if one is set
Exposing CinewareAsset Properties via Cinema 4D Takes
Scene properties can be exposed to Unreal Engine via Cinema 4D's Take System. A video tutorial can be found here by GreyscaleGorilla on Youtube.
Open the Cinema 4D Take workspace and click Add New Take.
Switch to the state of the Take by left-clicking on it. All properties on scene objects should now be greyed out.
Right-click on the property you want to promote and click Override from the context menu. This will add the property to the selected take.
You can also add whole elements to the CinewareAsset by right clicking on the element (e.g. a cloner object and not just a single property) and then clicking Take Assignment > Your Take.
The supported override types are:
- Floating point
Save the file. Note that it is no longer necessary to save your project via the "Save for Cineware" command. This dramatically reduces the files sizes of shared .c4d files.
An initial import of .c4d files will be imported with the default values of exposed properties as they are set within the Cinema 4D scene. The import creates a CinewareAsset next to the Datasmith asset. This asset is filled with the properties exposed with the Take System.
There are multiple ways to edit the stored properties stored within the asset.
Double click the CinewareAsset to open up a Panel window displaying all the properties stored within the asset. The CinewareAsset is linked to the Datasmith asset via the original file path. Both absolute and relative paths are considered to make sure the project can be shared within a team. This means you can move the CinewareAsset anywhere within your project and rename it as you wish. For convenience the asset is created next to the imported Datasmith scene and named accordingly.
A CinewareAsset can be referenced by Editor Blueprints. Since the assets are cooked when the project is packaged, no runtime blueprint is able to work with the CinewareAsset. Cineware exposes several Blueprint Editor functions. It is possible to set data, read data or browse the given asset. This makes it possible to edit the values dynamically based on Editor events.
Setting properties by name
It is possible to use variables of type Cineware Asset for Editor Blueprint Actors and Editor Level Blueprints. There are a few Setter methods for the CinewareAssets. Use the same key as is displayed in the Cineware details panel. The methods return True if setting a value was successful. In the example below you can see the user converting an actor position from Unreal space to Cinema space before applying the value.
Reading properties by name
Cineware Assets have straightforward Getter methods which return a Boolean, stating if getting the value was successful and a struct containing all information depending on the type. Every struct contains the Key, Value, Type and sorted position in the Cinema 4D hierarchy. The container information varies depending on the out value.
Browsing for properties
There may be situations where you do not know the exact nature of the created asset. In these cases, you may want to browse through a given Cineware Asset and filter by name, value or type and apply some logic to it. Cineware Assets expose browsing properties for this to work. Note that in the example below the first call is the Begin Iteration, this resets all iterators of the asset. You can then browse through it by type. Via a while loop and a switch, you may then call the appropriate Get Next functionality. It is recommended to check the Boolean return value before accessing the returned container.
Things to consider:
- The coordinate systems differ between Unreal Engine and Cinema 4D. When setting Unreal Engine positions via Blueprints make sure to execute the UnrealToCinema4DPosition or Cinema4DToUnrealPosition blueprint method, before setting them in a CinewareAsset.
- When setting properties by their name, use the name as it is printed when having Friendly Property Names disabled in the CinewareAsset panel. Friendly keys are currently not supported.
- Make sure to check the returned Boolean value if it is safe to access the container
- CinewareAsset Blueprint functions can only be called in Editor Blueprints. If you do not have the option to call them, make sure you are running in an Editor environment. This is visualized with a yellow and black bar in the Blueprint layout.
For the changes of the CinewareAsset to be applied, press the 'Reimport' button in the CinewareAsset Editor.
You can reimport the scene as it was saved in Cinema by right-clicking the Datasmith asset and clicking 'Reimport'.
Objects with an annotation tag "exclude" will not be imported.
Should you encounter any issues please visit the following website: " https://support.maxon.net ". Here you can contact our support team.