Skip to content

Assets & Importing

Nodes do not silently create the images or sounds they need. That is intentional. You choose assets first, then point nodes at them from Properties.

This keeps larger projects easier to repair. If a background, sprite, portrait, or sound is missing, the warning points at the field that needs attention.

When the runtime is installed, imported runtime resources are copied into ReplicatedStorage.VisualNovelCreatorRuntime.StoryAssets. A StoryAssets key is the stable asset key VNC stores for one imported resource.

StoryAssets keys are exact and case-sensitive. Numeric names and any case of none overlap with asset-reference controls, so VNC rewrites a new import with one of those names to a safe category-prefixed key, such as background_123 or audio_none. The import confirmation shows the final key. Existing projects that already contain an ambiguous key remain compatible: VNC checks the exact registered key before interpreting a direct Roblox ID or none.

Background

Images used by Background and Overlay nodes, runtime menu presentation, and parallax background layers.

Sprite Image

Character sprite images. Importing one can also create a sprite asset entry for you.

Portrait

Small character portraits used by dialog and portrait links.

Audio

Music, ambience, one-shot sounds, and cue sounds.

Scroll Sound

Typing sound sets used while dialog text appears.

  1. Choose Story > Import to StoryAssets or open the Assets tab and choose Import to StoryAssets.
  2. Pick a category.
  3. Paste a Roblox asset ID, rbxassetid:// value, or Roblox asset URL.
  4. Optionally enter a name.
  5. Choose Import.

The importer accepts plain digits, rbxassetid://123456789, and Roblox URLs that contain an asset ID. If you leave the name blank, VNC tries to use the Roblox asset name. If that is unavailable, it creates a readable ID from the category and number.

VNC checks the Roblox asset before it creates a StoryAssets entry. Background, sprite, and portrait imports need a Roblox Image asset. Audio and scroll sound imports need a Roblox Audio asset. If the asset cannot be verified, is the wrong kind, is private, or cannot be loaded, the import stops with a warning instead of creating an invisible or silent asset.

If you are starting from a Decal, paste the decal’s image content ID instead of the Decal asset ID.

If the same Roblox content ID is already in that StoryAssets category, VNC reuses the existing entry instead of creating a duplicate.

Importing new StoryAssets content requires Studio undo history because the operation changes Instances in the place. If you disabled that setting, VNC leaves the import untouched and asks you to enable it first. The import, any matching sprite definition, and their undo or redo remain one Studio-recorded operation. Changing between Studio and plugin-local history resets the current undo/redo sequence so the two histories cannot replay different document states.

The Assets tab also shows StoryAssets Media for reusable image and audio media currently available in the installed runtime. Those rows refresh when runtime assets are created, renamed, edited, or deleted in Studio.

A sprite image is the raw image that can appear on screen. A sprite asset is the story-level character sprite that owns poses.

When you import a Sprite Image, VNC creates the image entry and can create a matching sprite asset entry. After that, Sprite Enter and Sprite Update nodes can choose the sprite asset, then choose a pose.

Parallax Background presets live with your project assets. From the Assets tab context menu, choose Add Parallax Background, then add layers under that preset and choose a Background Image for each layer.

Asset typeUsed by
BackgroundBackground nodes, Overlay image mode, Parallax Background layers, runtime menu imagery
Sprite ImageSprite asset poses
PortraitDialog portrait override, Character defaults, Portrait Link
AudioAudio nodes, SFX nodes, dialog cues, runtime menu sounds
Scroll SoundProject and Character defaults, Dialog override, Scroll Sound Link
Warning situationWhat to do
A Background node has no background assetImport a background, then select it in Background.
A Parallax Background has no layers or a layer has no imageAdd a layer, then choose a Background Image for the layer.
A Sprite Enter node has no spriteCreate or import a sprite asset, then select it in Sprite.
A pose is missingAdd the pose back under the sprite asset or choose a different pose.
An Audio or SFX node has no audioImport an audio asset, then select it in the node.
A portrait or scroll sound link points nowhereChoose an existing character and an existing portrait or scroll sound set.
Import says the asset is the wrong kindPick the matching import category, or use an Image asset for visual assets and Audio for sound assets.
Import says a Decal cannot be imported directlyUse the Decal’s image content ID instead.
Import says the asset could not be loadedCheck that the Roblox asset is public, approved, and usable in Studio.

The safest habit is to import and name assets before wiring many nodes to them. You can still sketch first, but clear the warnings before runtime testing.