Best way to reference and save possibly thousands of prefabs (should they even be prefabs)?

I am making a 2D platformer surrounding a powerful level-editor. The player can place objects by toggling a button. The button holds a prefab of the desired object to place.

Each prefab (brick, dirt, player-spawn, damage-trigger, etc, think similar to Geometry Dash) has special properties, hence them being prefabs. Each one has different amounts and types of colliders.

202398-screenshot-20221129-102714.png

The problem: When I save, I save a prefabId from each object script. The prefabId relates to the index position of the prefabs I put in a reference array. At one point I’m going to have hundreds of prefabs in one array.

Is this sustainable?

Addressables seemed to be the best idea here