Compatibility
What Crystal carries over from your scene
Compiled from the code of Crystal 0.1.2 (24.10.2026). Each row says what works and what does not. "Baked" means 3ds Max renders the map into a texture beforehand. Whatever is not carried over, Crystal reports in its log, crystal.log.
yes partial baked no unverified
Materials
| item | status | details |
|---|---|---|
| CoronaPhysicalMtl | partial | Works: base colour, roughness, IOR, metal, refraction, thin walls, clearcoat, sheen, emission, opacity, anisotropy, bump, SSS, absorption, dispersion, displacement Does not work: edge colour, clearcoat bump, IOR mode, maps for SSS radius, volume, thin absorption and anisotropy rotation, reflection and refraction background overrides |
| CoronaPhysicalMtl: complex metal IOR | partial | Works: metal colour seen head-on Does not work: the rim colour, which is Cycles' own |
| CoronaPhysicalMtl: translucency (not thin) | partial | Works: approximately, through subsurface scattering Does not work: an exact match with Corona |
| CoronaLegacyMtl | partial | Works: diffuse, reflection, Fresnel IOR, refraction, glossy refraction, SSS, translucency, absorption, scattering, dispersion, displacement Does not work: maps for IOR, refraction colour and gloss, absorption and anisotropy rotation |
| CoronaLayeredMtl | partial | Works: base material, layers, amount, mask Does not work: a mask amount below 100 |
| CoronaRaySwitchMtl | yes | Works: GI, direct, reflect and refract slots |
| CoronaSelectMtl | yes | Works: the selected material |
| CoronaLightMtl | partial | Works: colour, map, intensity, opacity Does not work: "Emit light" switched off, directionality |
| CoronaShadowCatcherMtl | partial | Works: backplate colour, shadow amount, alpha modes Does not work: backplate map, reflections |
| CoronaVolumeMtl | partial | Works: a uniform medium: absorption, scattering, emission Does not work: maps, inside-volume mode; scatters less than Corona |
| CoronaSkinMtl | partial | Works: one subsurface layer and one reflection Does not work: the other layers |
| CoronaHairMtl | partial | Works: the hair colour on a glossy surface Does not work: a hair shader |
| CoronaPortalMtl | yes | Works: the object becomes a light portal and is not rendered |
| CoronaSlicerMtl | no | What you get: a grey material |
| Physical Material | partial | Works: the main PBR channels, dispersion Does not work: diffuse roughness, thin film, displacement, separate transparency roughness, SSS depth and scale, coat colour and bump |
| PBR Material, glTF Material | yes | Works: through the Physical Material inside; their OSL maps are baked by 3ds Max |
| Multi/Sub-Object | yes | Works: per face, by the material ID list |
| Blend | partial | Works: mask, mix amount Does not work: the mix curve |
| Double Sided | partial | Works: the back-face material Does not work: translucency |
| Top/Bottom | partial | Works: world up Does not work: local coordinates (treated as world) |
| Shell Material, Material Switcher | yes | Works: the selected or baked material |
| Standard (Legacy) | partial | Works: diffuse, glossiness, specular level, opacity, diffuse, opacity and bump maps Does not work: the other maps |
| Matte/Shadow | partial | Works: Cycles' shadow catcher Does not work: shadow brightness and colour, reflections |
| Objects with no material | yes | Works: the object's wire colour |
| V-Ray, Arnold and other materials | no | What you get: a grey material |
| Material editor previews | partial | Works: on the CPU, up to 48 samples, studio lighting Does not work: the interactive material editor |
Maps and textures
| item | status | details |
|---|---|---|
| Bitmap | partial | Works: tiling, offset, W rotation, no-tile, channels 1–8, crop, Output Does not work: U and V angles, Place mode, gamma other than 1.0 and 2.2 |
| CoronaBitmap | partial | Works: file, tiling, offset, channel Does not work: real-world scale, rotation |
| UDIM, MultiTile | partial | Works: UDIM-named tiles (name.1001.ext) Does not work: ZBrush and Mudbox naming |
| Missing texture file | yes | Works: black, as in Corona, with a log line |
| CoronaColor | yes | Works: RGB, HDR, temperature, multiplier |
| CoronaColorCorrect | partial | Works: exposure, gamma, hue, tint, saturation, invert, brightness, contrast Does not work: white balance, LUT, curves, green-magenta |
| Color Correction | partial | Works: the main settings Does not work: tint, channel rewiring, lift, per-channel lightness |
| CoronaNormal | partial | Works: the normal map Does not work: flip red, swap red/green |
| Normal Bump | partial | Works: tangent space Does not work: other spaces |
| CoronaBumpConverter | yes | Works: height × strength |
| CoronaMix | partial | Works: 17 of 21 blend modes Does not work: Gamma, Vivid light, Pin light, Hard mix (fall back to a plain mix) |
| Mix | yes | Works: amount, mask, curve |
| Composite | partial | Works: modes that Cycles has Does not work: the other modes (fall back to Normal) |
| RGB Multiply, RGB Tint, Output, Checker | yes | Works: all settings |
| Falloff | partial | Works: the main modes Does not work: Shadow/Light (the first colour is used), "by object" (uses the view), local axes |
| Gradient | partial | Works: the gradient Does not work: gradient noise |
| Tiles | partial | Works: approximately, with Cycles' brick texture Does not work: an exact pattern match |
| Noise, Dent, Cellular, Water | partial | Works: approximately, with Cycles procedurals Does not work: an exact pattern match |
| Gradient Ramp, Swirl, Mask, CoronaTileMap, Substance, OSL | baked | Works: 3ds Max renders them to a 1024 × 1024 texture over UV Does not work: detail finer than that resolution |
| Marble, Wood, Smoke, Speckle, Splat, Stucco, Waves, Planet, Perlin Marble | baked | Works: a flat 1024² slice 200 units across, box-projected Does not work: the 3D pattern: it repeats every 200 units |
| CoronaMultiMap | partial | Works: random per object or instance Does not work: hue, saturation and gamma randomisation |
| CoronaFrontBack, CoronaRaySwitch, CoronaSelect, CoronaAO | yes | Works: all settings |
| CoronaTriplanar | partial | Works: the X map Does not work: separate maps per axis, object space |
| CoronaRoundEdges | partial | Works: in a bump slot Does not work: in other slots |
| CoronaWire | partial | Works: triangle edges Does not work: hiding invisible edges |
| CoronaCurvature | partial | Works: approximately Does not work: an exact match with Corona |
| CoronaMappingRandomizer | partial | Works: random per object (different numbers than Corona) Does not work: steps, stochastic tiling |
| Vertex Color | yes | Works: all settings |
| Map Output Selector | partial | Works: picking an output Does not work: over OSL maps (they are baked) |
| wParallax (jiWindowBox) | yes | Works: all settings |
| Forest Color, Forest Edge | yes | Works: all settings |
| RailClone Color | unverified | |
| CoronaEdgeMap, CoronaDistance, CoronaUserProperty | no | What you get: a constant colour ("far" or the default) |
| CoronaData, Raytrace, Reflect/Refract, Flat Mirror, Thin Wall Refraction, Particle Age, Particle MBlur, Camera Map Per Pixel, Vector Map, Vector Displacement | no | What you get: magenta, with a warning in the log |
| Phoenix, tyFlow, Chaos Scatter maps; CoronaSky as a material map | no | What you get: magenta |
Lights, sky and environment
| item | status | details |
|---|---|---|
| CoronaLight | partial | Works: sphere, rectangle, disk; Corona units, lm/cd/lx, temperature, IES, directionality, visibility Does not work: the cylinder shape (renders as a sphere), the light's texture map |
| CoronaSun | yes | Works: colour modes, temperature, legacy mode, size |
| CoronaSky | partial | Works: Cycles' physical sky driven by CoronaSun, ground colour Does not work: clouds, the sun disc; side light differs by 15–30 % |
| Omni, Spot, Directional | partial | Works: type, colour, multiplier, cone, shadows (when on) Does not work: decay; omni and spot brightness is not calibrated |
| Photometric lights | partial | Works: IES files Does not work: IES rotation |
| Physical Sun & Sky (Sun Positioner) | no | What you get: background colour only |
| Skylight, Sun Positioner | unverified | |
| HDRI (Bitmap, CoronaBitmap) | partial | Works: spherical mapping, rotation through U offset or angle, mirroring through negative U tiling Does not work: W angle, other mappings |
| Environment colour, CoronaColor, CoronaColorCorrect | yes | Works: all settings |
| Corona environment and overrides | yes | Works: carried over when switching from Corona: direct, reflect, refract |
| Global volume (fog) | partial | Works: CoronaVolumeMtl, as a 100 m sphere around the camera Does not work: other volumes |
| Portals | yes | Works: CoronaPortalMtl, objects named "CrystalPortal…", automatic window portals |
| Lights scattered by Forest Pack | yes | Works: one light per item |
Cameras
| item | status | details |
|---|---|---|
| Free/Target camera, viewport | yes | Works: all settings |
| Orthographic camera and view | yes | Works: all settings |
| Clipping planes | yes | Works: all settings |
| CoronaCam | partial | Works: DOF, zoom, shutter, ISO, tilt/shift, auto vertical tilt, its own colour mapping and bloom Does not work: bokeh shape; a horizontal tilt together with a vertical one |
| Physical Camera | partial | Works: DOF, focus, EV or ISO/f-stop/shutter, motion blur Does not work: shift, distortion, vignetting, bokeh |
| CoronaCameraMod | partial | Works: exposure Does not work: the other settings |
| Depth of field | yes | Works: matched to Corona at f/1.4 |
| Motion blur | partial | Works: object and camera motion Does not work: deforming meshes, space warps, per-object settings |
Geometry and modifiers
| item | status | details |
|---|---|---|
| Meshes, modifier stacks, renderable splines | yes | Works: 3ds Max's final mesh; hidden and non-renderable objects are skipped |
| Smoothing groups | partial | Works: normal smoothing Does not work: faces in several groups smooth only with faces of exactly the same set |
| Corona displacement (Physical, Legacy) | partial | Works: true displacement at ~2 px, up to 6M triangles Does not work: water level |
| CoronaDisplacementMod | no | What you get: the modifier is ignored |
| CoronaProxy | partial | Works: its render mesh Does not work: animated proxies (not verified) |
| Hair and Fur | partial | Works: real curves, one colour per modifier Does not work: a hair shader (a soft shader is used instead) |
| Ornatrix and other hair plugins | unverified | Works: if the plugin implements 3ds Max's hair interface |
| CDecal | partial | Works: projection in its box Does not work: mask, bend, channel selection, decal bump and displacement |
| Camera and reflection visibility | no | What you get: only Cast Shadows is read |
Third-party plugins
| item | status | details |
|---|---|---|
| Forest Pack Pro, ForestIvy | partial | Works: real instances, Edge mode, scattered lights, Forest Color Does not work: animated proxies |
| RailClone | partial | Works: segments as instances with their own materials Does not work: non-geometric segments |
| Chaos Scatter | partial | Works: rebuilt from its settings at the same density, not at the same positions Does not work: splines, volume, falloff, camera clipping, painted or edited instances |
| tyFlow | partial | Works: instances, each a separate mesh, up to 200,000 Does not work: tyFlow maps (magenta) |
| Phoenix FD, OpenVDB | no | What you get: the volumes do not render |
Corona settings
| item | status | details |
|---|---|---|
| Exposure, ACES OT, Filmic, Reinhard, contrast | yes | Works: carried over when switching from Corona; ACES measured identical to Corona |
| White balance, tint, green-magenta, saturation, LUT, vignette | yes | Works: all settings |
| Bloom & Glare | yes | Works: all nine settings; CoronaCam's override wins |
| Sharpening | partial | Works: amount, radius Does not work: blurring |
| Denoise amount, noise limit, max sample intensity | yes | Works: all settings |
| Curves operator, reordered operators | no | What you get: a fixed operator order |
| Denoiser type, pass and time limits, GI solvers, ray depth | no | What you get: set in Crystal's own settings |
| Corona LightMix and LightSelect | no | What you get: Crystal has its own LightMix, see below |
Crystal features
| item | status | details |
|---|---|---|
| Devices | yes | Works: OptiX (default), CUDA, CPU |
| AMD and Intel GPUs | no | What you get: choose CPU by hand: Crystal does not switch by itself |
| Denoisers | yes | Works: OptiX, DLSS, temporal denoising for animation |
| Open Image Denoise | unverified | |
| DLSS Ray Reconstruction | partial | Works: on RTX cards; upscaling in ActiveShade Does not work: upscaling the final render, region render |
| Noise and time limits, adaptive sampling, GI cache, light tree | yes | Works: all settings |
| Photon caustics, dispersion | yes | Works: caustic casters and receivers are chosen automatically |
| Frame Buffer | yes | Works: zoom, RGB/alpha, A/B compare, pixel probe, save PNG/EXR/HDR, region, camera picker |
| Render passes | partial | Works: diffuse, glossy, transmission, emission, depth, normal, albedo, noisy — in Crystal's frame buffer Does not work: handing passes to 3ds Max Render Elements |
| Render Elements 3ds Max | no | What you get: passes exist only in Crystal's frame buffer |
| LightMix | partial | Works: the first eight lights by name, the other lights, the environment and emission — in Crystal's frame buffer Does not work: more than eight separate groups, Corona's LightMix |
| ActiveShade, region render, animation, autosave, pause | yes | Works: all of these |
| 3ds Max 2023–2027 | partial | Works: every version is built and packaged Does not work: only 2024 is render-tested |
| 3ds Max 2022 and older | no | What you get: not built |
Missing your material or plugin? Tell us on Boosty.