Model loads without textures and got HTTPS 403 forbidden error

PlayCanvas doesn’t support FBX at runtime.

Your best bet here is to use GLBs or upload the JSON files with the mapping files.

Eg, when you download JSON from the Editor, you can see the mapping.json file in the same directory as the model JSON file along side the material JSON files

image

The engine expects this layout in general.

All that said, GLBs as containers would be less messy and allow you to have textures and materials too.

Example: https://playcanvas.com/editor/scene/922242
Code: https://playcanvas.com/editor/code/655732?tabs=30952649

var LoadGlbExternalContainer = pc.createScript('loadGlbExternalContainer');
LoadGlbExternalContainer.attributes.add('url', {type: 'string'});

// initialize code called once per entity
LoadGlbExternalContainer.prototype.initialize = function() {
    var app = this.app;
    var self = this;

    app.assets.loadFromUrlAndFilename(self.url, null, "container", function (err, asset) {
        // Add the loaded scene to the hierarchy
        self.entity.addComponent('model', {
            asset: asset.resource.model
        });
                
        if (asset.resource.animations.length > 0) {
            self.entity.addComponent('animation', {
                assets: asset.resource.animations    
            });
        }
        
    });
};