CW Gas Giant is a pack of high detail animated gas giant planet and ring prefabs that can be added to the background of your 3D scenes.
You can place the prefabs anywhere in the sky, adjust their size, atmosphere fog, color, and other visual properties. Just keep in mind these are background-only objects, so you cannot fly toward them.
This asset supports all 3 render pipelines (Standard, URP, HDRP) in a seamless way that automatically detects your current project settings, and makes the required modifications to the scene so they look similar.
This compatibility was made possible using the Better Shaders system (not required).
The Better Shaders asset generates multiple variants of each shader ahead of time, so even if you don't have this asset you will still be able to have full render pipeline compatibility with this asset.
BetterShaders (and therefore this asset) currently supports:
Standard - All versions supported by this asset.
URP7.x in Unity 2019.3LTS
URP10.x in Unity 2020.3LTS
URP12.x in Unity 2021.2
URP14.x in Unity 2022.2->2022.3LTS
HDRP7.x in Unity 2019.3LTS
HDRP10.x in Unity 2020.3LTS
HDRP12.x in Unity 2021.3LTS
HDRP14.x in Unity 2022.2->2022.3LTS
Support for newer versions will appear when it does in this asset.
Before you add background objects, make sure your scene has a GameObject with the CwBackground component attached.
In your Project tab you can go to the Plugins/CW/GasGiant/Prefabs folder, find the planet prefab you want, and drag and drop it into your scene.
After you add the prefab to your scene, you can adjust its visual settings via the inspector.
To adjust the planet's position in the sky, you can modify the Transform component's Rotation setting.
To adjust the planet's size in the sky, you can modify the CwBackgroundPlanet component's Arc setting.
To adjust the material settings you can find the CwBackgroundPlanet component's MaterialOverrides setting, and click the Add button to a new one. For example, the _CW_AtmosphereFog property can be overridden to change the atmosphere thickness.
Enter play mode and enjoy the high detail planet!
Before you add background objects, make sure your scene has a GameObject with the CwBackground component attached.
In your Project tab you can go to the Plugins/CW/GasGiant/Prefabs folder, find the ring prefab you want, and drag and drop it into your scene.
After you add the prefab to your scene, you can adjust its visual settings via the inspector.
To adjust the ring's position in the sky, you can modify the Transform component's Rotation setting.
To adjust the ring's size in the sky, you can modify the CwBackgroundRing component's Radius and Thickness setting.
To adjust the material settings you can find the CwBackgroundRing component's MaterialOverrides setting, and click the Add button to a new one. For example, the _CW_Color property can be overridden to change the ring color.
Enter play mode and enjoy the high detail ring!
In your Project tab you can go to the Plugins/CW/Backgrounds/Required/Prefabs folder. Inside here you can find the Starfield1/2/3 and Sun1 prefabs. Pick the prefab you want, and drag and drop it into your scene.
Enter play mode and enjoy the high detail stars!
Here's a list of all my other assets, please check them out!
You can also view this list on my Asset Store page.
Rapidly develop your game with consistent input across desktop & mobile using Lean Touch. This lightweight asset comes with many modular components, allowing you to customize them to your exact project needs!
Lean Touch+ is an extension to the popular Lean Touch asset, adding many more example scenes.
Lean Localization is a localization library that's designed to be as simple to use as possible for both designers, and programmers.
Quickly optimize the performance of your games using Lean Pool. Within minutes you can use this lightweight asset to preload, recycle, and limit the spawning of your prefabs.
Quickly polish your games using Lean Transition. This asset allows you to easily tween or animate almost anything in your game, making it transition smoothly.
Lean GUI is a colllection of components that extend Unity's GUI system, allowing you to rapidly enhance the user experience (UX) of your game's UI.
Lean GUI Shapes allows you to quickly add lines, rounded boxes, polygons, and much more to your GUI!
Lean Texture allows you quickly modify textures in your project with a range of filters, pack them together into channels, and much more!
Lean Texture+ is an extension to Lean Texture, adding many new types of texture modification tools!
Unlock a universe of visual possibilities with Modular Backgrounds. Simply drag and drop these graphics into the background of your scenes.
Paint all your objects using Paint in 3D - both in game, and in editor. All features are optimized with GPU accelerated texture painting, so you can enjoy consistent performance, even if you paint your objects one million times!
Paint all your sprites with Paint in 2D. With incredible performance on mobile, WebGL, and much more!
Paint in Editor unlocks the ability to paint objects in your scene - great for making small tweaks, or even creating entirely new texture sets!
FLOW allows you to add large scale interactive fluids to your scene - all highly optimized using GPU acceleration.
Unlock the full potential of your 2D games using Destructible 2D, this asset allows you to quickly convert all your boring solid sprites into fully destructible ones!
Quickly make the space scene of your dreams using Space Graphics Toolkit. This huge collection of space effects can be customized and combined in any way you like, allowing you to quickly make realistic or fantasy worlds. Each feature has been heavily optimized to run on almost any device and platform.
Enhance your space scenes using this large pack of high detail volumetric planets. These planets are finished using the powerful planet features from Space Graphics Toolkit (not required).
Unity sounds only emanate from a single point source. This is great for explosions and footsteps, but quite often you need something more advanced. Volumetric Audio is an easy to use package that allows you to define boxes, spheres, capsules, paths, or meshes that sounds can emanate from.
Added Brightness setting to BackgroundPlanet shader.
Added Opacity setting to BackgroundPlanet shader.
Added Pairs public property to CwMaterialOverrides class.
This component allows you to render thousands of high quality background clouds with minimal memory usage, and minimal performance impact.
SHADER SETTINGS
_CW_Brightness = The final cloud color will be multiplied by this.
_CW_AlbedoShift = The cloud texture color hue will be rotated by this.
_CW_AlbedoTint = The cloud texture color will be multiplied/tinted by this color.
_CW_GridX = The cloud texture is split up into this many columns.
_CW_GridY = The cloud texture is split up into this many rows.
_CW_DetailTiling = The detail texture is tiled this many times across the clouds.
_CW_DetailJitter = The detail texture is randomly offset by up to this distance.
_CW_DetailExposure = The detail texture has this much influence over the cloud texture.
_CW_DetailPowerMin = The final cloud color will darkened by this amount in areas where the detail texture is dark.
_CW_DetailPowerMax = The final cloud color will darkened by this amount in areas where the detail texture is light.
The material used to render this component.
The random seed used when generating this component.
The amount of clouds that will be generated.
The size of each cloud in the sky.
Clouds will randomly be offset up to this distance so they appear less uniform.
This allows you to make this component override any settings of the base material.
This component allows you to render a planet in the background of your scene.
SHADER SETTINGS
_CW_Brightness = The final planet color will be multiplied by this.
_CW_Opacity = The final planet opacity will be multiplied by this.
_CW_SurfaceRadius = The radius of the planet relative to the radius of the planet mesh it's being rendered on. This is normally close to 1, but a lower value allows you to have a thicker atmosphere.
_CW_SurfaceWarp = This controls how much the planet texture is distorted toward the edges of the planet. A higher value can be used to give the illusion of a larger planet, or a more distant camera.
_CW_SurfaceTiling = The amount of times the planet texture is repeated across the planet mesh.
_CW_SurfaceScroll = The surface texture is scroll at this rate to give the illusion of rotation.
_CW_SurfaceEdge = The edge of the planet will fade out at this rate, to make the edge softer.
_CW_AlbedoShift = The planet texture color hue will be rotated by this amount.
_CW_AlbedoTint = The planet texture color will be tinted/multiplied by this color
_CW_LightingAngle = The light will hit the planet from this angle in radians.
_CW_LightingOffset = The light/dark side will be offset across the planet by this distance.
_CW_LightingSharpness = The light/dark side transition distance sharpness.
_CW_LightingColor = The planet surface color will transition toward this, before it goes to the dark side.
_CW_LightingPower = The above color will transition with this sharpness.
_CW_CloudsEdge = The clouds will disappear at this point toward the edge of the planet.
_CW_CloudsTiling = The cloud texture will be tiled this many times.
_CW_CloudsScroll = The cloud texture will scroll at this rate to give the illusion of rotation.
_CW_CloudsThreshold = This allows you to reduce the amount of visible clouds.
_CW_CloudsColor = The clouds will be given this color.
_CW_CloudsShadowColor = The cloud shadows will have this color.
_CW_CloudsShadowOffset = The cloud shadow position will be offset by this distance.
_CW_CloudsShadowBlur = The cloud shadow blur amount.
_CW_AtmosphereEdgeShift = The atmosphere transition will be shifted in/out by this distance.
_CW_AtmosphereFog = The atmosphere will be at least this thick at the center of the planet.
_CW_AtmosphereFogMul = The atmosphere's final thickness will be multiplied by this.
_CW_AtmosphereFogPower = The atmosphere's center to horizon thickness transition will be this sharp.
_CW_AtmosphereBrightness = The atmosphere color will be multiplied by this.
_CW_AtmosphereOuter = The atmosphere's horizon to outer color transition will be offset by this distance.
_CW_AtmosphereInnerColor = The atmosphere's color at the center of the planet.
_CW_AtmosphereOuterColor = The atmosphere's color at the horizon and into space.
The material used to render this component.
If this planet has lighting, should the lighting angle automatically change based on the scene light position?
The size of this planet in the sky.
This allows you to make this component override any settings of the base material.
This component allows you to render a skybox in the background of your scene.
SHADER SETTINGS
_CW_Color = The final ring color will be tinted by this color.
_CW_Brightness = The final ring color will be multiplied by this.
_CW_Opacity = The final ring opacity will be multiplied by this.
_CW_AlbedoShift = The ring texture colors will be hue rotated by this many radians.
_CW_ShadowAngle = The ring shadow will cast at this angle in radians.
_CW_ShadowCircle = The oblateness/roundness of the shadow shape.
_CW_ShadowRadius = The size of the shadow.
_CW_ShadowBlur = The penumbra thickness of the shadow.
_CW_ShadowPenumbraColor = The color of the penumbra.
_CW_ShadowUmbraColor = The color of the umbra.
The material used to render this component.
If this ring has lighting, should the lighting angle automatically change based on the scene light position?
The radius of the outer edge of the ring.
Thickness of the ring, where 0.1 is 10% of the radius.
The ring will be squashed by this 0..1 amount.
How much the foreground and background parts of the ring will differ in thickness.
This allows you to make this component override any settings of the base material.
This component allows you to render a skybox in the background of your scene.
SHADER SETTINGS
_CW_Brightness = The final brightness of the skybox will be multiplied by this.
_CW_DetailTiling = The detail texture will repeat across the sky this many times.
_CW_DetailStrength = The brightness of the detail texture will be multiplied by this.
_CW_DetailOffsetTiling = The detail offset texture will repeat across the sky this many times.
_CW_DetailOffsetStrength = The detail offset texture will influence the final sampling by this much.
_CW_DetailBands = The detail texture will be sliced into this many bands above and below the origin.
_CW_DetailJitter = The detail bands will each be offset by up to this random distance.
_CW_DetailTransition = The detail bands will fade into each other with this transition sharpness.
The material used to render this component.
The random seed used when generating this component.
The amount of rows in the generated cloud mesh.
This allows you to make this component override any settings of the base material.
This component allows you to render a single texture in the background of your scene (e.g. an image of the sun).
SHADER SETTINGS
_CW_Color = The texture color will be multiplied/tinted by this color.
_CW_Brightness = The final texture color will be multiplied by this.
_CW_AlbedoShift = The texture color hue will be rotated by this angle.
The material used to render this component.
The size of this texture in the sky.
The offset of this texture in the sky.
This background texture will use this texture rect from the Material's texture.
This allows you to make this component override any settings of the base material.
Each modular background component has the MaterialOverrides setting, which allows you to override a specific material setting.
These overrides are stored in the Pairs list, which you can manually modify if your know the material property name and type.
To find the types, you can configure your background component in the editor, and click the Material Overrides / Add button to see a list.
All material override property name and value pairs are stored here.
How do I add gas giants to my scene?
How do I add ring to my scene?
How do I add stars to my scene?