Skip to content

SpaceKit FAQ

Which Unreal Engine versions are supported?

Section titled “Which Unreal Engine versions are supported?”

Unreal Engine 5.4, 5.5, 5.6, 5.7 and 5.8, on Windows, Mac and Linux. See Requirements.

Is SpaceKit a project template or a plugin?

Section titled “Is SpaceKit a project template or a plugin?”

It is a single self-contained Code Plugin. You enable it in your project under Edit → Plugins, and the playable game ships inside it as demo maps. Open /SpaceKit/Maps/MultiPlanetsMap and press Play to start the full loop. See Installation.

Why do I have to change renderer settings?

Section titled “Why do I have to change renderer settings?”

SpaceKit’s terrain shadowing and atmospheres depend on them, and the planet terrain relies on virtual shadow maps, which need Shader Model 6 (DirectX 12 on Windows). The plugin deliberately does not set them for you, because silently rewriting a project’s renderer configuration is not something a plugin should do. The full list is in Installation.

Yes. SpaceKit is built to replicate:

  • Gravity and movement. The gravity movement component is prediction-correct, so it works through Unreal’s standard client prediction.
  • Flight state. The ship replicates its flight state and fires multicast cues for effects.
  • Boarding. Boarding, leaving and opening the door go through server RPCs (Server_RequestBoard, Server_RequestLeave, Server_RequestOpenDoor), each validated and executed server-side by ASKStarshipPawn.
  • Dedicated servers. Terrain still generates collision, so server-side movement is authoritative.

Do I need to change my Character or PlayerController for passengers?

Section titled “Do I need to change my Character or PlayerController for passengers?”

No. A passenger cannot send RPCs to the ship directly, because the pilot owns it and an actor has only one owning connection. Instead, USKStarshipRiderComponent is added to the character at runtime when it overlaps a piloted ship, and the passenger’s requests route through their own character. Your Character and PlayerController classes stay as they are.

Yes. The ship’s door also works in zero-g, so you can board or leave it out in open space.

Yes. The SKStarship module has no compile-time dependency on SKPlanetGen. It reads gravity through standard engine APIs and binds to a gravity provider by reflection. In a level with no planet, the ship falls back to Unreal’s world gravity. The StarshipDemo map shows the ship on its own.

Can I have more than one planet in a level?

Section titled “Can I have more than one planet in a level?”

Yes. USKPlanetGenLODSubsystem picks the planet whose surface the player is nearest, streams full terrain for it, and renders every other planet as a low-poly far sphere. Only one chunk pool is ever live, which is what keeps many-planet levels affordable. The same subsystem drives the level’s single Sky Atmosphere from the active planet, so all worlds share it. MultiPlanetsMap shows a working setup.

Should I use ASKPlanetSunSky or the atmosphere asset?

Section titled “Should I use ASKPlanetSunSky or the atmosphere asset?”

Either works. ASKPlanetSunSky configures the sky from the actor itself. The other route is a plain ASKPlanet with Enable Atmosphere ticked and a USKPlanetGenAtmosphereAsset assigned, with USKPlanetGenLODSubsystem driving the sky. The demo maps use the subsystem route.

Do I need PlanetGen, Starship or GravityCore installed?

Section titled “Do I need PlanetGen, Starship or GravityCore installed?”

No. SpaceKit is self-contained and needs none of them. Its gravity is based on GravityCore and built into SpaceKit, so you don’t need to buy GravityCore as well.

Can I install SpaceKit next to PlanetGen and Starship?

Section titled “Can I install SpaceKit next to PlanetGen and Starship?”

Yes, all three can be installed at the same time. SpaceKit’s modules (SKPlanetGen, SKStarship), reflected types (ASKPlanet, ASKStarshipPawn and so on) and content root (/SpaceKit/) are namespaced, so nothing collides with PlanetGen, Starship, /PlanetGen/ or /Starship/.

The two copies are independent. ASKPlanet is not ACLMPlanet, and Blueprints written against one will not accept the other. Pick one set per project unless you have a specific reason not to.

Will a SpaceKit starship fly on a standalone PlanetGen planet?

Section titled “Will a SpaceKit starship fly on a standalone PlanetGen planet?”

Yes. The SpaceKit starship probes for a gravity provider by name, checking SpaceKit’s own first and then falling back to a standalone PlanetGen install.

Can I place hand-built content, such as a village or landing pad?

Section titled “Can I place hand-built content, such as a village or landing pad?”

Yes, with an exclusion volume (ASKPlanetGenExclusionVolume). It flattens the terrain into a level pad and suppresses foliage and grass. Tick Enable Exclusion Volumes on the planet, and click Align To Planet so the pad lies flat against the curved surface. See the quick start.

Can I spawn gameplay actors like ore, wildlife or enemies?

Section titled “Can I spawn gameplay actors like ore, wildlife or enemies?”

Yes, with the actor spawner. Create a USKPlanetGenSpawnerAsset, set its ActorClass and filters, and assign it on the planet. Placement is deterministic, so a given spot always spawns the same thing. See the quick start.

Yes. SpaceKit ships full C++ source for both modules, and everything meaningful is exposed to Blueprint and the Details panel: terrain shape, biome thresholds, atmosphere colours, flight tuning and gravity strength. The main classes and their Blueprint functions are listed in Features.

Does SpaceKit use any third-party libraries?

Section titled “Does SpaceKit use any third-party libraries?”

No. All noise algorithms (Perlin, Simplex, Worley, fBm) are original implementations of public-domain mathematics, with no GPL, LGPL or other copyleft dependencies. The character meshes, animations and rigs under Content/PlanetGen/Characters/Mannequins are Epic Games’ standard UE5 Mannequin content, redistributed under the Unreal Engine EULA.